]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Revert " Use -Wl,--no-relax rather than -mno-relax for uniformity."
[grub2.git] / ChangeLog
CommitLineData
0f1f95c7
VD
12014-09-21 Valentin Dornauer <valentin@unimplemented.org>
2
3 The AML parser implements only a small subset of possible AML
4 opcodes. On the Fujitsu Lifebook E744 this and another bug in
5 the parser (incorrect handling of TermArg data types) would lead
6 to the laptop not turning off (_S5 not found).
7
8 * grub-core/commands/acpihalt.c: Support OpAlias in the AML parser;
9 in skip_ext_op(), handle some Type2Opcodes more correctly (TermArgs
10 aren't always simply strings!); Add function to skip TermArgs
11 * include/grub/acpi.h: Add new opcodes
12
41c6f91f
VS
132014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * grub-core/normal/main.c: Don't drop to rescue console in
16 case of password-protected prompt and no menu entries.
17
7c378c39
VS
182014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * grub-core/commands/keylayouts.c: Ignore unknown keys.
21
2988a849
VS
222014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * grub-core/gmodule.pl.in: Accept newer binutils which output
25 empty column rather than 0x0.
26
0aece00c
MC
272014-09-21 Michael Chang <mchang@suse.com>
28
29 * grub-core/osdep/unix/config.c: Remove extraneous comma.
30
312014-09-21 Peter Jones <pjones@redhat.com>
631a8200
PJ
32
33 * grub-core/loader/arm/linux.c: Initialized initrd_ctx so
34 we don't free a random pointer from the stack.
35 * grub-core/loader/arm64/linux.c: Likewise.
36 * grub-core/loader/i386/linux.c: Likewise.
37 * grub-core/loader/i386/pc/linux.c: Likewise.
38 * grub-core/loader/ia64/efi/linux.c: Likewise.
39 * grub-core/loader/mips/linux.c: Likewise.
40 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
41 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
42
60049a0e
CW
432014-09-15 Khem Raj <raj.khem@gmail.com>
44
a276b840
KR
45 * grub-core/kern/emu/hostfs.c: use _DEFAULT_SOURCE in addition to
46 _BSD_SOURCE to avoid warnings under glibc 2.20+.
47
54bd9a06
MC
482014-09-08 Michael Chang <mchang@suse.com>
49
50 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Fix extent size
51 check; comparing &data->extent against addresses in the region it
52 points to is unpredictable.
53
2a5a532c
CW
542014-09-07 Colin Watson <cjwatson@ubuntu.com>
55
56 Support grub-emu on x32 (ILP32 but with x86-64 instruction set)
57
58 * configure.ac: Remove -m64 from checks for -mcmodel=large and
59 -mno-red-zone. These are always either unnecessary (x86_64-emu) or
60 already in TARGET_CFLAGS at this point, and they produce incorrect
61 results when building for x32.
62 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
63 pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
64 * include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
65 GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.
66
4d94b2db
CW
672014-09-07 Colin Watson <cjwatson@ubuntu.com>
68
69 * configure.ac: Remove several unnecessary semicolons.
70
1de3a480
CW
712014-08-25 Colin Watson <cjwatson@ubuntu.com>
72
73 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
74 Initialise pend to pacify GCC.
75
c291f47b
AB
762014-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
77
78 * util/grub-mkconfig.in: Fix typo (gettext_print instead of
79 gettext_printf).
80
3c058332
VS
812014-08-13 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * grub-core/term/at_keyboard.c: Retry probing keyboard if
84 scancode setup failed.
85
d1224d20
VS
862014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * grub-core/kern/disk_common.c: Clump disk size to 1EiB.
89
0af3ae2d
VS
902014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Add
93 safety to avoid triggerring VirtualBox bug.
94
33f6ce67
VS
952014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * grub-core/fs/cbfs.c: Don't probe disks of unknow size.
98
79c80b06
VS
99 Fixes hang on virtualbox.
100
0901e785
CW
1012014-07-08 Colin Watson <cjwatson@ubuntu.com>
102
103 * util/grub.d/10_hurd.in: Make kernel list progression not fail on
104 kernels whose paths contain regex metacharacters.
105 * util/grub.d/10_kfreebsd.in: Likewise.
106 * util/grub.d/10_linux.in: Likewise.
107 * util/grub.d/20_linux_xen.in: Likewise.
108
109 Reported by: Heimo Stranner.
110
4250f552
CW
1112014-06-26 Colin Watson <cjwatson@ubuntu.com>
112
113 * docs/grub-dev.texi (Finding your way around): The build system no
114 longer uses AutoGen directly.
115
1f6af2a9
РП
1162014-06-21 Роман Пехов <roman_pekhov>
117
118 * grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
119
fa335308
GW
1202014-06-21 Glenn Washburn <development@efficientek.com>
121
122 * util/grub-install.c: Fix handling of --disk-module.
123
15bd333e
SR
1242014-06-21 Stephane Rochoy <sheda>
125
126 * grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
127 EFI system table.
128
3f3ec8ef
SR
1292014-06-21 Stephane Rochoy <sheda>
130
131 * grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
132 EFI system table physical address.
133
87de66d9
TW
1342014-06-21 Trevor Woerner <trevor.woerner@linaro.org>
135
136 * util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.
137
2c2c5c72
VS
1382014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
141
480c8985
VS
1422014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
145 check.
146
4b8b9135
VS
1472014-04-20 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.
150
151 Reported by: Yves Blusseau <blusseau@zetam.org>.
152
5a6db38d
PK
1532014-04-20 Piotr Krysiuk <piotras@gmail.com>
154
155 * grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
156 GDT in conventional memory.
157
3a310e84
CW
1582014-04-10 Colin Watson <cjwatson@ubuntu.com>
159
160 * util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
161 UUID. Other parts of grub-mkconfig tolerate these, they were
162 previously allowed here up to commit
163 55e706c918922def17f5012c23cfe88c4c645208, and they can arise in
164 practice when the system has active LVM snapshots.
165 Fixes Ubuntu bug #1287436.
166
c4badfe8
CW
1672014-04-10 Colin Watson <cjwatson@ubuntu.com>
168
169 * grub-core/disk/lvm.c (grub_lvm_detect): Search for
170 "logical_volumes" block a little more accurately.
171
a72fc329
VS
1722014-04-06 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/lib/syslinux_parse.c: Fix timeout quoting.
175
6f6d4aa0
VS
1762014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * include/grub/libgcc.h: Remove ctzsi2 and ctzdi2. They're no longer
179 pulled from libgcc.
180
8063ce19
VS
1812014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
182
183 Replace few instances of memcmp/memcpy in the code that should be
184 grub_memcmp/grub_memcpy.
185
97060667
VS
1862014-04-03 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe
189 device names.
190
4afd0107
TF
1912014-03-31 Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
192
193 btrfs: fix get_root key comparison failures due to endianness
194
195 * grub-core/fs/btrfs.c (get_root): Convert
196 GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.
197
24024dac
CW
1982014-03-31 Colin Watson <cjwatson@ubuntu.com>
199
200 Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.
201
202 Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
203 no longer to be forgiving of trailing spaces on grub-probe output
204 lines, which among other things means that util/grub.d/10_linux.in
205 no longer detects LVM. To fix this, make grub-probe's output
206 delimiting more consistent. As a bonus, this improves the coverage
207 of the -0 option.
208
209 Fixes Debian bug #735935.
210
211 * grub-core/disk/cryptodisk.c
212 (grub_util_cryptodisk_get_abstraction): Add a user-data argument.
213 * grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
214 Likewise.
215 * include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
216 Update prototype.
217 * include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
218 * util/grub-install.c (push_partmap_module, push_cryptodisk_module,
219 probe_mods): Adjust for extra user-data arguments.
220 * util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
221 probe_abstraction): Use configured delimiter. Update callers.
222
9b35fe81
CW
2232014-03-31 Colin Watson <cjwatson@ubuntu.com>
224
225 * util/grub-probe,c (options): Make -0 work again (broken by
226 conversion to argp).
227 (main): Simplify logic.
228
46b74dd3
VS
2292014-03-26 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * grub-core/lib/relocator.c: Fix the case when end of leftover is used.
232
68f17b2b
FW
2332014-03-26 Fu Wei <fu.wei@linaro.org>
234
235 * grub-core/loader/arm64/linux.c: Remove redundant "0x".
236
86402b4e
VS
2372014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
240 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.
241
242 Suggested by: Markus Müller.
243
bec35dad
VS
2442014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
247 if E820 failed to return any regions.
248
dfc5ccfa
VS
2492014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
252 tables for low memory calculations.
253
4a70fed8
VS
2542014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
257 location to 640K.
258
f94b2b4e
VS
2592014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
262 region.
263
d0949e37
VS
2642014-02-20 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
267 exclusively.
268
9585647a
PFS
2692014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
270
271 Add bootpath parser for open firmware.
272
273 It enables net boot even when there is no bootp/dhcp server.
274
275 * grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath
276 and call it at grub_ieee1275_net_config_real.
277 * grub-core/kern/ieee1275/init.c: Add bootpath to
278 grub_ieee1275_net_config.
279 * include/grub/ieee1275/ieee1275.h: Likewise.
280
281
e4dbf247
PFS
2822014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
283
284 Add grub_env_set_net_property function.
285
286 * grub-core/net/bootp.c: Remove set_env_limn_ro.
287 * grub-core/net/net.c: Add grub_env_set_net_property.
288 * include/grub/net.h: Likewise.
289
006c78f3
VS
2902014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * util/grub-mkrescue.c: Build fix for argp.h with older gcc.
293
511ece7c
VS
2942014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * util/grub-mkfont.c: Build fix for argp.h with older gcc.
297
9abbaae7
VS
2982014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
301 7 seconds to recover if last poweroff was bad.
302
d6b94c5e
VS
3032014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/disk/ahci.c: Properly handle transactions with no
306 transferred data.
307
07ea8daa
VS
3082014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/disk/ahci.c: Add safety cleanups.
311
3142b2fe
VS
3122014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/disk/ahci.c: Allocate and clean space for all possible 32
315 slots to avoid pointing to uninited area.
316
4686e163
VS
3172014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * grub-core/disk/ahci.c: Do not enable I/O decoding and keep
320 enabling busmaster for the end.
321
ba424f37
VS
3222014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * util/grub-mkfont.c: Downgrade warnings about unhandled features
325 to debug.
326
3beabdc8 3272014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7f64fb59
VS
328
329 * grub-core/term/at_keyboard.c: Tolerate missing keyboard.
330
ba584da1
PFS
3312014-01-29 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
332
333 * .gitignore: add missing files and .exe variants.
334
35f2d96c
MG
3352014-01-26 Mike Gilbert <floppym@gentoo.org>
336
337 grub-install: support for partitioned partx loop devices.
338
339 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
340 /dev/loopX as being the parent of /dev/loopXpY.
341
9afe2053
VS
3422014-01-26 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * grub-core/term/serial.c (grub_serial_register): Fix invalid free.
345 Ensure that pointers are inited to NULL and that pointers are not
346 accessed after free.
5ae584c0
AB
347
3482014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
349
350 * include/grub/crypto.h: Replace __attribute__ ((format (printf)) with
351 __attribute__ ((format (__printf__)) to fix compilation under MinGW-w64.
352 * include/grub/emu/misc.h: ... and here.
353 * include/grub/err.h: ... and here.
354 * util/import_gcry.py: ... and here (in files g10lib.h).
355
1440b7eb
AB
3562014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
357
358 * util/grub-mkimage.c: Make prefix argument mandatory.
359
61c8482b
VS
3602014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
361
362 Fix several translatable strings.
363
364 Suggested by: D. Prévot.
365
95cd131e
VS
3662014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * util/grub-install.c: List available targets.
369
d0805930
CW
3702014-01-23 Colin Watson <cjwatson@ubuntu.com>
371
372 * util/grub-install.c (write_to_disk): Add an info message.
373
eec4237a
AB
3742014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
375
376 * Makefile.am: Allow adding extra files to generated Windows ZIP
377 archive by setting GRUB_WINDOWS_EXTRA_DIST.
378
36387ece
AB
3792014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
380
381 * configure.ac: Look for DejaVuSans also in /usr/share/fonts/truetype.
443b3222 382 Show detected font path in summary.
36387ece 383
6f65e36c
PFS
3842014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
385
386 * grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
387 interval gradually.
388 * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
389 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
390 * grub-core/net/tftp.c (tftp_open): Likewise.
391 * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
392
d99d2f84
PFS
3932014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
394
395 * grub-core/net/net.c (receive_packets): Change stop condition to avoid
396 infinite loops.
397
398 In net/net.c there is a while (1) that only exits if there is a stop
399 condition and more then 10 packages or if there is no package received.
400
401 If GRUB is idle and enter in this loop, the only condition to leave is
402 if it doesn't have incoming packages. In a network with heavy traffic
403 this never happens.
404
049f6382
CW
4052014-01-19 Colin Watson <cjwatson@ubuntu.com>
406
407 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
408 EPERM when modifying kern.geom.debugflags. It is only a problem for
409 such things as installing GRUB to the MBR, in which case there'll be
410 an error later anyway, not for opening files during tests.
411
01504547
AB
4122014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
413
414 * grub-core/Makefile.am: Build grub_emu_init.[ch] from MODULE_FILES
415 instead of MOD_FILES.
416 * grub-core/genemuinit.sh: Simplify stripping of suffix so it works
417 both with and without .exe.
418 * grub-core/genemuinitheader.sh: Same.
419
b204b718
VS
4202014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * util/grub-install.c: Fix a typo.
423
41155a57
VS
4242014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * grub-core/normal/main.c (read_config_file): Buffer config file.
427 Reduces boot time.
428
e0a85094
AB
4292014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
430
431 * acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
432 symbolic link to directory. It fails in Msys shell on Windows 2003.
433
0b47c57a
VS
4342014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * Makefile.am (default_payload.elf): Add modules
437 multiboot cbmemc linux16 gzio echo help.
438
4392014-01-18 Mike Gilbert <floppym@gentoo.org>
6ba98355
MG
440
441 * Makefile.util.def: Link grub-ofpathname with zfs libs.
442
6c519b5c
VS
4432014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * grub-core/commands/macbless.c: Rename FILE and DIR to avoid
446 conflicts.
447
448 Reported by: Andrey Borzenkov.
449
f371dd5d
AB
4502014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
451
452 * include/grub/misc.h: Move macros for compiler features to ...
453 * include/grub/compiler.h: ... new file.
454 * include/grub/list.h: Include <grub/compiler.h> instead of <grub/misc.h>.
455 * grub-core/commands/fileXX.c: Include <grub/misc.h>.
456 * grub-core/efiemu/prepare.c: Include <grub/misc.h>.
457 * grub-core/loader/i386/xen_file.c: Include <grub/misc.h>.
458 * grub-core/loader/i386/xen_fileXX.c: Include <grub/misc.h>.
459 * grub-core/video/capture.c: Include <grub/misc.h>.
460 * include/grub/command.h: Include <grub/misc.h>.
461 * include/grub/dl.h: Include <grub/misc.h>.
462 * include/grub/procfs.h: Include <grub/misc.h>.
463
1ecf96fc
AB
4642014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
465
466 * configure.ac: Add support for BUILD_EXEEXT and use it ...
467 * Makefile.am: ... here.
468 * Makefile.util.def: ... and here.
469 * grub-core/Makefile.am: ... and here.
470
5ef569df
AB
4712014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
472
473 * include/grub/osdep/hostfile_windows.h: Use _W64 instead of
474 FILE_OFFSET_BITS to differentiate between native MinGW and Mingw W64.
475
3abb9563
VS
4762014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/term/terminfo.c: Recognize keys F1-F12.
479
9b9c4686 4802014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
dcecae1a
AB
481
482 * configure.ac: Add support for BUILD_LDFLAGS.
483 * Makefile.am: Use BUILD_LDFLAGS for build time programs here ...
484 * grub-core/Makefile.am: ... and here.
485 * INSTALL: Mention BUILD_LDFLAGS.
486
ae80f312
VS
4872014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * util/grub-mount.c: Extend GCC warning workaround to grub-mount.
490
7e7293d7
VS
4912014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * grub-core/kern/efi/efi.c: Ensure that the result starts with /
494 and has no //.
495
5acc8020
VS
4962014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * NEWS: Add few missing entries.
499
ff66b8e7
CW
5002014-01-17 Colin Watson <cjwatson@ubuntu.com>
501
502 * util/grub.d/00_header.in (make_timeout): Use && rather than test
503 -a.
504 * util/grub.d/10_windows.in: Likewise.
505 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): Use || rather
506 than test -o.
507 * util/grub.d/30_os-prober.in: Use && rather than test -a, and ||
508 rather than test -o.
509
5102014-01-17 Colin Watson <cjwatson@ubuntu.com>
09a836e5
CW
511
512 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
513 redundant preprocessor conditional.
514
ccd21a65
CW
5152014-01-08 Colin Watson <cjwatson@ubuntu.com>
516
517 * Makefile.util.def (grub-macbless): Change mansection to 8.
518
4d21c101
LL
5192014-01-07 Leif Lindholm <leif.lindholm@linaro.org>
520
521 * grub-core/loader/arm64/linux.c: correctly set device path end length.
522
e7cfa8d5
AB
5232014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
524
525 * util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
526 arm64 to comply with EFI specification. Also use grubaa64.efi for
527 consistency.
528 * util/grub-mkrescue.c: Change to use bootaa64.efi too.
529
94cee4a4
AB
5302014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
531
532 * include/grub/osdep/hostfile_windows.h: Do not redefine fseeko/ftello
533 on MinGW-64 when compiling for 32 bits.
534
668add25
AB
5352013-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
536
537 * grub-core/Makefile.core.def: strip .eh_frame section for arm64-efi.
538
0e309454
VS
5392013-12-30 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * NEWS: Add few missing entries. Correct existing ones.
542
093dec73
VS
5432013-12-28 Vladimir Serbinenko <phcoder@gmail.com>
544
545 Don't abort() on unavailable coreboot tables if not running on coreboot.
546
989af025
AB
5472013-12-28 Andrey Borzenkov <arvidjaar@gmail.com>
548
549 * grub-core/kern/emu/misc.c: Remove unused error.h; fixes compilation
550 on mingw.
551
8442d3e9
CW
5522013-12-28 Colin Watson <cjwatson@ubuntu.com>
553
554 * NEWS: The cmosclean command in fact dates back to 1.99. Remove
555 mention of it from 2.02.
556
645ff636 5572013-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5bda44d7
VS
558
559 * grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
560
561 As these functions are used on pre-ARMv6 CPUs as well we don't want
562 to make assembler assume that architecture is higher than default one.
563
30a33846
CW
5642013-12-27 Colin Watson <cjwatson@ubuntu.com>
565
566 * NEWS: First draft of 2.02 entry.
567
51f941a0
CW
5682013-12-27 Colin Watson <cjwatson@ubuntu.com>
569
570 * INSTALL (Cross-compiling the GRUB): Fix some spelling mistakes.
571 * docs/grub.texi (Getting the source code): Likewise.
572
a6e7719b
AB
5732013-12-25 Andrey Borzenkov <arvidjaar@gmail.com>
574
575 * grub-core/osdep/windows/platform.c (get_platform): Fix EFI
576 detection.
577
e8f07821
VS
5782013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * configure.ac: Set version to 2.02~beta2.
581
dc3286ad
VS
5822013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
585
46f8d358
AB
5862013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
587
588 * util/grub-probe.c: Improve help message and simplify list handling.
589
09c47900
VS
5902013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
591
592 Fix buffer overflow in grub_efi_print_device_path.
593
4d6c6953
VS
5942013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
595
596 Show SATA device path.
597
faf4a65e
VS
5982013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
599
600 Revert grub-file usage in grub-mkconfig.
601
e5fa26e5
VS
6022013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
603
604 Make newly-created files other than grub.cfg world-readable.
605
569766e4
AB
6062013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
607
608 * util/grub.d/00_header.in: Improve compatibility with old config.
609
41272068
VS
6102013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
611
612 Make rijndael.c respect aliasing rules.
613
614 Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
615
f7c7c4d4
VS
6162013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
617
618 Make grub_util_device_is_mapped_stat available in grub-emu core.
619
57bc5d43
VS
6202013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
621
622 Add -Qn to TARGET_CFLAGS if it's supported.
623 Fixes compilation on cygwin.
624
625 Reported by: Andrey Borzenkov.
626 Suggested by: Andrey Borzenkov.
627
6a7957f9
VS
6282013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
629
630 Save TARGET_CC version in modinfo.sh.
631
632 Suggested by: Andrey Borzenkov.
633
e88f0420
VS
6342013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
635
636 Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
637 follow the same algorithm to avoid method mismatch. Don't assume
638 DMRAID- UUID to mean full disk but instead check that mapping is linear.
639
da986226
VS
6402013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
641
642 Declare GRUB_EFI_VENDOR_APPLE_GUID.
643
fba31b5f
VS
6442013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
645
646 Dump type and vendor specific data when printing device path.
647
3d369a01
CW
6482013-12-23 Colin Watson <cjwatson@debian.org>
649
650 Update some documentation to refer to Git rather than Bazaar.
651
652 * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
653 than Bazaar.
654 * po/README: Likewise. Fix spelling mistake.
655
5b83ef97
CW
6562013-12-23 Colin Watson <cjwatson@ubuntu.com>
657
658 Don't distribute config.h.
659
660 * Makefile.am (platform_HEADERS): Move to ...
661 (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
662 failure when building from a distributed tarball.
663
16f7455b
CW
6642013-12-23 Colin Watson <cjwatson@ubuntu.com>
665
666 * configure.ac: Fix spelling.
667 * grub-core/commands/parttool.c: Fix grammar.
668 * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
669 Embedding Partition".
670
808e97c4
VS
6712013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
672
673 ARM64 support for grub-mkrescue.
674
e388db90
VS
6752013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
676
677 Install modinfo.sh to keep build information around.
678
cef39403
VS
6792013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * grub-core/modinfo.sh.in: Add build config information.
682
a4d61002
VS
6832013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
684
685 ARM64 grub-file and grub-mkconfig support.
686
0c930a84
VS
6872013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
688
689 Remove leftover options defines.
690
74fa9ac1
VS
6912013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
694
62956fe7
VS
6952013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * grub-core/loader/arm64/linux.c: Add missing bracket.
698
26063216
VS
6992013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
700
701 Add arm64-efi recognition to grub-file.
702
4cd0b55f
VS
7032013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
704
705 Fix ia64-efi recognition in grub-file.
706
95b56e3a
VS
7072013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
708
709 Recognize raspberry pi kernel in grub-file.
710
bbc52c22
VS
7112013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
712
713 Enable cache on ARM U-Boot port.
714
715 Without it the port is reidiculously slow.
716
943981ff
VS
7172013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
718
719 Fix ARM cache maintainance.
720
721 More code was converted from ASM to C for easier handling.
722
adabfb54
VS
7232013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
726 algorithm on v5.
727
728 Suggested by: Leif Lindholm.
729
77ec462a
AB
7302013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
731
732 * util/grub-mkconfig.in: Fix Xen platform conditions.
733
3bf2db89
AB
7342013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
735
736 * util/grub-mkrescue.c: Split single help message string in several
737 strings used in previous shell version.
738
30a9ab95
LL
7392013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
740
741 Add arm64 Linux loader.
742
c415eaa9
LL
7432013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
744
745 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
746
313fb3ce
VS
7472013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
748
749 Add module loading and parsing boot time checkpoints.
750
37f617c0
VS
7512013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
754 platforms.
755
3deedfc0
LW
7562013-12-22 Lars Wendler <polynomial-c@gentoo.org>
757
758 * util/grub-mkconfig.in: Skip non-executable files.
759
5ad9f728
VS
7602013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
761
762 Workaround buggy timer in raspberry pie by using our own timer
763 implementation.
764
eeb84997
VS
7652013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
768 Increase to 16 MiB to allow loading the whole memdisk.
769
0d8b81f8
VS
7702013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
771
772 Fix ARM Linux Loader on non-FDT platforms.
773
bf082198
VS
7742013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * configure.ac: Choose link format based on host_os on emu.
777
0b602bf9
VS
7782013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
781
96650a82
VS
7822013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * grub-core/kern/emu/main.c: Build fix for emu.
785
ca3e2088
VS
7862013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
787
788 Build fixes for argp.h with older gcc.
789
27db1a9b
VS
7902013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
793 in strings.
794
795 Suggested by: David Prévot.
796
8a913e66
VS
7972013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
800
ae558c2c
VS
8012013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
802
803 Enable -Wformat=2 if it's supported.
804
bbac6789
VS
8052013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
808 -Wmissing-declarations if supported.
809
ab216512
VS
8102013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
813 u32 as both HFS and HFS+ have 32-bit inodes.
814
0d4aa91d
VS
8152013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * include/grub/misc.h (grub_strtol): Fix overflow.
818
a997af68
VS
8192013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
822 as return type in both conditionals.
823
36bcaf29
VS
8242013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
827 to use uint8_t for color.
828
74763e96
VS
8292013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * util/misc.c (grub_util_get_image_size): Check for overflow.
832
80b29fc9
VS
8332013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
836 for size.
837
6e327fcd
VS
8382013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
841 for pointer difference.
842
62ce03cf
VS
8432013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * util/import_gcry.py: Skip sample keys.
846
f4d70fd0
VS
8472013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
850
93bf55e6
VS
8512013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * configure.ac: Remove duplicate warning arguments.
854
579ee114
VS
8552013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
856
857 Add missing static qualifiers.
858
ee5283d6
VS
8592013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
860
861 Add missing includes.
862
5dbde526
VS
8632013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
864
865 Inline printf templates when possible to enable format checking.
866
d88ae4f0
VS
8672013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * include/grub/crypto.h: Don't discard const attribute.
870
17b43559
VS
8712013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
874 was intended.
875
76a2a430
VS
8762013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/lib/crypto.c: Don't discard const attribute.
879
0d26164e
VS
8802013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/lib/disk.c: Fix potential overflow.
883
2622b1e8
VS
8842013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * grub-core/lib/arg.c: Don't discard const attribute.
887
05126706
VS
8882013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * grub-core/kern/dl.c: Don't discard const attribute.
891
2f9c4804
VS
8922013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * grub-core/kern/disk.c: Fix potential overflow.
895
0438ebf1
VS
8962013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * conf/Makefile.common: Don't include non-existing directory
899 grub-core/lib/libgcrypt-grub/include.
900
065adc34
VS
9012013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
902
903 Clarify several translatable messages.
904
496a6b30
DP
9052013-12-21 David Prévot <david@tilapin.org>
906
907 Correct some translatable strings.
908
971038be
CW
9092013-12-21 Colin Watson <cjwatson@ubuntu.com>
910
911 * util/grub-mkrescue.c: Rephrase mkrescue description.
912
bfdfeb25
VS
9132013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
9142013-12-21 Colin Watson <cjwatson@ubuntu.com>
915
916 Clarify several translatable messages.
917
d642d761
CW
9182013-12-20 Colin Watson <cjwatson@ubuntu.com>
919
920 Be more verbose about some configure failures.
921
3bc1b2da
CW
9222013-12-20 Colin Watson <cjwatson@ubuntu.com>
923
924 Fix various build problems on GNU/Hurd.
925
926 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
927 !defined (__GNU__).
928 (xgetcwd): Likewise.
929 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
930 [__GNU__]: Add prototype.
931 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
932 long int using %ld rather than %d.
933
871aa709
VS
9342013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
935
936 * util/grub-install.c: Inform user about install platform.
937
2fa5a58c
VS
9382013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * configure.ac: Set version to 2.02~beta1.
941
ee281fd0
AP
9422013-12-18 Allen Pais <allen.pais@oracle.com>
9432013-12-18 Bob Picco <bob.picco@oracle.com>
944
945 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
946
2e238b37
VS
9472013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
948
949 Make grub_zlib_decompress handle incomplete chunks.
950
951 Fixes squash4.
952
2984035e
VS
9532013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
956 on i386-multiboot.
957
b9f03772
AN
9582013-12-18 Aleš Nesrsta <starous@volny.cz>
959
960 * grub-core/disk/usbms.c: Retry on unknown errors.
961 Reuse the same tag on retries.
962
e3ef0d30
AN
9632013-12-18 Aleš Nesrsta <starous@volny.cz>
964
965 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
966
967 Avoid confusing them with already completed transfers.
968
72c9a507
VS
9692013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
970
971 Remove xen VFB.
972
973 Due to XEN bug it prevents Linux boot. Remove it at least, until
974 workaround is found.
975
84455670
VS
9762013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * po/exclude.pot: Add 2 missing excludes.
979
64dd5fdc
VS
9802013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
981
982 Add missing license section in macbless.mod and macho.mod.
983
a29f317a
VS
9842013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
985
986 Allow compilation without thumb-interwork as long as no thumb is
987 involved or only thumb2 is used.
988
113f7869
VS
9892013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * INSTALL: Update comment as to why sparc64 clang isn't usable.
992
eba2afed
VS
9932013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
994
995 Add __attribute__ ((sysv_abi)) only if it's really needed.
996
997 Some compilers don't support it.
998
1962ed95
VS
9992013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
1002
c2be6f7e
VS
10032013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 Remove -Wold-style-definition.
1006
1007 Not very useful and interaction of it with regexp depends on GCC
1008 version.
1009
7a7f5238
VS
10102013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 Make grub_util_get_windows_path_real static.
1013
9246d5c8
VS
10142013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * grub-core/commands/fileXX.c: Silence cast-align.
1017 * grub-core/loader/i386/xen_fileXX.c: Likewise.
1018
b3aea1bc
VS
10192013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
1022 rather than LL suffix.
1023
bc8dd119
VS
10242013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1025
e8c360ca
VS
1026 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
1027
10282013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * grub-core/loader/arm/linux.c: Use common initrd functions.
bc8dd119 1031
57a691b7
VS
10322013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 Decrease number of strings to translate.
1035
74fa9417
VS
10362013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
1039
636977b0
VS
10402013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 Mark strings for translation and add remaining ones to exclude list.
1043
ee4450eb
VS
10442013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * util/grub-file.c (main): Fix sizeof usage.
1047
10482013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
a43b3e5d
VS
1049
1050 Silence spurious warning.
1051
ee4450eb 10522013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
81294aff
VS
1053
1054 Remove check_nt_hiberfil as it's been superseeded by file command.
1055
a99c0a32
VS
10562013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * docs/osdetect.cfg: Add isolinux config to detected OSes.
1059
8f5add13
VS
10602013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 Implement syslinux parser.
1063
8ff35d0a
VS
10642013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
1067
ba144760
VS
10682013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 Support cpuid --pae.
1071
daaa89db
VS
10722013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 Use AT keyboard on Yeeloong 3A.
1075
25a7863d
VS
10762013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 Add Yeeloong 3A reboot and halt.
1079
184c61dd
VS
10802013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 Add Radeon Yeeloong 3A support.
1083
fd4650a5
VS
10842013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 Add bonito 3A support.
1087
3e88fbfa
VS
10882013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
1091
1123bed9
VS
10922013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
1095
ebda165f
VS
10962013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/loader/macho.c: Fix compilation on non-i386.
1099
fe7c20bf
VS
11002013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Add missing format_arg attribute to check that printf with translated
1103 messages has proper arguments.
1104
f4dab3d1
VS
11052013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 Use grub_xasprintf to format translated error messages containing
1108 64-bit quantity.
1109
24d5934d
JM
11102013-12-17 Jon McCune <jonmccune@google.com>
1111
1112 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
1113
d6c2782a
VS
11142013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 Unify message for unsupported relocation.
1117
50d2e959
VS
11182013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 Mark miscompile error for translation.
1121
18e76955
VS
11222013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 Use %I64 and not %ll when using OS printf if compiling for windows.
1125
d218ec97
VS
11262013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 Update Mac code to match new register_efi prototype.
1129
b8765fa0
VS
11302013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 Implement better integration with Mac firmware.
1133
1f032575
VS
11342013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/loader/multiboot_mbi2.c: Implement special value for
1137 load_addr.
1138
14829755
VS
11392013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 Include serial module in default_payload.elf.
1142
d45067a2
VS
11432013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 Add explicit thumb interwork bx in asm files.
1146
1147 Shouldn't matter for armv >= 5 but let's be safe.
1148
30861754
VS
11492013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 Implement Truecrypt ISO loader.
1152
e14d409b
VS
11532013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/lib/arg.c: Ensure at least a single space between commands.
1156
ec824e0f
VS
11572013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 Implement grub_file tool and use it to implement generating of config
1160 in separate root.
1161
296f7606
VS
11622013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 Change to v1 xen grants.
1165
2c384f1e
VS
11662013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
1169
1170 GRUB relied on %ebx being preserved across hypercall which isn't true.
1171
d16ff589
VS
11722013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
1175
1176 GRUB relied on %rdi being preserved across hypercall which isn't true.
1177
71669c3b
VS
11782013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 Implement XEN VFB support.
1181
60d1dd3d
VS
11822013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 Remove grub_bios_interrupt on coreboot.
1185
1186 It's not used currently and cannot be used safely currently.
1187
a8201050
VS
11882013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 Update exclude.pot and mark few strings for translation.
1191
6cc89597
VS
11922013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
1195
1196 Reported by: Jon McCune
1197
840a2c05
AB
11982013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1199
1200 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1201 Add verbose information which firmware directories were tried.
1202
35248820
AB
12032013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1204
1205 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
1206 function to optionally redirect all three standard descriptors.
1207 Redefine grub_util_exec, grub_util_exec_redirect and
1208 grub_util_exec_redirect_null to use it.
1209 * include/grub/emu/exec.h: Define it.
1210 * include/grub/osdep/exec_unix.h: Delete, it is unused.
1211 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1212 Use grub_util_exec_redirect_all to redirect error to NULL.
1213
2a123f4c
VS
12142013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/tests/sleep_test.c: Silence spurious warning.
1217
316c8d9a
VS
12182013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
1221 linker trying to "fixup" the code.
1222
8fcce8d5
VS
12232013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * grub-core/kern/x86_64/xen/startup.S: Align stack.
1226
6f1f6a0c
VS
12272013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 Add support for converting PE+ to Elf64.
1230
66a07ce2
VS
12312013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
1234
cc6fb517
VS
12352013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 Remove practice of assigning random const pointers to device id.
1238
1239 This is not required as cache code already checks driver id as well.
1240
f009f07c
VS
12412013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
1244 with mingw.
1245
9fdec226
VS
12462013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * include/grub/efi/api.h: Don't use call wrappers when compiled with
1249 mingw or cygwin as API already matches.
1250
d87cb3ae
VS
12512013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
1254
3e38c31a
VS
12552013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
1258 not on long.
1259
f4171ebd
VS
12602013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 Handle X86_64_PC64 relocation.
1263
1264 Those are generated by some cygwin compilers.
1265
252a289c
VS
12662013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 Determine the need for mingw-related stubs at compile time rather than
1269 using not very significant $target_os.
1270
23d2abc3
VS
12712013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
1274 may not work with ELF.
1275
4f979ccb
VS
12762013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 Use unix functions for temporary files and special files on cygwin.
1279
37378f74
VS
12802013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 Define functions explicitly rather than using --defsym in tests
1283 whenever possible. Respect locality in remaining cases.
1284
6a09d83e
VS
12852013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
1288
e477187b
AB
12892013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
1290
1291 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
1292 unlikely errors when getting EFI variables and make exhaustive search
1293 for all BootNNNN variables to find matching one.
1294
80b865bd
IC
12952013-12-15 Ian Campbell <ijc@hellion.org.uk>
1296
1297 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
1298
04b02857
VS
12992013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 New functional test for sleep function.
1302
1303 This test allows to check sleep without qemu. Keep qemu version as
1304 well as functional test won't notice if all clocks are going too fast
1305 or too slow.
1306
39711101
VS
13072013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 Add explicit sysv_abi on amd64 asm routines.
1310
d99af4f0
VS
13112013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
1314 num_table_entries.
1315
71043684
VS
13162013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
1319 functions.
1320
111bf5db
VS
13212013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
1324 appropriate.
1325
24ca71c9
VS
13262013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
1329
48ba5c0c
VS
13302013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
1333 appropriate.
1334
8ae67045
VS
13352013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
1338
1339 In case of quick removal of loopback and adding another one it may
1340 get same ID, confusing the cache system.
1341
ed559310
VS
13422013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
1345 appropriate.
1346
8fa26279
VS
13472013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
1350 than converting to long.
1351
6f5f3337
VS
13522013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
1355
e7c418c5
VS
13562013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
1359 than almost useless pointer.
1360
7e47e27b
VS
13612013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 Add gcc_struct to all packed structures when compiling with mingw.
1364
1365 Just "packed" doesn't always pack the way we expect.
1366
ae8159b9
VS
13672013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
1370
74e7ad66
VS
13712013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * util/grub-pe2elf.c: Fix handling of .bss.
1374
814442ba
VS
13752013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 Implement windows flavour of EFI install routines.
1378
5f5bb107
VS
13792013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
1382
a24725cc
VS
13832013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 Change grub_install_register_efi interface to pass GRUB device.
1386
1387 This allows grub_install_register_efi to request partition info
1388 directly.
1389
38933cee
VS
13902013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
1393
6d3cfe50
VS
13942013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 Do not use TCHAR string functions as they are not available on cygwin.
1397
4bad23a1
VS
13982013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 Workaround windows bug when querying EFI system partition parameters.
1401
6a5fe132
VS
14022013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
1405 by using bitfields.
1406
bc8fcf4b
VS
14072013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
1410
60b967be
VS
14112013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 Make i386-* other than i386-pc compileable under cygwin.
1414
6dc33377
VS
14152013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 Fix definition of grub_efi_hard_drive_device_path. Take care that
1418 existing code would work even if by some reason bogus definition is
1419 used by EFI implementations.
1420
f2c6ff15
VS
14212013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
1424
6b8a1625
VS
14252013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
1428 invocation.
1429
954c723a
VS
14302013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * util/config.c: Remove trailing newline from distributor in simple
1433 parsing.
1434
607a39f9
VS
14352013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * include/grub/efi/api.h: Rename protocol and interface to avoid
1438 conflict.
1439
df6fedca
VS
14402013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1441
ba584da1 1442 * .gitignore: add .exe variants. add missing files. remove few outdated
df6fedca
VS
1443 entries.
1444
f684d7e1
VS
14452013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/osdep/exec.c: Use unix version on cygwin.
1448
0df77d79
VS
14492013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 Implement multiboot2 EFI BS specification.
1452
dafff9ce
VS
14532013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/normal/charset.c: Fix premature line wrap and crash.
1456 Crash happened only in some cases like a string starting at the
1457 half of the screen of same length.
1458
6644d973
VS
14592013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
1462 with EFI counterpart.
1463
44bbfa33
VS
14642013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 Propagate the EFI commits to x86-efi specific parts.
1467
3e3dff24
VS
14682013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * grub-core/commands/efi/lssal.c: Fix terminating condition.
1471
316dda71
VS
14722013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 Introduce grub_efi_packed_guid and use it where alignment is not
1475 guaranteed.
1476
219401b8
VS
14772013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * include/grub/efi/api.h (grub_efi_device_path): Define length as
1480 unaligned u16 rather than u8[2].
1481
30d00537
VS
14822013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
1485 for relocation range.
1486
979742bc
VS
14872013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
1490 non-function pcrel21b relocation. It happens with .text.unlikely
1491 section.
1492
16c8f785
LL
14932013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1494
1495 * make MAX_USABLE_ADDRESS platform-specific
1496 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
1497
3f1423e7
LL
14982013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1499
1500 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
1501
dd73313c
JM
15022013-12-09 Jon McCune <jonmccune@google.com>
1503
1504 * Add --no-rs-codes flag to optionally disable reed-solomon codes
1505 in grub-install and grub-bios-setup for x86 BIOS targets.
1506
eaf01c25
VS
15072013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 Add missing compile and link options for sparc64-emu.
1510
7a148da6
VS
15112013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 Implement sparc64 trampolines (needed for sparc64-emu).
1514
21eee750
VS
15152013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
1518 range of R_SPARC_HI22.
1519 Implement R_SPARC_LM22.
1520
7b54b626
VS
15212013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
1524 Do not explicitly check for symbol table as it's already checked in
1525 platform-independent layer.
1526
9a945e2a
VS
15272013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
1530 on ia64 as __clear_cache is a dummy on ia64.
1531
4f4ea1b4
VS
15322013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1535 Do not explicitly check for symbol table as it's already checked in
1536 platform-independent layer.
1537
fe4ae213
CW
15382013-12-09 Colin Watson <cjwatson@ubuntu.com>
1539
1540 * util/grub-mkconfig.in: Add missing newline to output.
1541
78b2b0a1
VS
15422013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
1545 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
1546
d14772c4
VS
15472013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
1550 compilation with GCC <= 4.2.
1551 * grub-core/kern/emu/argp_common.c: Likewise.
1552
388f3cd0
VS
15532013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
1556 right platform rather than leaking to sparc64-emu.
1557
11e4167a
VS
15582013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
1561 But ensure that the variables in question are indeed unsigned.
1562
fa7eb63d
VS
15632013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
1566
50b3a68d
VS
15672013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 Remove grub_memalign on emu.
1570
fbbfb6ab
VS
15712013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
1574 truncate incomplete lines but instead flushes them.
1575
a19293cb
VS
15762013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
1579 and implement windows variant.
1580
d5c14e1e
VS
15812013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 Fix mips-emu compilation.
1584
b75db69a
VS
15852013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * configure.ac: Check for freetype library usability.
1588
c311ced5
VS
15892013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 Make arm-emu work.
1592
c8fd2ddf
VS
15932013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
1596
c50e5f45
AB
15972013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1598
1599 * docs/grub.texi (Environment): Update color_normal and color_highlight
1600 defaults (light-gray instead of white).
1601
bb05e313
AB
16022013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1603
1604 * grub-core/normal/main.c (INIT): Set default color to light-gray
1605 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
1606 and apparently BIOS defaults.
1607
f23bc651
VS
16082013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 Transform -C option to grub-mkstandalone to --core-compress available
1611 in all grub-install flavours.
1612
4c4ea9c7
VS
16132013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 Merge GRUBFS and GRUB_FS variables.
1616
92e9352d
AB
16172013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1618
1619 Revert commit 69ca97c820, it caused failures when using OS device name
1620 in grub-install. Instead just strip off parenthesis in grub-install
1621 if (hdX) was passed.
1622
f585c905
AB
16232013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1624
1625 * util/grub-install.c (push_partmap_module): Add helper to convert
1626 partmap names to module names and use it in probe_mods(). Fixes
1627 failure to find partmap modules in diskfilter case.
1628
5ff24907
VS
16292013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * configure.ac: Make unifont mandatory on coreboot.
1632
0277eab7
VS
16332013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * configure.ac: Skip unifont 6.3 pcf and bdf.
1636
4861b6c8
VS
16372013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * Makefile.am: Remove partial font files if generation failed.
1640
3100cdc7
AB
16412013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1642
1643 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
1644 strings.
1645 * include/grub/util/misc.h: Define it ...
1646 * util/grub-install.c (device_map_check_duplicates): ... and use it.
1647
ad73cc33
AB
16482013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1649
1650 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
1651 ${grub_probe}.
1652
41822625
VS
16532013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 Don't add -mlong-calls when compiling with clang.
1656
896f483d
VS
16572013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * configure.ac: Fix a typo.
1660
8c534b85
VS
16612013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 Revamp relocation handling.
1664
1665 Move more code to common dl.c. Add missing veneers for arm and arm64.
1666 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
1667
a846dd4b
VS
16682013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
1671
aa437b58
MG
16722013-12-05 Mike Gilbert <floppym@gentoo.org>
1673
1674 * INSTALL: Raise minimum python version to 2.6.
1675 * gentpl.py: Use python3-style print function.
1676
b0f311f4
VS
16772013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * util/grub-install.c: Mention Boot* variable.
1680
59b38922
CW
16812013-12-05 Colin Watson <cjwatson@ubuntu.com>
1682
1683 * grub-core/osdep/linux/hostdisk.c
1684 (grub_util_find_partition_start_os): Initialise start to avoid
1685 spurious compiler warning.
1686
0480665b
CW
16872013-12-05 Colin Watson <cjwatson@ubuntu.com>
1688
1689 On Linux, read partition start offsets from sysfs if possible, to
1690 cope with block device drivers that don't implement HDIO_GETGEO.
1691 Fixes Ubuntu bug #1237519.
1692
1693 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
1694 function.
1695 (sysfs_partition_start): Likewise.
1696 (grub_util_find_partition_start_os): Try sysfs_partition_start
1697 before HDIO_GETGEO.
1698
bbeee1c4
LL
16992013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
1700
1701 * grub-core/kern/fdt.c: Update struct size when adding node.
1702
e5ed2f69
VS
17032013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 Handle unaligned .bss on sparc64.
1706
1707 Current code improperly assumes that both __bss_start and _end are
1708 aligned to 8-bytes. Eliminating this assumption and explicitly align
1709 modules.
1710
4a73746a
VS
17112013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
1714 so it doesn't land in the middle of loaded image.
1715
382b500e
VS
17162013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * configure.ac: Move all warning options that may be absent in
1719 gcc >= 3.1 to optional.
1720
1721 Note: while this allows to compile with older GCC, official requirements
1722 remain the same and no support for older GCC.
1723
3a82f8bb
CW
17242013-12-04 Colin Watson <cjwatson@ubuntu.com>
1725
1726 Copying the themes directory in grub-shell isn't
1727 parallel-test-friendly and breaks on the second test when the source
1728 directory is read-only (as in "make distcheck"). Instead, add a
1729 hidden --themes-directory option to grub-mkrescue et al, and use it
1730 in grub-shell.
1731
e3046431
VS
17322013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
1735 as it's no longer necessarry.
1736
bdb6090d
VS
17372013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * configure.ac: Allow compilation with older GCC for ARM.
1740
b73b70eb
VS
17412013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
1744 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
1745 ppc.
1746
8a3f0a24
VS
17472013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
1750
6f07c4e4
VS
17512013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 Pass font config to config.h and not by TARGET_CFLAGS as adding
1754 arguments doesn't work if TARGET_CFLAGS is specified on command
1755 line.
1756
60d5e9cb
VS
17572013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * configure.ac: Add -Wvla if compiler supports it.
1760
cd15c394
VS
17612013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
1764 Remove variable length arrays.
1765 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
1766
bb6e299c
VS
17672013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
1770
85eb579a
VS
17712013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * include/grub/types.h: Declare all byteswaps as inline functions
1774 except compile-time ones.
1775
1776 Solves variable shadowing in constructions like
1777 cpu_to_le (le_to_cpu(x) + 1).
1778
47f88cc9
VS
17792013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/kern/efi/efi.c: Remove variable length arrays.
1782
40b5739f
VS
17832013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
1786 minutes.
1787
234d9346
VS
17882013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
1791 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1792
0c0eab52
CW
17932013-12-03 Colin Watson <cjwatson@ubuntu.com>
1794
1795 * grub-core/Makefile.core.def (setjmp): Distribute
1796 lib/arm64/setjmp.S.
1797
44d48847 17982013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
1799
1800 Add a new timeout_style environment variable and a corresponding
1801 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
1802 controls hidden-timeout handling more simply than the previous
1803 arrangements, and pressing any hotkeys associated with menu entries
1804 during the hidden timeout will now boot the corresponding menu entry
1805 immediately.
1806
1807 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
1808 generates a warning, and if it shows the menu it will do so as if
1809 the second timeout were not present. Other combinations are
1810 translated into reasonable equivalents.
1811
10955cda
CW
1812 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
1813
9e4e6ddf
VS
18142013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * util/config.c: Add missing pointer adjustment.
1817 Reported by: qwertial
1818
5037aa9a
AB
18192013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1820
1821 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
1822 directly, not via `cpu' link, to fix libgrub.pp generation.
1823
8a952d20
VS
18242013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
1825
1826 New port arm64-efi.
1827
be0d4555
AB
18282013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1829
1830 * docs/grub.texi (sleep): Document exit codes.
1831
d74b9a1d
VS
18322013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 Ensure that -mno-unaligned-access or some equivalent option is used.
1835
35de6d4b
VS
18362013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
1839 -march=armv3.
1840
ce55ed03
VS
18412013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
1844
8ddf84bf
CW
18452013-11-29 Colin Watson <cjwatson@ubuntu.com>
1846
1847 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
1848 builds, since we don't have an EPS version of font_char_metrics.png.
1849 Add leading dot to image extension per the Texinfo documentation.
1850
fd0df6d0
CW
18512013-11-29 Colin Watson <cjwatson@ubuntu.com>
1852
1853 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
1854 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
1855 * util/grub-gen-widthspec.c: Likewise.
1856 * util/grub-mkfont.c: Likewise.
1857
69ca97c8
AB
18582013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
1859
1860 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
1861 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
1862 failed to install on (hdX).
1863 * util/grub-setup.c (get_device_name): Remove, not needed after
1864 above change.
1865
eec893ae
VS
18662013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
1869
621e167f
VS
18702013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * util/grub-fstest.c: Remove variable length arrays.
1873
d54f647a
VS
18742013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * grub-core/osdep/linux/ofpath.c: Check return value of read.
1877
c8a0f1b2
VS
18782013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1881 computing crc32 rather than handling with md fundtions directly.
1882
726409a5
VS
18832013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1886 checking fwstart.img rather than md fundtions directly.
1887
422e6e88
VS
18882013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * util/grub-mkrescue.c (main): Check that fread succeeded.
1891
af1faca3
VS
18922013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * conf/Makefile.common: Remove -mexplicit-relocs and
1895 -DUSE_ASCII_FALLBACK on yeeloong.
1896
1897 -DUSE_ASCII_FALLBACK is already added by font snippets.
1898 -mexplicit-relocs isn't needed is compiler/assemblera are
1899 configured properly.
1900 If they're not we shouldn't attempt to fix it by ourselves.
1901 Binary compare between before and after shows no difference.
1902
469021b4
VS
19032013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
1906 sources in dependencies directly.
1907
1908 This was the only instance of "library" in core config. A bug was
1909 reported that -fno-stack-protector wasn't passed to it. Instead of
1910 figuring out why it failed just remove this construction used
1911 needlessly.
1912
83c256ba
VS
19132013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/osdep/unix/password.c (grub_password_get): Check that
1916 fgets succeeded.
1917
b67422d3
FL
19182013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
1919
1920 * docs/grub.texi (ls): Fix command description in case of a device name
1921 passed as argument.
1922
2d76b4d8
VS
19232013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 Eliminate variable length arrays in grub_vsnprintf_real.
1926
1927 A bit tricky because this function has to continue to work without
1928 heap for short strings. Fixing prealloc to 32 arguments is reasonable
1929 but make all stack references use 32-bit offset rather than 8-bit one.
1930 So split va_args preparsing to separate function and put the prealloc
1931 into the caller.
1932
4f954122
VS
19332013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
1936 Fixes build for windows.
1937
b1f742c1
VS
19382013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * gentpl.py: Don't generate platform-dependent conditionals for
1941 platform-independent targets.
1942
16ef26fd
CW
19432013-11-27 Colin Watson <cjwatson@ubuntu.com>
1944
1945 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
1946 references to mdadm from otherwise generic code.
1947 (grub_util_exec_pipe): Likewise.
1948 (grub_util_exec_pipe_stderr): Likewise.
1949 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
1950 This function calls vgs, not mdadm; adjust variable names
1951 accordingly.
1952
cf8c80ff 19532013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
1954
1955 Generate Makefile.*.am directly from gentpl.py, eliminating the use
1956 of Autogen. The Autogen definitions files remain intact as they
1957 offer a useful abstraction.
1958
5c7206e4
CW
19592013-11-27 Colin Watson <cjwatson@ubuntu.com>
1960
1961 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
1962 into no-ops, and use it in programs that copy files but do not need
1963 to take special care to sync writes (grub-mknetdir, grub-rescue,
1964 grub-mkstandalone).
1965
fc3f2b72
CW
19662013-11-26 Colin Watson <cjwatson@ubuntu.com>
1967
1968 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
1969 than hardcoding /usr/local/bin/xorriso.
1970
1e4b3587
VS
19712013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 Add PCI command activation to all PCI drivers as required for coreboot
1974 and maybe some other firmwares.
1975
9208367d
VS
19762013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
1979 and non-Apple variants of efiemu compile.
1980
67b9b7af
AB
19812013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
1982
1983 * configure.ac: Add explicit check for linking format of
1984 efiemu64; save it as EFIEMU64_LINK_FORMAT.
1985 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
1986 hardcoding linking format.
1987
bee1b5ce
VS
19882013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
1991 and not pkgdatadir.
1992
07e3b047
CW
19932013-11-25 Colin Watson <cjwatson@ubuntu.com>
19942013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 Add a --locale-directory option to grub-install and related tools.
1997
1998 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
1999 --locale-directory option.
2000 (enum grub_install_options): Add
2001 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2002 * util/grub-install-common.c (grub_install_help_filter): Handle
2003 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2004 (grub_install_parse): Likewise.
2005 (get_localedir): New function to check for a user-provided option
2006 before trying grub_util_get_localedir.
2007 (copy_locales): Use get_localedir rather than
2008 grub_util_get_localedir. Handle differing locale directory layouts.
2009 (grub_install_copy_files): Likewise.
2010
61e1b9a4
VS
20112013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
2014 Don't rely on PATH_MAX.
2015
c98dd165
VS
20162013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * grub-core/genmoddep.awk: Use more portable && rather than and.
2019
ff1c277e
VS
20202013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
2023 an object after data. While it doesn't seem right solution, it
2024 works well enough and OSX isn't main compilation platform.
2025
c8f7614b
VS
20262013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
2029 While it doesn't seem right solution, it works well enough and
2030 OSX isn't main compilation platform.
2031
246a434f
VS
20322013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * configure.ac: Add -static to LDFLAGS when using apple linker to
2035 prevent it from pulling in dynamic linker.
2036
5c066a81
VS
20372013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 Apple assembly doesn't handle symbol arithmetic well. So define an
2040 offset symbol in boot.S and use it.
2041
78f961ef
VS
20422013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 Apple assembly doesn't handle symbol arithmetic well. So instead
2045 of getting addres of kernel_sector + 4 define kernel_sector_high.
2046 It also makes code more readable.
2047
09bc0a57
VS
20482013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 With Apple assembly in .macro environvemnt you have to use $$ instead
2051 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
2052 to $$x on Apple and to $x on everything else.
2053
b700a427
VS
20542013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
2057 OBJCONV.
2058
4480b95d
VS
20592013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
2062 and non-Apple. This instruction is shorter and faster,
2063 so no reason not to use it on both.
2064
e77c81f6
VS
20652013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
2068 .text when compiling for Apple.
2069
971dbee5
VS
20702013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/term/arc/console.c: Add missing cast to silence warning.
2073
6f2e82be
VS
20742013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
2077 %dx restore the probe worked on non-existant drive. Reorganize the
2078 code a little bit to free 2 bytes necessary for push/pop.
2079
9eec9699
VS
20802013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2083 Add missing cast to silence warning.
2084
5ae5c54c
KPA
20852013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
2086
2087 * util/grub-install.c (update_nvram): Support --no-nvram flag
2088 for EFI targets.
2089
7b04fe6c
VS
20902013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
2093
e67566ce
VS
20942013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * util/garbage-gen.c: Add missing include of sys/time.h.
2097
f93ddcfd
VS
20982013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 Don't add -mflush-func if it's not supported by compiler.
2101
1bba40f5
VS
21022013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 Move common BIOS/coreboot memory map declarations to
2105 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
2106
f65e14dc
AB
21072013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
2108
2109 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
2110
14a94bba
VS
21112013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * INSTALL: Document why older clang versions aren't appropriate.
2114
8109c5d4
VS
21152013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * INSTALL: Document about clang for mips.
2118
a92b5cb8
VS
21192013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
2122 clang.
2123
4a23e2fe
VS
21242013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 Add *-xen to the list of grub-install-common platforms.
2127
a3ba7410
VS
21282013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
2131 3 last commits.
2132
e1c22419
VS
21332013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
2136
189090ce
VS
21372013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
2140 with -mcmodel=large.
2141
1a5b7b40
VS
21422013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
2145 range-checking for 32-bit quantities.
2146
9cf12b20
VS
21472013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * configure.ac: Compile with -fPIC when compiling with clang on
2150 mips.
2151
63a45330
VS
21522013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
2155 when compiling with clang.
2156
4a0aaad0
VS
21572013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 clang emits calls to abort () under some unknown conditions.
2160 Export abort () when compiling with clang.
2161
095bb1bf
VS
21622013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * docs/grub-dev.texi: Document stack and heap sizes.
2165
3937bd96
VS
21662013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * include/grub/i386/pc/memory.h: Decrease
2169 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
2170 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
2171 The binary doesn't change (checked). It's more to better reflect actual
2172 usage.
2173
ddb3efc9
VS
21742013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
2177 at compile time that enough of scratch size is available.
2178
4e42521d
VS
21792013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
2182 Previously we misaligned stack by 8 in startup.S and compensated
2183 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
2184 right behaviour is to align stack in startup.S and keep it aligned
2185 in callwrap.S. startup.S part was committed few commits before. This
2186 takes care of callwrap.S.
2187 Reported by: Gary Lin.
2188
054efe54
VS
21892013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
2192 .data and .bss. May happen if compiler and assembly use different
2193 alignment.
2194
a0e1befb
VS
21952013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 On MIPS handle got16 relocations to local symbols in an ABI-compliant
2198 way.
2199
c36c73f6
VS
22002013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 Add support for a new magic symbol _gp_disp on mips to handle PIC
2203 binaries.
2204
6f4a19f5
VS
22052013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 Use $t9 for indirect calls from asm to C as PIC ABI requires.
2208
0d8f04cd
VS
22092013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
2212 when rest of GRUB is compiled for hisher stepping. Instead use
2213 .set mips3/.set mips1 around cache and sync opcodes.
2214
49060520
VS
22152013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
2218 do essentially the same thing, do it in similar way.
2219
c6a823e2
CW
22202013-11-21 Colin Watson <cjwatson@ubuntu.com>
2221
2222 * util/grub-mkrescue.c (main): If a source directory is not
2223 specified, read platform-specific files from subdirectories of
2224 pkglibdir, not pkgdatadir.
2225
b7f9aedf
CW
22262013-11-21 Colin Watson <cjwatson@ubuntu.com>
2227
2228 * grub-core/normal/progress.c: Remove unused file.
2229
7dd0a303
VS
22302013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
2233 array.
2234
ca120e31
VS
22352013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
2238 than grub.cfg.
2239
48eb35cd
VS
22402013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 * coreboot.cfg: Add missing file.
2243
7f20dbbc
VS
22442013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * Makefile.am: Allow STRIP to be empty when creating windowszip.
2247
55e706c9
AK
22482013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
2249
2250 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
2251 selectively skipping systems.
2252
4e7d433d
CW
22532013-11-19 Colin Watson <cjwatson@ubuntu.com>
2254
2255 * Makefile.util.def (grub-mkimage): Add
2256 grub-core/osdep/aros/config.c to extra_dist.
2257 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
2258 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
2259 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
2260 grub-core/gnulib-no-gets.diff.
2261
7d44ff7d
VS
22622013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 Add automated filesystem checking based on scripts I've used now for
2265 quite some time locally. Most of the test require root so they are
2266 skipped when run without necessarry privelegies.
2267
a8c3e5e3
CW
22682013-11-19 Colin Watson <cjwatson@ubuntu.com>
2269
2270 * util/grub-install.c (main): Adjust info messages to match
2271 installed paths of grub-bios-setup and grub-sparc64-setup.
2272
4402db3e
CW
22732013-11-19 Colin Watson <cjwatson@ubuntu.com>
2274
2275 * util/grub-install-common.c (copy_locales): Consistently use
2276 grub_util_get_localedir () rather than LOCALEDIR.
2277 (grub_install_copy_files): Likewise.
2278
7960d3e1
JT
22792013-11-19 Josh Triplett <josh@joshtriplett.org>
2280
2281 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
2282 16-byte boundary, as required by the x86-64 ABI, before calling
2283 grub_main. In some cases, GCC emits code that assumes this
2284 alignment, which crashes if not aligned. The EFI firmware is also
2285 entitled to assume that stack alignment without checking.
2286
d53f4900
JT
22872013-11-18 Josh Triplett <josh@joshtriplett.org>
2288
2289 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
2290 4k page boundaries as expected by firmware rather than 1k
2291 boundaries.
2292 (grub_mmap_malign_and_register): Likewise.
2293
bb2b275b
VS
22942013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
2297 fragmentation 512M is enough.
2298
45bf8b3a
VS
22992013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
2302 pointer to 32K. This is the size of cache element which is the most
2303 common allocation >1K. This way the pointer is always around blocks
2304 of 32K and so we keep performance while decreasing fragmentation.
2305
39ff43c5
VS
23062013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
2309 current memory when allocating large chunks. This significantly
2310 decreases memory fragmentation.
2311
60870be8
CW
23122013-11-18 Colin Watson <cjwatson@ubuntu.com>
2313
2314 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
2315 but for symmetry).
2316 * tests/lzocompress_test.in: Skip if lzop is not installed.
2317 * tests/xzcompress_test.in: Skip if xz is not installed.
2318
a1f00cc5
CW
23192013-11-18 Colin Watson <cjwatson@ubuntu.com>
2320
2321 * util/grub-mkrescue.c (main): Fix typo.
2322
74e632fe
VS
23232013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
2326 clock frequency to 200 MHz,
2327
efb8de49
VS
23282013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 * tests/util/grub-shell.in: Increase console size to 1024x1024.
2331
b7526e78
VS
23322013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * Makefile.am (default_payload.elf): Add pata to loaded modules.
2335 Load config file from (cbfsdisk)/etc/grub.cfg.
2336
b40ce651
VS
23372013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * util/grub-install-common.c (grub_install_copy_files): Fix module
2340 destination directory.
2341
1e8e2e78
CW
23422013-11-18 Colin Watson <cjwatson@ubuntu.com>
2343
2344 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
2345 files have not been built.
2346
3bf4088b
CW
23472013-11-18 Colin Watson <cjwatson@ubuntu.com>
2348
2349 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
2350 Handle errors from mkstemp.
2351 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
2352
35c2851c
VS
23532013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
2356 on primary master on pseries.
2357
ea7c1a7d
VS
23582013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
2361 already loaded. This saves memory needed for tests,
2362
96adefdb
VS
23632013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
2366 work again.
2367
5e3cb8a7
VS
23682013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
2371 work again.
2372
256ee7ac
VS
23732013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
2376 master since with some combinations of qemu and firmware only primary
2377 IDE channel is available.
2378
f8b4c3b6
VS
23792013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
2382 low-memory platforms where we don't have enough memory for them.
2383 * grub-core/tests/videotest_checksum.c: Likewise.
2384
4bf70320
VS
23852013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
2388 already loaded. This saves memory needed for tests,
2389
a284320e
VS
23902013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 Fix handling of install lists.
2393
2df8f43d
VS
23942013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
2397
6f1bc8bc
VS
23982013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 On i386-ieee1275 we run in paged mode. So we need to explicitly map
2401 the devices before accessing them.
2402
04f39f6d
VS
24032013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
2406 as file argument.
2407
35d4761c
VS
24082013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
2411
33d02a42
VS
24122013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
2415 (grub_file_close): Free file->name.
2416
7bbb60cf
VS
24172013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/commands/verify.c (free_pk): Plug memory leak.
2420 (grub_load_public_key): Likewise.
2421 (grub_verify_signature_real): Likewise.
2422 (grub_cmd_verify_signature): Likewise.
2423
da93d675
VS
24242013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
2427 memory leak.
2428
59c943ec
VS
24292013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
2432 (grub_longjmp): Restore r31.
2433 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
2434
4336b5d8
VS
24352013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
2438 modules to be in line with make_image_abs.
2439
44ce3a93
VS
24402013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
2443
2444 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
2445
7d400406
IC
24462013-11-17 Ian Campbell <ijc@hellion.org.uk>
2447
2448 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
2449
77dae919
VS
24502013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
2453 to leave some memory to firmware.
2454
0ab8e025
VS
24552013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
2458 of loading gfxterm as gfxterm is embed in kernel on some platforms.
2459 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
2460 Load gfxmenu.
2461
b80c2d6d
VS
24622013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
2465 now needs full arguments.
2466
6aa6077b
VS
24672013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * util/grub-mkrescue.c (main): Add trailing \n in
2470 .disk_label.contentDetails to be in line with previous shell script.
2471
66c00cb1
VS
24722013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
2475
3a129dba
VS
24762013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 * util/grub-install-common.c (grub_install_parse): Recognize
2479 --compress=none like shell script did.
2480
8df6eff6
VS
24812013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * include/grub/misc.h: Replace check for __sparc64__ with one for
2484 __sparc__ as __sparc64__ isn't actually defined.
2485
889ebe92
VS
24862013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
2489 counterpart of fixing the naming of escc ports.
2490
d4d55b29
VS
24912013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * util/grub-install-common.c (platforms): Fix the order of entries and
2494 remove useless field val.
2495
55e2c84f
VS
24962013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * util/grub-install.c: Add new option --no-bootsector to skip
2499 installing of bootsector. Accept --grub-setup=/bin/true as
2500 backwards-compatible synonym.
2501
cd46aa6c
VS
25022013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2503
2504 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
2505 order of qsort arguments (number of elements vs. element size).
2506
25072013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
2510 the function of these files exceeds what can be sanely handled in shell
2511 in posix-comaptible way. Also writing it in C extends the functionality
2512 to non-UNIX-like OS and minimal environments.
2513
9ef81064
VS
25142013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
2517 compiling to thumb2.
2518 * grub-core/kern/arm/cache_armv7.S: Likewise.
2519 * grub-core/lib/arm/setjmp.S: Likewise.
2520
11a77932
LL
25212013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2522
2523 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
2524 in grub_uboot_syscall
2525
080603f0
VS
25262013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 Decrease stack usage in lexer.
2529
2530 We have only 92K of stack and using over 4K per frame is wasteful
2531
2532 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
2533 as macros so that compiler would remove useless structure on stack.
2534 Better solution would be to fix flex not to put this structure on
2535 the stack but flex is external program.
2536
4f84ae0e
VS
25372013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 Decrease stack usage in signature verification.
2540
2541 We have only 92K of stack and using over 4K per frame is wasteful
2542
2543 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
2544 rather than stack.
2545 (grub_verify_signature_real): Likewise.
2546
e6a6182d
VS
25472013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 Decrease stack usage in mdraid 0.9x.
2550
2551 We have only 92K of stack and using over 4K per frame is wasteful
2552
2553 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
2554 rather than stack.
2555
1a454efe
VS
25562013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 Decrease stack usage in BtrFS.
2559
2560 We have only 92K of stack and using over 4K per frame is wasteful
2561
2562 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
2563 rather than stack.
2564
7b5d51d8
VS
25652013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 Decrease stack usage in JFS.
2568
2569 We have only 92K of stack and using over 4K per frame is wasteful
2570
2571 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
2572 stack. Note: this function is recursive.
2573 (grub_jfs_read_inode): Read only part we care about.
2574
593865b9
LL
25752013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2576
2577 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
2578 handling
7b5d51d8 2579
31c0cd43
AB
25802013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2581
2582 * configure.ac: Restore -nostdlib for libgcc symbols tests.
2583
c2fdb331
AB
25842013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2585
2586 * docs/grub.texi (Environment): Document cmdpath.
2587
9e18dfe2
AB
25882013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2589
2590 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2591 Remove "unused" attribute from arguments, they are used.
2592
59ba9d14
CW
25932013-11-15 Colin Watson <cjwatson@debian.org>
2594
2595 * .gitignore: Only ignore grub-mk* at the top level.
2596
23012db9
CW
25972013-11-15 Colin Watson <cjwatson@ubuntu.com>
2598
2599 * util/grub-reboot.in (usage): Fix a typo.
2600
6fcec439
VS
26012013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 Replace libgcc version of ctz with our own.
2604
2605 On upcoming arm64 port libgcc ctz* are not usable in standalone
2606 environment. Since we need ctz* for this case and implementation is
2607 in C we may as well use it on all concerned platforms.
2608
a9f25a08
VS
26092013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * configure.ac: Probe for linking format rather than guessing it based
2612 on target_os.
2613
c7995256
VS
26142013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
2617 "1" prior to handoff.
2618
2619 Reported by: M A Young.
2620
e1aa5b66
VS
26212013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
2624 \0 to all files.
2625
2626 Reported by: M A Young.
2627
da5ed5cf
VS
26282013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
2631 compilation on NetBSD.
2632
5757a93e
VS
26332013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * acinclude.m4: Don't add -P on initial nm test.
2636
2637 Note: even though this patch postdates Andrey's it bears 14 Nov as
2638 date due to timezone difference.
2639
a5986276
AB
26402013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
2641
2642 * grub-core/Makefile.core.def (signature_test): Add missing
2643 tests/signatures.h.
2644
0de172a0
CW
26452013-11-14 Colin Watson <cjwatson@ubuntu.com>
2646
2647 * util/grub-install_header: Set localedir here, since this file is
2648 where it's used.
2649 * util/grub-install.in: Remove setting of localedir.
2650 * util/grub-mkrescue.in: Likewise.
2651
da45f43c
VS
26522013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
2655
20aea949
VS
26562013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * configure.ac: Move nm checks to the end.
2659 Call grub_PROG_NM_WORKS.
2660 * acinclude.m4: New check grub_PROG_NM_WORKS.
2661 Use $TARGET_CFLAGS -c when compiling test binary.
2662
1326b9ae
CW
26632013-11-14 Colin Watson <cjwatson@ubuntu.com>
2664
2665 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
2666 unused variables.
2667
1fe26ab4
MG
26682013-11-14 Matthew Garrett <mjg@redhat.com>
2669
2670 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
2671 cmdpath to firmware directory.
2672
83e9c273
VS
26732013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
2676 at the start of second iteration.
2677
ec525c18
VS
26782013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2681
93fcc7ad
VS
26822013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * Makefile.am (default_payload.elf): New target for easier coreboot
2685 build.
2686
57ffe934
VS
26872013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
2690 clang (not necessarry with -no-integrated-as).
2691 * include/grub/symbol.h [__arm__]: Likewise.
2692
2312f06c
VS
26932013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * configure.ac: Use -no-integrated-as on arm with clang.
2696 * INSTALL: Mention ARM compilation with clang.
2697
2416415c
VS
26982013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
2701 -mthumb-interwork.
2702
5da55172
CW
27032013-11-14 Colin Watson <cjwatson@ubuntu.com>
2704
2705 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
2706 code for indirect block handling.
2707
2708 Saves 185 bytes on compressed image.
2709
da770328
PFS
27102013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2711
2712 Fix make clean.
2713
2714 * Makefile.am: Remove build-grub-* in make clean.
2715
f02e6b56
PFS
27162013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2717
2718 New files to gitignore.
2719
2720 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
2721 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
2722
035a26c1
LL
27232013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2724
2725 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
2726
bc8a6137
LL
27272013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2728
2729 * .gitignore: fix rules for .dep* and add *.a post git migration
2730
6fe506b0
CW
27312013-11-13 Colin Watson <cjwatson@ubuntu.com>
2732
2733 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
2734 to match INSTALL.
2735
81a2e438
CW
27362013-11-13 Colin Watson <cjwatson@ubuntu.com>
2737
2738 * grub-core/kern/misc.c: Don't redirect divisions in the
2739 GRUB_UTIL case.
2740 * include/grub/misc.h: Likewise.
2741
9b45c073
CW
27422013-11-13 Colin Watson <cjwatson@ubuntu.com>
2743
2744 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
2745 systems that require checking the return value of write.
2746
11b2a9b7
CW
27472013-11-13 Colin Watson <cjwatson@ubuntu.com>
2748
2749 * util/grub-install.in (efi_quiet): Fix inverted logic: make
2750 efibootmgr quiet when --debug is not used, rather than when it is.
2751
d743d22d
CW
27522013-11-13 Colin Watson <cjwatson@ubuntu.com>
2753
2754 * gentpl.py (define_macro_for_platform_dependencies): Remove
2755 first (and thus unused) of two definitions for this function.
2756 (platform_dependencies): Likewise.
2757
11da14b5
CW
27582013-11-13 Colin Watson <cjwatson@ubuntu.com>
2759
2760 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
2761 functions, we only need to check this for the target, not the host.
2762 * configure.ac (grub_apple_cc): Likewise.
2763
2bdd0719
VS
27642013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
2767 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
2768 asm to stay in arm even if surrounding is thumb.
2769
5e77d9cf
VS
27702013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
2773 helper functions are needed for thumb.
2774
7d511625
VS
27752013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
2778 level / 3 division explicitly unsigned. Saves few bytes.
2779
81023dbd
VS
27802013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2783
b2e9294f
VS
27842013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
2787 division.
2788
16a22c38
VS
27892013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
2792 grub_uboot_boot_data to asm part.
2793
c9cd02c9
VS
27942013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
2797 literal load.
2798 (grub_uboot_syscall): Save/restore r9 and align stack.
2799
81498615
VS
28002013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2803
ea57de18
VS
28042013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
2807 occurencies with END.
2808
d0d1e3da
CW
28092013-11-13 Colin Watson <cjwatson@ubuntu.com>
2810
2811 * util/grub-editenv.c (help_filter, argp): Document how to delete
2812 the whole environment block.
2813 Reported by Dan Jacobson. Fixes Debian bug #726265.
2814
3809f016
CW
28152013-11-13 Colin Watson <cjwatson@ubuntu.com>
2816
2817 * docs/grub.texi (Internationalisation, Supported kernels): Fix
2818 sectioning.
2819
46d8a203
JT
28202013-11-13 Josh Triplett <josh@joshtriplett.org>
2821
2822 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
2823 increment/decrement.
2824
513eeb61
VS
28252013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
2828 compiling with clang.
2829
bc379c1a
VS
28302013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
2833 ".".
2834
28352013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 2836
16057d6b
VS
2837 Redirect all divisions to grub_divmod64.
2838
f649a6a8
VS
28392013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
2842
ef28ee8b
VS
28432013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 Add missing includes of loader.h.
2846
300f48c5
VS
28472013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * configure.ac: Allow disabling themes.
2850
2d357558
LS
28512013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
2852
2853 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
2854
0c62a5b2
VS
28552013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
2858 until it becomes operational.
2859
b0720b49
VS
28602013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/Makefile.core.def (legacy_password_test): Disable
2863 on platforms where no legacycfg is compiled.
2864 * grub-core/tests/lib/functional_test.c: Tolerate failure to
2865 load legacy_password_test.
2866
d5bab2c0
VS
28672013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2870
3ea0ccb3
VS
28712013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/efiemu/prepare.c: Remove variable length arrays.
2874
08772054
VS
28752013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
2878 strict-aliasing warning.
2879 (fsync): Silence cast warning.
2880
1dcb2715
VS
28812013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/commands/verify.c: Remove variable length arrays.
2884 Load gcry_dsa/gcry_rsa automatically.
2885
61c22fdf
VS
28862013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/tests/signature_test.c: New test.
2889
431e57a7
VS
28902013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
2893 API.
2894
b521bb81
VS
28952013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * grub-core/tests/legacy_password_test.c (vectors): Make static.
2898 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
2899
7d06b24e
VS
29002013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
2903
3bbeade4
VS
29042013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 * grub-core/fs/proc.c: Allow \0 in proc files.
2907
ba82db7a
VS
29082013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
2911
801564c8
VS
29122013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
2915
ac8cac1d
VS
29162013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * grub-core/fs/ext2.c: Remove variable length arrays.
2919
4b85f122
VS
29202013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
2923 length arrays.
2924
c35fcdc0
VS
29252013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
2928 * grub-core/disk/cryptodisk.c: Likewise.
2929 * grub-core/disk/geli.c: Likewise.
2930 * grub-core/disk/luks.c: Likewise.
2931
15decd26
VS
29322013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 * grub-core/tests/legacy_password_test.c: New test.
2935 * grub-core/commands/legacycfg.c: Remove variable length arrays.
2936
9c6482b8
VS
29372013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
2940
41f26e0e
VS
29412013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * grub-core/tests/pbkdf2_test.c: New test.
2944
2def6616
VS
29452013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
2948
9e34a34e
VS
29492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * grub-core/io/lzopio.c: Remove variable length arrays.
2952
5ccaf904
VS
29532013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * include/grub/crypto.h: Add maximums on hash size and cipher block
2956 size.
2957
44a387e0
VS
29582013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
2961
a388e255
VS
29622013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/tests/xnu_uuid_test.c: New test.
2965
a1ef7718
VS
29662013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
2969 covers it).
2970
65ddb300
VS
29712013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/commands/hashsum.c: Remove variable length arrays.
2974
31747dd5
VS
29752013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
2978 condition.
2979 * tests/grub_func_test.in: Increase memory allocation.
2980
6a74c4df
VS
29812013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
2984 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
2985 sys/mount.h.
2986
394c3e0a
VS
29872013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
2990 (grub_util_get_fd_size_os): ...this.
2991 (grub_hostdisk_flush_initial_buffer): New empty function.
2992
60d31116
VS
29932013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * grub-core/gensyminfo.sh.in: Handle the case of portable output
2996 without --defined-only.
2997
8445b011
VS
29982013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
3001 rip-relative addressing in prologue.
3002
8506a641
VS
30032013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
3006 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
3007
66acd9d6
VS
30082013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3011 Add missing semicolon.
3012
348d0535
VS
30132013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
3016
0d2d30bb
VS
30172013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * configure.ac: Check for lzma.h for enabling liblzma and allow
3020 manual disabling.
3021
631187be
VS
30222013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 Add missing includes of loader.h.
3025
e756ec82
FZ
30262013-11-11 Fam Zheng <famcool@gmail.com>
3027
3028 * util/grub.d/30_os-prober.in: Add minix entry.
3029
87d62d7d
VS
30302013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
3033 right buffer for temporary load.
3034
5460cfeb
VS
30352013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
3038
89977306
VS
30392013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
3042 payload.
3043
3617c59b
VS
30442013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
3047 not Types.h.
3048 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
3049 environment.
3050 (LzmaDec_InitDicAndState): Make static.
3051
881c6a10
VS
30522013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
3055
2024ade2
VS
30562013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
3059
3060 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
3061
674ad4f6
VS
30622013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * docs/grub-dev.texi: Replace bzr references with git ones.
3065
5b99970e
AB
30662013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3067
3068 * docs/grub.texi (Simple configuration): Remove reference to
3069 grub-reboot from saved default entry description - grub-default
3070 does not use it anymore.
3071
3c2304d5
VS
30722013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * configure.ac: Make efiemu test cflags match the cflags efiemu is
3075 compiled with.
3076
80cfd940
AB
30772013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3078
3079 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
3080
33690255
VS
30812013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 Fix grub_machine_fini bitrot.
3084
3085 Reported by: Glenn Washburn.
3086
c61471fc
VS
30872013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
3090
54da019f
VS
30912013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
3094 -DELF.
3095 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
3096 instead of ELF*.
3097
30982013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
3099
3100 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
3101 Add -march=core2 when testing compile of efiemu64.
3102
3103 Thanks Andrey Borzenkov for spotting this.
3104
9612ebc0
VS
31052013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
3108 XEN PV environment and load kernels.
3109
1a46a3a4
VS
31102013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
3113 * grub-core/loader/multiboot_mbi2.c: Likewise.
3114
2df12551
VS
31152013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
3118 handling.
3119
3c980381
VS
31202013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
3123
3124 Tested by: Denis 'GNUtoo' Carikli.
3125
800f63d3
VS
31262013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
3129
9f8acdaa
VS
31302013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3131
5620eb53
VS
3132 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
3133 Use to get rounded angle rather than truncated.
3134
31352013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
3138 RTS/CTS flow control.
3139
2dc1eb6c
VS
31402013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
3143 divisions.
3144
b9563c94
VS
31452013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
3148 Use grub_fatal rather than divide by zero.
3149 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
3150
d6d8e9a9
VS
31512013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
3154 truncate.
3155 (grub_fixed_fsf_divide): Likewise.
3156
d06de6c8
VS
31572013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
3160 division by-zero and senseless negative divisions.
3161
6af7d49b
VS
31622013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
3165 division by-zero and senseless negative divisions.
3166 (circprog_set_property): Don't accept negative num_ticks.
3167
bcfa6d72
VS
31682013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
3171 division by-zero and senseless negative divisions.
3172
dd7f792c
VS
31732013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * configure.ac: Use elf_*_fbsd on kfreebsd.
3176
d061fda7
VS
31772013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * grub-core/tests/div_test.c: New test.
3180
4db22500
VT
31812013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3182
3183 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
3184 * grub-core/gfxmenu/gui_canvas.c: Likewise.
3185 * grub-core/gfxmenu/view.c: Likewise.
3186 * grub-core/video/fb/video_fb.c: Introduce new functions:
3187 grub_video_set_area_status, grub_video_get_area_status,
3188 grub_video_set_region, grub_video_get_region.
3189 * grub-core/video/bochs.c: Likewise.
3190 * grub-core/video/capture.c: Likewise.
3191 * grub-core/video/video.c: Likewise.
3192 * grub-core/video/cirrus.c: Likewise.
3193 * grub-core/video/efi_gop.c: Likewise.
3194 * grub-core/video/efi_uga.c: Likewise.
3195 * grub-core/video/emu/sdl.c: Likewise.
3196 * grub-core/video/radeon_fuloong2e.c: Likewise.
3197 * grub-core/video/sis315pro.c: Likewise.
3198 * grub-core/video/sm712.c: Likewise.
3199 * grub-core/video/i386/pc/vbe.c: Likewise.
3200 * grub-core/video/i386/pc/vga.c: Likewise.
3201 * grub-core/video/ieee1275.c: Likewise.
3202 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
3203 * include/grub/video.h: Likewise.
3204 * include/grub/video_fb.h: Likewise.
3205 * include/grub/fbfill.h: Updated render_target structure.
3206 grub_video_rect_t viewport, region, area
3207 int area_offset_x, area_offset_y, area_enabled
3208 * include/grub/gui.h: New helper function
3209 grub_video_bounds_inside_region.
3210 * docs/grub-dev.texi: Added information about new functions.
3211
c6b755df
VS
32122013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
3215 for alignment.
3216
e2a68100
VS
32172013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
3220 missing attribute.
3221 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
3222
c4f11a2a
VS
32232013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
3226 simple division on arm and ia64.
3227
e0a7bffa
VS
32282013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
3231 link with libgcc.
3232
38b864ea
VS
32332013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
3236
12359faf
VS
32372013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
3240 prefix symbol, not @.
3241
9fdc64a9
VS
32422013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * INSTALL: Add note about older gcc and clang.
3245
665c575b
VS
32462013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
3249
47dcf7b1
VS
32502013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
3253 NULL pointer dereference.
3254
d59849b2
VS
32552013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
3258 clang.
3259
7a3f4a18
VS
32602013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
3263 warnings.
3264
7f084087
VS
32652013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
3268 function.
3269 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
3270 * grub-core/disk/geli.c (ascii2hex): Likewise.
3271
d5524ca8
VS
32722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * configure.ac: Run linker tests without -Werror.
3275 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
3276 Change all occurences of -static-libgcc resp -lgcc to
3277 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
3278
390cd7ca
VS
32792013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
3282
60375a88
VS
32832013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 Allow compiling with clang (not really supported though).
3286
3287 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
3288 unconditionally.
3289 * configure.ac: Add -no-integrated-as when using clangfor asm files.
3290 Add -mrtd -mregparm=3 on i386 when not using clang.
3291 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
3292
dd07e0c4
VS
32932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
3296 bindings.
3297 * grub-core/lib/reed_solomon.c: Likewise.
3298 * include/grub/i386/gdb.h: Likewise.
3299 * include/grub/i386/pc/int.h: Likewise.
3300 * include/grub/i386/pc/pxe.h: Likewise.
3301 * include/grub/ieee1275/ieee1275.h: Likewise.
3302
9d3ae8ec
VS
33032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 Import libgcrypt 1.5.3.
3306
c12936c5
VS
33072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * configure.ac: Don't add -Wcast-align on x86.
3310
cdc17f60
VS
33112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * configure.ac: Add -freg-struct-return on all platforms that
3314 support it.
3315
b35ec299
VS
33162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * acinclude.m4: Use -Werror on parameter tests.
3319 * configure.ac: Likewise.
3320
05f3a0d7
VS
33212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
3324
c966a489
VS
33252013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * configure.ac: Check that -malign-loops works rather than assuming that
3328 either -falign-loops or -malign-loops work.
3329
bb0c57ec
VS
33302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * configure.ac: Remove -fnested-functions. We don't need it anymore.
3333
24f4e57c
VS
33342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * configure.ac: Prevent cflags leaking to subsequent tests by always
3337 resetting cflags to target_cflags in target tests.
3338
ac319fbc
VS
33392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
3342 function.
3343
4bfe934c
VS
33442013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
3347
40a5bfde
VS
33482013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
3351
a67c755e
VS
33522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * grub-core/normal/cmdline.c (grub_cmdline_get):
3355 Remove nested functions.
3356
87a04a2d
VS
33572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * tests/test_sha512sum.in: Make it work on emu.
3360
c03995d2
VS
33612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
3364 functions.
3365 (grub_bidi_line_logical_to_visual): Likewise.
3366
ec0ebb3f
VS
33672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 Remove vestiges of -Wunsafe-loop-optimisations.
3370
3371 * conf/Makefile.common (CFLAGS_GNULIB): Remove
3372 -Wno-unsafe-loop-optimisations.
3373 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
3374 pragma.
3375 * grub-core/io/gzio.c: Likewise.
3376 * grub-core/script/parser.y: Likewise.
3377 * grub-core/script/yylex.l: Likewise.
3378 * util/grub-mkfont.c: Likewise.
3379
6ab537e3
VS
33802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * util/grub-mkfont.c (process_cursive): Remove nested function.
3383
e6c368d4
VS
33842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
3387 (grub_boot_time): Likewise.
3388
4f1cfd22
VS
33892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * include/grub/symbol.h (FUNCTION): Use @function rather than
3392 "function".
3393 (VARIABLE): Likewise.
3394
6d5a4cee
VS
33952013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
3398
f06c2172
VS
33992013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
3402 (parse_dhcp_vendor): Likewise.
3403
7cb24eb5
VS
34042013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
3407
f30c692c
VS
34082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/gettext/gettext.c (main_context), (secondary_context):
3411 Define after defining type and not before.
3412
8b66bb5d
VS
34132013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
3416 type.
3417 (grub_gcm_decrypt): Likewise.
3418 (algo_decrypt): Likewise.
3419 (grub_zfs_decrypt_real): Transform error type.
3420
5d17fd0f
VS
34212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
3424
ac35a0f7
VS
34252013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
3428 (grub_usbms_cbi_reset): Likewise.
3429 (grub_usbms_bo_reset): Likewise.
3430 (grub_usbms_reset): Likewise.
3431 (grub_usbms_attach): Likewise.
3432 (grub_usbms_transfer_cbi): Likewise.
3433
3ee08697
VS
34342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
3437 "checksum = checksum;".
3438
70bb6c85
VS
34392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
3442 entry_type.
3443
c7f34744
VS
34442013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
3447 BIOS disk check.
3448
3f63b4d8
VS
34492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
3452 type.
3453 (grub_ehci_fini_hw): Likewise.
3454 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3455
dac6ce73
VS
34562013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
3459 return grub_usb_err_t for cosistency. All users updated.
3460
5701750c
VS
34612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
3464 assigning to itself.
3465
9e236169
GLD
34662013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
34672013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3468
3469 Issue separate DNS queries for ipv4 and ipv6
3470
3471 Adding multiple questions on a single DNS query is not supportted by
3472 most DNS servers. This patch issues two separate DNS queries
3473 sequentially for ipv4 and then for ipv6.
3474
3475 Fixes: https://savannah.gnu.org/bugs/?39710
3476
3477 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
3478 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
3479 * (grub_net_dns_lookup): Now using separated dns packages.
3480 * (grub_cmd_nslookup): Add error condition.
3481 * (grub_cmd_list_dns): Print DNS option.
3482 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
3483 --prefer-ipv4, and --prefer-ipv6.
3484 * include/grub/net.h (grub_dns_option_t): New enum.
3485 * (grub_net_network_level_address): option added.
3486
339eacce
VT
34872013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
3488
3489 * grub-core/video/fb/video_fb.c: Merge two blit functions
3490 into one.
3491
810f991b
VS
34922013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/term/terminfo.c: Add sequences for home and end.
3495
386571a2
VS
34962013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
3499 graphics console.
3500
3fe63754
VS
35012013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
3504 add mode 0x12.
3505
76681e71
VS
35062013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
3509 e-mail by Per Öberg.
3510
46522fb7
VS
35112013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
3514 name.
3515
e7d09ac4
AB
35162013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
3517
3518 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
3519 emu platforms.
3520 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
3521
67508925
VS
35222013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * docs/grub.texi: Document usage of menuentry id.
3525
0c62124e
VS
35262013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
3529
9b5d4eed
PL
35302013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
3531
3532 * grub-core/commands/i386/nthibr.c: New command.
3533
79054c1d
VS
35342013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
3537
44d47bbe
VS
35382013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
3541 coordinate.
3542
323de05b
VS
35432013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 Support GRUB_DISABLE_SUBMENU config.
3546
3547 Inspired by patch from Prarit Bhargava.
3548
5a01722e
VS
35492013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * docs/grub.texi: Mention RSA support.
3552
1106c3f0
VS
35532013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * grub-core/commands/verify.c: Add RSA support.
3556
a1dcc2cb
VS
35572013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
3560 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
3561 device is known to be ATAPI.
3562
ee7fb780
MF
35632013-11-03 Mike Frysinger <vapier>
3564
3565 * configure.ac: Don't add target-prefix.
3566
5ade4a42
VS
35672013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
3570 variables.
3571
6cd66043
VS
35722013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
3575 if language is English.
3576
090d7c81
VS
35772013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
3580
dd614590
VS
35812013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * configure.ac: Don't add -m32/-m64 on emu.
3584
a8686589 35852013-11-02 neil
3586
3587 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
3588 broken linux headers.
3589
fb9f12a0
VS
35902013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
3593
e25f8e1f
VS
35942013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
3597 Reed-Solomon recovery if more than half of redundancy info is 0.
3598
4685200f
VS
35992013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * util/grub-mount.c: Handle symlinks to directories.
3602
1397f0b5
VS
36032013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
3606 find_file recursively for symlink.
3607
8b3e6eb6
VS
36082013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * tests/util/grub-shell.in: Copy themes.
3611
a0c9d5c6
VS
36122013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
3615
5cf9459c
VS
36162013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * configure.ac: Use 0x8000 for address instead of 8000.
3619
e7b66a28
VS
36202013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
3623 signature.
3624
203f53fb
VS
36252013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
3628 variable.
3629
02663ee9
VS
36302013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
3633
f169f65e
VS
36342013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
3637 file_progress_read_hook.
3638 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
3639
2855a0fc
VS
36402013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
3643 and double.
3644
bf0f3a8c
VS
36452013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
3648
cb72aa18
VS
36492013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 Rewrite blocklist functions in order to get progress when
3652 reading large extents and decrease amount of blocklist hook calls.
3653
896f9135
VS
36542013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
3657 of SI suffixes.
3658
89295a06
VS
36592013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 Support --base-clock for serial command to handle weird cards with
3662 non-standard base clock.
3663
eb03ede0
VS
36642013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
3667 strncpy.
3668 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
3669 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
3670 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
3671 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
3672 + strcpy rather than strncpy.
3673
8fbe5c7d
VS
36742013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
3677 (check_pool_label): Likewise. Fixes overflow.
3678 (nvlist_find_value): Fix comparison.
3679
e54b8f53
VS
36802013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * include/grub/misc.h (grub_strcat): Removed. All users changed to
3683 more appropriate functions.
3684
fa9b3dca
VS
36852013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
3688 realloc.
3689
9a021c55
VS
36902013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * util/grub-mkrescue.in: Do not use UUID search on EFI.
3693
80e8b13a
VS
36942013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
3697 on core size.
3698
b61599ac
VS
36992013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
3702
a602dc54
VS
37032013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
3706 (initialize_tables): reset tl and td to NULL after freeing.
3707
93c12075
VS
37082013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
3711
1ca4b75e
VS
37122013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
3715 of supported tags.
3716
329550c4
VS
37172013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
3720
00bfa988
VS
37212013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/loader/multiboot.c: Add support for multiboot kernels
3724 quirks.
3725
81afc5cc
VS
37262013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
3729 a page in protected space.
3730
cb3c4a47
VS
37312013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
3734 allocate space for zero-sized modules.
3735
954f7bf5
VS
37362013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
3739
526d3d25
FL
37402013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
3741
3742 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
3743
74124c34
VS
37442013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
3747 safeguards. Fixes a crash with i386/pc/console.c.
3748
5177391e
VS
37492013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
3752 and grub_hostfs_init.
3753
64db14b0
VS
37542013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3755
3756 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
3757 windows method on other platforms without good stat as well.
3758
effe2036
VS
37592013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
3762
82591fa6 37632013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 3764
82591fa6
VS
3765 Make / in btrfs refer to real root, not the default volume.
3766 Modify mkrelpath to work even if device is mounted with subvolid option.
3767
37682013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
3769
3770 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
3771 extra_dist.
3772 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
3773 extra_dist.
3774
30fd7198
VS
37752013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
3778 fails.
3779
8d179dae
BC
37802013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
3781
3782 * docs/autoiso.cfg: New file.
3783
3bc9c8cf
VS
37842013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
3787 COND_GRUB_PE2ELF conditions.
3788
8b46b0ea
VS
37892013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
3792 "vnd", "rd" and "fd" disks.
3793
442b86de
VS
37942013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 Move grub_disk_write out of kernel into disk.mod.
3797
04dea7e6
VS
37982013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
3801 handling.
3802
38032013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
3804
3805 * grub-core/kern/misc.c (grub_abort): Make static
3806
04dea7e6 38072013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
3808
3809 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
3810 transform invalid unicode codepoints.
3811
04dea7e6 38122013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
3813
3814 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3815 \0 checking.
3816
03dcac7f
VS
38172013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
3820
c81acb7f
VS
38212013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 Consolidate cpuid code.
3824
c1bee646
VS
38252013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 Move cpuid code to cpuid.h and TSC code to tsc.c.
3828
f37bf9c7
GS
38292013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3830
3831 * util/grub.d/00_header.in: Don't use LANG if it's not set.
3832
4021132b
GS
38332013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3834
3835 * util/grub-mkconfig.in: Replace $0 with $self.
3836 * util/grub-reboot.in: Likewise.
3837 * util/grub-set-default.in: Likewise.
3838
3ace8d75
BC
38392013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3840
3841 * docs/osdetect.cfg: New file.
3842
1e6ad6a6
BC
38432013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3844
3845 * tests/util/grub-shell.in: Add new --debug option.
3846
188929eb
BC
38472013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3848
3849 * tests/test_unset.in: New test.
3850
7994a09a
BC
38512013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3852
3853 * tests/test_sha512sum.in: New test.
3854
2a8a7585
VS
38552013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
3858 * include/grub/misc.h: Remove strncat.
3859 * grub-core/lib/posix_wrap/string.h: Likewise.
3860
cf8d6bbd
VS
38612013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
3864 Try to handle more than 0xFFFF packets.
3865 Reported by: Bernhard Übelacker <bernhardu>.
3866 He also spotted few overflows in first version of this patch.
3867
6d1fc99a
VS
38682013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * tests/date_unit_test.c: New test.
3871
10bafa1c
VS
38722013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
3875 of first three years after start of validity of unixtime.
3876
b1c6d037
VS
38772013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
3880 division as the one making more sense.
3881 (update_screen): Likewise.
3882 (complete): Likewise.
3883
5f4028d4
VS
38842013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
3887
a2856736
VS
38882013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 Make char and string width grub_size_t rather than grub_ssize_t.
3891
0a7e52b2
VS
38922013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
3895 unsigned.
3896 (grub_history_replace): Likewise.
3897
42829573
VS
38982013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
3901 appropriate.
3902
3523b8d8
VS
39032013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
3906 appropriate.
3907
d43c6489
VS
39082013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
3911 Use unsigned divisions rather than signed variants.
3912
f690f8b0
VS
39132013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * grub-core/video/readers/png.c (grub_png_convert_image): Use
3916 unsigned arithmetics.
3917 Add missing break.
3918
74ff2c05
VS
39192013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
3922
fb56391e
VS
39232013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
3926 rather than signed one.
3927 (recovery): Likewise.
3928
40f29060
VS
39292013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
3932
c64577a5
VS
39332013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
3936 than signed.
3937
c16535a8
JM
39382013-10-25 Jon McCune <jonmccune@google.com>
3939
3940 * docs/grub.texi: Cleanup security documentation around signatures.
3941
6673d8e7
VS
39422013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
3945
a105d375
VS
39462013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
3949 than int.
3950
af81ed88
VS
39512013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
3954 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
3955 functions when compiling for kernel.
3956
ea899a57
VS
39572013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
3960 unsigned long long when using %llu.
3961
c6dc6fa1
VS
39622013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
3965 terminal after updating progress.
3966
ad2dc003
VS
39672013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
3970 argument. We don't disable Gate A20 in this code.
3971
b46684ae
VS
39722013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
3975 Conceptually based on change in branch "vbe-on-coreboot".
3976
f70d5c07
RM
39772013-10-24 Robert Millan <rmh@gnu.org>
3978
3979 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
3980 numeric constants with their symbolic equivalent.
3981 Taken from branch "vbe-on-coreboot".
3982
bca274b4
VS
39832013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * docs/grub.texi: Fix ordering and use pxref rather than xref.
3986
238f0489
VS
39872013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
3990 divmod64 for offset division.
3991
863c590b
PFS
39922013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3993
3994 Rename .bzrignore to .gitignore. Add "*.o" rule.
3995
3996 * .bzrignore: Renamed to...
3997 * .gitignore: ...this.
3998
84a0e969
PFS
39992013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4000
4001 Add new progress module that displays the load progress of files.
4002
4003 * grub-core/lib/progress.c: New file.
4004 * grub-core/Makefile.core.def (progress): New module.
4005 * grub-core/kern/file.c (grub_file_open): File name added.
4006 * (grub_file_read): Progress hook added.
4007 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
4008 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
4009 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
4010 * include/grub/file.h (struct grub_file): Add progress module members.
4011 * include/grub/term.h (struct grub_term_output): Likewise.
4012 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
4013 Terminal velocity added.
4014 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
4015 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
4016 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
4017 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
4018 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
4019 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
4020 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
4021 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
4022 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
4023 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
4024 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
4025 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
4026
0d711431
VS
40272013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 Verify signatures of signatures unless --skip-sig is specified.
4030
f8401f76
VS
40312013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
4034 \0 checking.
4035
4036 Saves 70 bytes on compressed image.
4037
ac1feb61
VS
40382013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
4041 check.
4042
4043 Saves 10 bytes on compressed image.
4044
00f72e89
VS
40452013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * grub-core/kern/misc.c (grub_isprint): Move to ...
4048 * include/grub/misc.h (grub_isprint): ... here. Make inline.
4049
4050 Saves 20 bytes on compressed image due to remving exporting.
4051
067e6ae7
VS
40522013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
4055
4056 Saves 5 bytes on compressed image.
4057
64a6c791
VS
40582013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
4061 function get_utf8.
4062
4063 Saves 379 bytes on compressed image.
4064
979d9f52
VS
40652013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
4068
1437da54
VS
40692013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
4072
4073 Saves 40 bytes on compressed image.
4074
d9ee2269
VS
40752013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
4078 mask rather than 64-bit type.
4079
4080 Saves 20 bytes on compressed image.
4081
63efa602
VS
40822013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
4085 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
4086
47601ffe
VS
4087 Saves 273 bytes on compressed image.
4088
2cc679ad
VS
40892013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
4092 variable length arrays.
4093
4094 Saves 50 bytes on compressed image.
4095
2e4659b8
VS
40962013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4097
4098 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
4099
2a40badf
VS
41002013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/fs/ufs.c: Remove variable length arrays.
4103
1ba6b9b9
VS
41042013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
4107
f3e39341
VS
41082013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * grub-core/fs/zfs.c: Remove variable length arrays.
4111 Reduces zfs.mod by 160 bytes (208 compressed).
4112
71523935
VS
41132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
4116
28153eb8
VS
41172013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/net/arp.c: Remove variable length arrays.
4120 * grub-core/net/bootp.c: Likewise.
4121 * grub-core/net/dns.c: Likewise.
4122 * grub-core/net/icmp6.c: Likewise.
4123 * grub-core/net/net.c: Likewise.
4124
88ce4cd7
VS
41252013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * grub-core/fs/ntfs.c: Remove variable length arrays.
4128 Increases ntfs.mod by 64 bytes (but decreases by 3 when
4129 compressed).
4130
66123940
VS
41312013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * grub-core/fs/hfs.c: Remove variable length arrays.
4134 Reduces hfs.mod by 8 bytes (52 compressed).
4135
0927e5bd
VS
41362013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 4139 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
4140 compressed).
4141
9c12ac97
VS
41422013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 4145 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
4146 compressed).
4147
97ec2d71
VS
41482013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 4151 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
4152 compressed).
4153
156e4ea0
VS
41542013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * grub-core/fs/xfs.c: Remove variable length arrays.
4157 Reduces xfs.mod by 40 bytes (43 compressed).
4158
3b502c29
VS
41592013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * grub-core/fs/fshelp.c: Remove variable length arrays.
4162 Reduces fshelp.mod by 116 bytes (23 compressed).
4163
c7037f1d
VS
41642013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/normal/completion.c: Remove variable length arrays.
4167 * grub-core/normal/menu_entry.c: Likewise.
4168
4169 Reduces normal.mod by 496 bytes.
4170
a07e6ad0
VS
41712013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
4174 by 356 bytes (158 compressed).
4175
2359bf88
VS
41762013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
4179 by 364 bytes (169 compressed).
4180
d28e1163
VS
41812013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
4184 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
4185 * include/grub/types.h (grub_unaligned_uint64_t): New type.
4186
e89c2d48
VS
41872013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
4190 bitmasks to small structures of size chosen to fit in registers.
4191
7abdac8e
VS
41922013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * conf/Makefile.common: Use -freg-struct-return on i386. This
4195 decreases code size and improves performance.
4196
518864c0
VS
41972013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
4200
bbd2b539
VS
42012013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
4204 "(null)" string.
4205 Simplify expressions to save around 256 bytes in kernel.img.
4206 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
4207
99519c15
VS
42082013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
4211 Use GRUB_UTIL_FD_O_* rather than O_*.
4212
20285765
VS
42132013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 Add haiku-specific functions.
4216
887c0bb6
VS
42172013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
4220
cd78a56f
VS
42212013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 Move stat () and device mode checking into OS-dependent files as
4224 long as performance doesn't suffer.
4225
a4012f07
VS
42262013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 Split make_system_path_relative_to_its_root into separate file
4229 relpath.c from getroot.c as it's common between unix and haiku
4230 but otherwise haiku doesn't use any functions from unix getroot.c.
4231
31de274d
VS
42322013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
4235 New function.
4236 (grub_util_is_special_file): Likewise.
4237
40346de6
VS
42382013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
4241 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
4242
d3923ab9
VS
42432013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
4246 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
4247
663f6eb1
VS
42482013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
4251 (load_image): Likewise.
4252
44d1c20a
VS
42532013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * util/grub-render-label.c: Move backend part to ...
4256 * util/render-label.c: ... here.
4257
d0a116ee
VS
42582013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4259
4260 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
4261 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
4262
b47fcae6
VS
42632013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
4266
0f7c00c1
VS
42672013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
4270 CD-ROM in case when it's declared as having subpartitions.
4271
29013cba
VS
42722013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 Don't add -lm on haiku.
4275
4276 * configure.ac: Define BUILD_LIBM to -lm on most platforms
4277 and empty on haiku.
4278 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
4279 -lm.
4280
e8559d24
VS
42812013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * configure.ac: Use -melf_*_haiku as target on haiku.
4284
8104063c
VS
42852013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * Makefile.util.def: Add util/setup.c to extra_dist.
4288
fc3182c7
VS
42892013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
4292 unknown types through.
4293
f90a3cc0
VS
42942013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
4297 (grub_util_check_char_device): Likewise.
4298 * include/grub/emu/getroot.h: Likewise.
4299
1e3e7419
VS
43002013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
4303 memset rather than inline static function.
4304
92c88fc8
VS
43052013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
4308 not doing embedded decompressor.
4309
3cd910a2
VS
43102013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
4313 shadowing.
4314 * grub-core/kern/disk.c: Likewise.
4315 * grub-core/kern/misc.c: Likewise.
4316 * include/grub/parser.h: Likewise.
4317 * include/grub/script_sh.h: Likewise.
4318 * include/grub/zfs/zfs.h: Likewise.
4319
7b3aca00
VS
43202013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
4323
97dfe7e4
VS
43242013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
4327 defined before trying to use it.
4328
bf919aa9
VS
43292013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
4332 warning.
4333
f4ccf29d
VS
43342013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
4337 Use __unused__ rather than __used__ on gcc < 3.2.
4338
0d3a6f85
VS
43392013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4340
4341 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
4342 gcc < 4.0.
4343 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
4344
757e3eb7
VS
43452013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
4348
fb320faf
VS
43492013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
4352 * include/grub/emu/misc.h: Likewise.
4353
ea73acd2
VS
43542013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
4357 cur_color.
4358
71237a6f
VT
43592013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
4360
4361 * grub-core/tests/checksums.h: Regenerated due to progress bar
4362 get_minimal_size changes.
4363
3d46c22f
BC
43642013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
4365
4366 Added `tr' command support.
4367
4368 * grub-core/commands/tr.c: New file.
4369 * grub-core/Makefile.core.def: Build rules for new module.
4370
4371 * tests/grub_cmd_tr.in: New test.
4372 * Makefile.util.def: Build rules for new test.
4373
47e0a61f
VT
43742013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4375
4376 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
4377
946fd073
VT
43782013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4379
4380 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
4381 * docs/gurb.texi: Likewise.
4382
9c13c576
VT
43832013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4384
4385 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
4386 Pixmap highlighted section with east and west slices was displayed
4387 incorrectly due to negative width of the central slice.
4388
ad543f12
VT
43892013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4390
4391 * docs/grub.texi: Graphical options information update.
4392 Removed outdated. Updated current. Inserted missed.
4393
6176a0cd
VS
43942013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * docs/grub.texi: Mention few new platform-specific commands.
4397
9688cae2
VS
43982013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
4401 currently used so this doesn't really have any effect.
4402 Reported by: Douglas Ray <dougray>
4403
f7b69a3f
VS
44042013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
4407 compilation but prevents gcc from displaying messages in non-Latin
4408 alphabets.
4409 * conf/Makefile.common: Likewise.
4410
ceca6ddf
HY
44112013-10-16 Hiroyuki YAMAMORI
4412
4413 Handle Japanese special keys.
4414 Reported by: Hiroyuki YAMAMORI.
4415 Codes supplied by: Hiroyuki YAMAMORI.
4416
ac48d334
VT
44172013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4418
4419 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
4420
b2b71bff
VT
44212013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4422
4423 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
4424 * docs/grub.texi: Likewise.
4425
669fc449
VS
44262013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
4429 value in case of incomplete read.
4430 (grub_util_fd_write): Likewise.
4431
59381678
VS
44322013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
4435
bacfefbb
VS
44362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * util/grub-editenv.c (create_envblk_file): More from here ...
4439 * util/editenv.c (grub_util_create_envblk_file): ... to here.
4440
f7c49570
VS
44412013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
4444 canonicalize file name before doing the rest.
4445
7b83ca44
VS
44462013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
4449 mingw32.
4450
df1e64c9
VS
44512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 Define grub_util_is_directory/regular/special_file and
4454 use OS-dependent versions rather than to rely on stat().
4455
ec16e026
VS
44562013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * util/grub-mkimage.c: Move backend part to ...
4459 * util/mkimage.c: ... here.
4460
4b4eeb3c
VS
44612013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 Allow compilation with mingw64 albeit with warnings due to lack of
4464 %llx/%llu.
4465
4466 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
4467 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
4468 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
4469 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
4470 on mingw64.
4471 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
4472
f4e0adc0
VS
44732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 Remove leftover references to some of the system headers.
4476
e0127364
VS
44772013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
4480 read.
4481
20d53541
VS
44822013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
4485 of strerror.
4486
5a869940
VS
44872013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 Split out blocklist retrieving from setup.c to
4490 grub-core/osdep/blocklist.c and add windows implementation since
4491 generic version doesn't work on NTFS on Windows due to aggressive
4492 unflushable cache.
4493
c06c7520
VS
44942013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
4497 files.
4498
8f53bb3f
VS
44992013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
4502 Cut tailing newline. Remove arbitrary limitation. Always use
4503 grub_util_tchar_to_utf8.
4504
148f1007
VS
45052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
4508 * tests/printf_unit_test.c (printf_test): Add %% tests.
4509 Reported by: Paulo Flabiano Smorigo.
4510
af3b06be
VS
45112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
4514 implement fsync.
4515
27f9d02e
VS
45162013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * configure.ac: Check for nvlist_lookup_string in nvpair since we
4519 use nvlist_lookup_string and don't use nvlist_print.
4520
f6a81f0a
VS
45212013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 Add wrappers around rename, unlink, mkdir, opendir, readdir and
4524 closedir to handle filename charset translation.
4525
d7750b32
VS
45262013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * include/grub/emu/hostdisk.h: Move file operations to
4529 * include/grub/emu/hostfile.h: ... here.
4530
2859196e
VS
45312013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
4534 unicode path.
4535
c018c968
VS
45362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
4539
7e45abce
VS
45402013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
4543 and remove export.h.
4544
23934da2
VS
45452013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * grub-core/kern/emu/error.c: Removed.
4548 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
4549 explicitly as it's already in libgnu.a.
4550
c11ebcc8
VS
45512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
4554 config-util.h include.
4555
70671037
VS
45562013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 Split emunet into platform-dependent and GRUB-binding parts. Keep
4559 platform-dependent part in kernel for easy access to OS functions.
4560
25ac643a
VS
45612013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
4564 open/read/write.
4565
69ca5876
VS
45662013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * grub-core/osdep/windows/emuconsole.c: New file.
4569
d9d68ef0
AB
45702013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4571
4572 * conf/Makefile.extra-dist: Add osdep/*/init.c
4573
58e211cc
VS
45742013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
4577
588744d0
VS
45782013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * util/grub-probe.c (probe): Separate different drives in hint-str
4581 by spaces and not newlines.
4582 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
4583
44016e52
AB
45842013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4585
4586 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4587 Handle CD-ROMs.
4588
6de9ee86
VS
45892013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 Pass-through unknown E820 types. It required reorganisation of mmap
4592 module.
4593
f8f3f155
AB
45942013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4595
4596 * Makefile.util.def: Add osdep/init.c to grub-mount files.
4597
b73249d2
VS
45982013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
4601 fseeko.
4602
dac86b18 46032013-10-14 qwertial <qwertial>
4604
4605 * grub-core/gdb_grub.in: Fix overflow and wrong field.
4606
17614b84
JM
46072013-10-14 Jon McCune <jonmccune@google.com>
4608
4609 * docs/grub.texi: Document new signatures possibility.
4610
6de292cb
VS
46112013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
4614
84379b61
VS
46152013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
4618 missing prototype.
4619 (grub_util_tchar_to_utf8): Likewise.
4620
21d85db1
VS
46212013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
4624 * grub-core/kern/emu/main.c: Add missing include.
4625 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
4626 Don't call grub_util_init_nls.
4627 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
4628 Likewise.
4629
66a1b3ee
VS
46302013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
4633 stat.
4634
e19bec17
VS
46352013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
4638
ee8c1b29
VS
46392013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
4642
bb338aaf
VS
46432013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 Add a wrapper for fopen. On unix-like systems just pass-through. On
4646 windows use unicode version.
4647
ae5540d3
VS
46482013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 Move set_program_name and init_nls to host_init. On windows
4651 fix in this fuction console and argument charset as well.
4652
4cd3c4fe
AB
46532013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
4654
4655 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
4656 GRUB_ENABLE_CRYPTODISK.
4657
4658 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
4659 GRUB_ENABLE_CRYPTODISK.
4660 * util/grub-mkconfig_lib.in: Likewise.
4661
78170f3e
CCZ
46622013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
4663
4664 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4665
3414b6c0
MC
46662013-10-12 Melki Christian <Christian.melki@saabgroup.com>
4667
4668 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
4669 error when enabling debug.
4670
6d0740e8
IB
46712013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
4672
4673 * configure.ac: Use -melf_*_obsd on openbsd.
4674
ff2d4dc4
VS
46752013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
4678
eac6ae82
VS
46792013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * include/grub/misc.h: Use gnu_printf rather than printf as format
4682 template since our functions are independent of libc.
4683
ba9baabe
VS
46842013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 * util/grub-setup.c (setup): Move copying of partition table as
4687 futher up as possible to avoid possible overwrite by floppy routines.
4688
46892013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
4690
4691 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
4692
145e2369
VT
46932013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4694
4695 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
4696 * docs/grub.texi: Likewise.
4697
3530bc9d
VS
46982013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
4701 it's mostly unused. Move vestiges to the callers.
4702
fb9f59c3
VS
47032013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
4706 version of salt and hash. Use grub_snprintf rather than snprintf.
4707
9be1c255
VS
47082013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * docs/grub.texi: Fix problem with braces.
4711
ed8c0887
VS
47122013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * conf/Makefile.extra-dist: Fix extra-dist list.
4715 * grub-core/Makefile.core.def: Likewise.
4716
f72ab14e
VS
47172013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * docs/grub.texi: Document disk names used on Windows and AROS.
4720
2fe53a22
VS
47212013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
4724 with AROS devs.
4725 * grub-core/osdep/aros/hostdisk.c: Likewise.
4726
71c1d67a
VS
47272013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 Avoid including hostfile.h when not necessarry as it pulls
4730 in OS-specific headers which may redefine generic names
4731 like "far".
4732
ad297ec7
VT
47332013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4734
4735 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
4736 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
4737 scrollbar_bottom_pad
4738 * docs/grub.texi: Likewise.
4739
6e9e5dc9
VT
47402013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4741
4742 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
4743
761c718b
VS
47442013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
4747
37149a2f
VS
47482013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
4751 Removed.
4752 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
4753 Made static.
4754
3837a151
VS
47552013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
4758 leftover.
4759
caca1c70
VS
47602013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 Move OS-specific driver configuration to grub_util_fd_open. This
4763 moves OS-dependent parts from kern/emu/hostdisk.c to
4764 grub-core/osdep/*/hostdisk.c.
4765
f7676b70
VS
47662013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * util/grub-mkimage.c (generate_image): Use size_t instead of
4769 grub_size_t.
4770 * util/grub-mkimagexx.c (locate_sections): Likewise.
4771 (load_image): Likewise.
4772
22f98db2
VS
47732013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
4776 size_t.
4777 (grub_util_write_image): Likewise.
4778
b102ce69
VS
47792013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
4782 get random when no RNG is available.
4783 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
4784
acbbe5cb
VS
47852013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * include/grub/util/lvm.h: Removed.
4788
2112fb3f
VS
47892013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
4792 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
4793
79f78fbf
VS
47942013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * grub-core/osdep/windows/sleep.c: Add missing config.h.
4797
c2e6f705
VS
47982013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
4801
aabe433a
VS
48022013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/net/drivers/emu/emunet.c: Move to ..
4805 * grub-core/osdep/linux/emunet.c: ..here.
4806
9a2c903f
VS
48072013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * util/ieee1275/ofpath.c: Move to ...
4810 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
4811 * grub-core/osdep/basic/ofpath.c: ..here.
4812
4a445f58
VS
48132013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 Move password-querying (util-version) routines to grub-core/osdep.
4816
c1ca4244
VS
48172013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 Move sleep routines to grub-core/osdep.
4820
672fa55e
VS
48212013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 Move OS-dependent files to grub-core/osdep and document it.
4824
a5b0365a
VS
48252013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
4828 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
4829
29072e99
VS
48302013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
4833
f8772ea7
VS
48342013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * util/misc.c: Remove leftover inclusion of malloc.h.
4837
a1a315e7
VS
48382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * include/grub/setjmp.h: Remove leftover GRUBOF.
4841
cef86fef
VS
48422013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * util/raid.c: Fold into ...
4845 * util/getroot_linux.c: ... here. Make all functions static.
4846
c4cf25ee
VS
48472013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
4850 macros to GRUB ones.
4851
53a5f5c2
VT
48522013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4853
4854 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
4855 occasional bug. If there are too many boot entries or too low
4856 scrollbar height then we need to use another formula to calculate
4857 the position and size of the scrollbar thumb.
4858
de300af2
VS
48592013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4860
c4cf25ee 4861 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 4862
c5827364
VT
48632013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4864
4865 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
4866 * docs/grub.texi: Likewise.
4867
dd2ed8b0
VT
48682013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4869
4870 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
4871 viewport.
4872
7286c384
VT
48732013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4874
ffdfc1f3
VT
4875 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
4876 minimal width calculations.
7286c384 4877
ea547e14
VS
48782013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 * docs/grub.texi: Update note on colors on emu console.
4881
b726be76
VS
48822013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
4885 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
4886 it's FS and not GRUB limitation.
4887
a5f6ade6
VS
48882013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
4891
3b0f3aa2
VS
48922013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
4895
1db38304
ST
48962013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4897
4898 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
4899 kernels by version order.
4900
fb295fc0
VS
49012013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
4904
47345010
VS
49052013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 Add AROS hostdisk and getroot routines.
4908
bf25f879
VS
49092013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 Make cryptodisk and diskfilter probe data retrievable programmatically
4912 and not just printable.
4913
24ca4512
VS
49142013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 Split random retrieving code into separate files.
4917
c7c177f0
VS
49182013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
4921 R_ARM_V4BX.
4922
d71b45ae
VS
49232013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
4926 condition.
4927 * grub-core/tests/fake_input.c: Likewise.
4928 * grub-core/tests/cmdline_cat_test.c: Likewise.
4929
e44b9a83
VS
49302013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/video/capture.c: Do not do finalization when .fini
4933 is called as there is explicit capture_end.
4934
4fa60739
VS
49352013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
4938 changing windows to avoid crash.
4939
17c8bc37
VS
49402013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
4943
9d4d7977
VS
49442013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * po/exclude.pot: Add several strings to exclude.
4947
0caa407c
VS
49482013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
4951
9ae393da
VS
49522013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * autogen.sh: Add ./util/grub-gen-widthspec.c and
4955 ./util/grub-gen-asciih.c to exclude list.
4956
498d5033
VS
49572013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
4960 and don't mark error strings for translation.
4961
7d93298f
VS
49622013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
4965 properly in case of missing block size.
4966
b2cae20c
VS
49672013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * grub-core/lib/arm/setjmp.S: Add missing license section.
4970
3896d6b4
VS
49712013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 * po/swiss.sed: Add replacement for key names and for term computer.
4974
ebc1da55
VT
49752013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
4976
4977 * grub-core/gfxmenu/theme_loader.c: New global options for the
4978 theme background image handling. desktop-image-scale-method,
4979 desktop-image-h-align, desktop-image-v-align.
4980 * grub-core/gfxmenu/view.c: Likewise.
4981 * include/gfxmenu_view.h: Likewise.
4982 * include/bitmap_scale.h: Proportional scale functions introduced.
4983 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
4984 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
4985 cases of unexpected input variables for scale functions.
4986 * docs/grub.texi: Updated documentation for new options.
4987
c5739143
VS
49882013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
4991
be74aeb3
VT
49922013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4993
4994 * grub-core/tests/checksums.h: Corrected due to changes in
4995 bilinear interpolation function.
4996
d999ac72
VT
49972013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4998
4999 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
5000 to eliminate artefacts in bilinear interpolation.
5001
2b131610
VS
50022013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * grub-core/video/readers/tga.c: Support paletted tga.
5005
de6e5ff8
VS
50062013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
5009 incorrect cbcr setting when in color mode.
5010
fa31ee9c
VS
50112013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * grub-core/video/readers/png.c: Support paletted images and clean up
5014 greyscale support.
5015
e84f8188
VS
50162013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
5019 usage of wrong table which resulted in mishandling of 4-byte
5020 sequences.
5021
50222013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
5023
5024 * grub-core/term/terminfo.c: Add Home and End key sequences.
5025
d72bff09
VS
50262013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 * grub-core/video/readers/png.c (grub_png_decode_image_header):
5029 Fix formula for computing total number of bytes.
5030
29648c5d
VS
50312013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
5034 image processing, fix big-endian and support grayscale.
5035
4a876492
VS
50362013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
5039 Correctly will with maximum transparency when using index color.
5040
3ccf16df
VS
50412013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * grub-core/video/readers/png.c: Support grayscale
5044
50452013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
5046
5047 * grub-core/video/readers/jpeg.c: Support grayscale.
5048
3ccf16df 50492013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
5050
5051 * grub-core/commands/loadenv.c: Support skipping signature check
5052 and variable names filtering.
5053
30b7f58f
VS
50542013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5055
5056 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
5057 * grub-core/kern/emu/hostfs.c: Likewise.
5058 * util/getroot_unix.c: Likewise.
5059
bab7b1eb
VS
50602013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
5063 Migrate all explicit defines to this new one.
5064
43b1c99d
VS
50652013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
5068 grub_util_fd_strerror when using grub_util_fd_*.
5069 (grub_util_fd_open_device): Likewise.
5070 (grub_util_biosdisk_read): Likewise.
5071 (grub_util_biosdisk_write): Likewise.
5072 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
5073 (grub_util_fd_strerror): Likewise.
5074 (grub_util_fd_sync): Likewise.
5075 (grub_util_fd_close): Likewise.
5076 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
5077 (grub_util_fd_close): Likewise.
5078 (grub_util_fd_strerror): Likewise.
5079 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
5080 function proto rather than macro.
5081 (grub_util_fd_sync): Likewise.
5082 (grub_util_fd_open): Likewise.
5083 (grub_util_fd_strerror): New proto.
5084
e8fd80bc
VS
50852013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
5088 platforms on which it doesn't work.
5089
bf645fda
VS
50902013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
5093 stat immediately to where it's used.
5094
5177ba14
VS
50952013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * util/getroot.c (grub_util_check_block_device): Move to ...
5098 * util/getroot_unix.c (grub_util_check_block_device): ... here.
5099 * util/getroot.c (grub_util_check_char_device): Move to ...
5100 * util/getroot_unix.c (grub_util_check_char_device): ... here.
5101
9db826e1
VS
51022013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
5105 disk closing logic.
5106
49120085
AB
51072013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5108
5109 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
5110
b3328b68
AB
51112013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5112
5113 * docs/grub.texi (File name syntax): Document ZFS filenames
5114 (/volume@snapshot/...).
5115
3fff48ab
VS
51162013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
5119 Always return full path. Fixes a problem with mkrelpath.
5120
39cfdaa9
PFS
51212013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5122
5123 * util/grub-install.in: Add GPT PReP support.
5124 * util/grub-probe.c (probe): Support GPT partition type.
5125 (main): Support -t gpt_parttype.
5126
7c680e1f 51272013-09-23 Aleš Nesrsta <starous@volny.cz>
5128
5129 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
5130
890bdabe
MM
51312013-09-23 Massimo Maggi <me@massimo-maggi.eu>
5132
5133 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
5134
9c262ff9
TH
51352013-09-23 Tim Hardeck <thardeck>
5136
5137 * util/grub.d/10_hurd.in: Filter out character for the class.
5138 * util/grub.d/10_kfreebsd.in: Likewise.
5139 * util/grub.d/10_linux.in: Likewise.
5140 * util/grub.d/20_linux_xen.in: Likewise.
5141
d755342a
MC
51422013-09-23 Melki Christian <Christian.melki@saabgroup.com>
5143
5144 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
5145 "changed".
5146
68b77707
JT
51472013-09-23 Josh Triplett <josh@joshtriplett.org>
5148
5149 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
5150 boot partition.
5151
efa68bfa
VS
51522013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
5155 doesn't use posix_wrap. Keep literal -fno-builtin however.
5156
d9104204
VS
51572013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
5160
c248781a 51612013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
51622013-09-23 neil
5163
5830df88 5164 * configure.ac: Do not enable -Wmissing-noreturn as its
5165 usefulness is limited and creates problems on some OS notably with
5166 code generated by bison.
5167
51682013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
51692013-09-23 neil
5170
5171 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 5172 supported by all gcc and when it is, it's already enabled by -Wall.
5173
621bed69
VS
51742013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
5177 desactivated use of EDID at all.
5178
71764dc8 51792013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
51802013-09-23 neil
5181
5182 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
5183 video if no text is available.
5184
affce7d4 51852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
51862013-09-23 neil
5187
5188 * configure.ac: Substitute TARGET_RANLIB.
5189
51902013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
51912013-09-23 neil
affce7d4
VS
5192
5193 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
5194
5195 Based on patches from AROS.
5196
0e8daad0 51972013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 51982013-09-23 neil
0e8daad0
VS
5199
5200 * grub-core/Makefile.am: Override STRIP and RANLIB.
5201 * configure.ac: compute TARGET_RANLIB.
5202 * INSTALL: Document TARGET_RANLIB
5203
5204 Based on patches from AROS.
5205
3f7d9c82
VS
52062013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
5209 that floppies are unpartitioned.
5210
bca8873a
VS
52112013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
5214 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
5215
52162013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
5219 less nice but more portable.
5220 * grub-core/lib/posix_wrap/wchar.h: Likewise.
5221
a47a78be
VS
52222013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
5225 for cheat_fd.
5226 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
5227 functions.
5228 (grub_cryptodisk_cheat_insert): Likewise.
5229 (grub_cryptodisk_close): Likewise.
5230
e85a5d5c
VS
52312013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
5234 Use windows path for DEFAULT_DIRECTORY.
5235
dad9fa6b
VS
52362013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
5239 difference was likely just gcc version, not anything mingw-related.
5240
7e518ca8
VS
52412013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 Use Winapi on both cygwin and mingw32 to share more code between both.
5244
d68d0157
AB
52452013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5246
5247 * util/grub-install.in: Add --grub-editenv option.
5248 * util/grub-install_header (grub_compress_file): Explicitly check for
5249 plain file to avoid cp error.
5250
775b284d
AB
52512013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5252
5253 * docs/grub.texi (Device syntax): Document new LVM UUID based device
5254 names; fix LVM driver name (lvm, not lv).
5255 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
5256 names.
5257
3ff4063d
VS
52582013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
5261 files rather than one file with loads of #if's.
5262 * util/getroot.c: Likewise.
5263
287faafe
VS
52642013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
5267
d1983764
VS
52682013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
5271 GNU/Hurd to the list of checked PRNG.
5272
15ce95c4
VS
52732013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * configure.ac: On FreeBSD use -melf_*_fbsd format.
5276
207862dd 52772013-09-21 Ales Nesrsta <starous@volny.cz>
5278
7c680e1f 5279 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 5280
63653cfd
VS
52812013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
5284 * grub-core/disk/lvm.c: Add LVM UUIDs.
5285 * util/getroot.c: Use LVM UUIDs whenever possible.
5286
f5d3e7ef
AB
52872013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
5288
5289 * docs/grub.texi (Networking commands): Add documentation for
5290 network related commands.
5291
53c6b7d6
VS
52922013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5293
5294 * util/getroot.c (grub_util_open_dm): Check major rather than the name
5295 to determine if device is handled by devmapper.
5296 (convert_system_partition_to_system_disk): Likewise.
5297 (get_dm_uuid): Don't check explicitly if device is mapped, it's
5298 already done in grub_util_open_dm.
5299
e70d6736
LL
53002013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
5301
5302 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
5303 Clean up stack manipulation (sync_caches_armv*)
5304
90379808
VS
53052013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * util/lvm.c: Remove since unused. Remove remaining references.
5308
386701a8
VS
53092013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 Handle the case of partitioned LVM properly.
5312
5313 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5314 Stop on meeting LVM, mpath or DMRAID.
5315 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
5316 (read_device_map): Likewise.
5317 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
5318 device is full disk rather than erroring out on LVM and similar cases.
5319
53070787
VS
53202013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
5323
1bc783bd
VS
53242013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
5327 4K before the end.
5328 Reported by: Leif Lindholm
5329
436ad5c3
PW
53302013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
53312013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
5334 codes.
5335
607319c9
CW
53362013-09-18 Colin Watson <cjwatson@ubuntu.com>
5337
5338 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
5339 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
5340
d404d154
DR
53412013-09-18 Douglas Ray <dougray@cpan.org>
5342
5343 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
5344 as secure.
5345
28851ef6
AN
53462013-09-18 Aleš Nesrsta <starous@volny.cz>
5347
5348 * docs/grub.texi: Fix broken link.
5349
897c3bc6
MC
53502013-09-18 Melki Christian <Christian.melki@saabgroup.com>
5351
5352 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
5353 to break endless loop.
5354
f1630459
VS
53552013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * util/grub-fstest.c: Fix several printf formats.
5358 * util/grub-mkimage.c: Likewise.
5359 * util/grub-mkimagexx.c: Likewise.
5360 * util/grub-script-check.c: Likewise.
5361
64463dfd
VS
53622013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
5365 error.
5366
48972495
VS
53672013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
5370
5dd5e64b
VS
53712013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
5374 removed in current versions cygwin_conv_*.
5375
1c1f31e5
VS
53762013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * configure.ac: Disable efiemu runtime on cygwin.
5379
c546a259
VS
53802013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
5383 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
5384
81690478
VS
53852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
5388 error message.
5389
6b87c10a
VS
53902013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
5393 windows variant.
5394 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
5395 data.
5396
8f0baaac
VS
53972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
5400 when on x86 and not cygwin.
5401 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
5402 -Wl,-melf_x86_64.
5403
b224c266
VS
54042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 * configure.ac: Set CPP to build one when checkoing for freetype for
5407 build.
5408
506b336b
VS
54092013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
5412 [!GRUB_BUILD]: Remove has_argument.
5413
8c8c87b7
VS
54142013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
5417 Replace with a dummy.
5418
7dc5ca13
VS
54192013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * configure.ac: Don't change host_os from mingw to cygwin.
5422
c3302aa5
VS
54232013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * configure.ac: Change target_os from windows to cygwin.
5426
7b780018
VS
54272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 Handle grub-pe2elf and grub-mkfont for cases when build != host.
5430
5431 * Makefile.am (build-grub-mkfont): Don't include gnulib.
5432 (build-grub-gen-asciih): Likewise.
5433 (build-grub-gen-widthspec): Likewise.
5434 * Makefile.util.def (grub-pe2elf): Remove.
5435 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
5436 * configure.ac: Separate tests for build.
5437 Move ./build-grub-pe2elf to grub-core.
5438 Fix typo.
5439 * grub-core/Makefile.am (build-grub-pe2elf): New target.
5440 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
5441 defined.
5442 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
5443 constants.
5444 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
5445 * util/grub-pe2elf.c: Simplify not to rely on getopt.
5446 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
5447
984cfd8a
VS
54482013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
5451 mingw32 as well based on grub_util_get_disk_size.
5452 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
5453 grub_util_get_fd_size.
5454 (sync): Removed.
5455 (fsync): Moved to ...
5456 * grub-core/kern/emu/misc.c (fsync): ... here.
5457
f82d79c9
VS
54582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * include/grub/mm.h (grub_extend_alloc): Remove.
5461 * grub-core/loader/i386/pc/plan9.c: Use own version of
5462 grub_extend_alloc with appropriate types.
5463
fd7dd66d
VS
54642013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
5467
43ffba7c
VS
54682013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * util/getroot.c: Include sys/wait.h only when we need waitpid.
5471
3c7eac44
VS
54722013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 Fix dependencies on cygwin.
5475
5476 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
5477 dependencies when used and defined.
5478 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
5479
bdb5ba47
VS
54802013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
5483 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
5484
ed7fbf43
VS
54852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
5488 implementation available to cause compile-time rather than runtime
5489 error.
5490
fc46e9fc
VS
54912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * util/grub-fstest.c: Don't check for symlinks on windows.
5494
7f68269a
VS
54952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * INSTALL: Mention unavailability of man pages when cross-compiling.
5498
8ed358e0
VS
54992013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
5502 and gcry_log_bug.
5503 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
5504
fc97214f
VS
55052013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 * INSTALL: Document cross-compilation.
5508 * acinclude.m4: Determine whether nm support -P and --defined-only.
5509 * configure.ac: Add TARGET_ to all variables pertaining to target
5510 that don't have it yet.
5511 * gentpl.py: Likewise.
5512 * grub-core/Makefile.am: Likewise.
5513 * grub-core/genmod.sh.in: Likewise.
5514 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
5515 as well.
5516
ca1fb563
IB
55172013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5518
5519 * configure.ac: Remove -Wempty-body. It's not essential and needs
5520 recent gcc.
5521
0031b229
IB
55222013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5523
5524 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
5525 * util/getroot.c: Likewise.
5526
54ea2f44
VS
55272013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * grub-core/disk/ahci.c: Add needed explicit cast.
5530 * grub-core/lib/backtrace.c: Likewise.
5531 * grub-core/net/ip.c: Likewise.
5532 * grub-core/net/tcp.c: Likewise.
5533 * grub-core/net/udp.c: Likewise.
5534
3c601f8c
VS
55352013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
5538
1d679dda
VS
55392013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * util/import_gcry.py: Add final newline in visibility.h.
5542
00c28dd9
VS
55432013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * conf/Makefile.common: Fix typo.
5546
32af299a
VS
55472013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
5550
e733cf52
VS
55512013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * Makefile.am (widthspec.h): Fix typo.
5554 * util/grub-gen-widthspec.c: Likewise.
5555
c6b066f2
VS
55562013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 Move ascii.h and widthspec.h generation to a separate build-time-only
5559 tool.
5560
ad1fe3f9 55612013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5562
5563 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5564 Always fill bootdisk info and improve check for NetBSD disklabel.
5565
92a52dd4
VS
55662013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * conf/Makefile.extra-dist: Add util/bin2h.c.
5569 Reported by: floppym.
5570
b2e9d276
VS
55712013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
5574
7b966834
VS
55752013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * configure.ac: Disable unifont and starfield if no freetype was found.
5578
d5c1eef1
VS
55792013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
5582 on NetBSD and OpenBSD.
5583
66345b50 55842013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
5585
5586 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
5587
66345b50 55882013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
5589
5590 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
5591 reduced. Inheritant options are processed during the theme loading.
5592
66345b50 55932013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
5594
5595 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
5596
369508b3
AS
55972013-08-14 Avik Sil <aviksil@in.ibm.com>
5598
5599 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
5600
56012013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
5602
5603 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
5604 using qemu.
5605
6f27a3f6
PFS
56062013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5607
5608 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
5609 remove-potcdate.sed.
5610
c6ed362a
AB
56112013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5612
5613 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
5614 unused attribute from pull argument.
5615
5e7d9464
AB
56162013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5617
5618 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
5619 memory leak.
5620
dea55e2a
AB
56212013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5622
5623 * util/getroot.c (pull_lvm_by_command): add --separator option
5624 to vgs call to disable padding of output to 10 characters.
5625
f0b94ded
VS
56262013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
5629 here ...
5630 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
5631 here.
5632
b828fb5d
VS
56332013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
5636 length.
5637
7c9d0c39
VS
56382013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 Fix handling of build-time grub-bin2h and grub-mkfont when doing
5641 full Canadian cross. Tested with build=x86_64, host=arm,
5642 target=ppc-ieee1275.
5643
816719c8
VS
56442013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * configure.ac: Error if no $BUILD_CC could be found.
5647 Reported by: DevHC.
5648
2af2353b
VS
56492013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
5652 i386-multiboot.
5653
797abd0a
VS
56542013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
5657 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
5658
36e87d25
CW
56592013-08-13 Colin Watson <cjwatson@ubuntu.com>
5660
5661 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
5662 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
5663 falling back to the partition device, otherwise a later call to this
5664 function may fail spuriously.
5665 Reported by Axel Beckert. Fixes Debian bug #708614.
5666
273349fe
GS
56672013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5668
5669 * autogen.sh: Replace find -not by the POSIX-compliant find !.
5670
418f86c6
GS
56712013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5672
5673 Prevent shadowing of stdlib's devname(3) on BSD.
5674
5675 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
5676 and devlast to diskname and disklast, respectively.
5677
c137aea0
CW
56782013-08-11 Colin Watson <cjwatson@ubuntu.com>
5679
5680 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
5681
272dc8df 56822013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
5683
5684 * docs/grub.texi: Introduce terminal window position options:
5685 terminal-left: terminal window's left position
5686 terminal-top: terminal window's top position
5687 terminal-width: terminal window's width
5688 terminal-height: terminal window's height
5689 terminal-border: terminal window's border width
5690 * grub-core/gfxmenu/theme-loader.c: Likewise.
5691 * include/grub/gfxmenu_view.h: Likewise.
5692 * po/exlude.pot: Likewise.
5693 * grub-core/gfxmenu/view.c: Likewise.
5694 Also updated minimal window size.
5695 Also terminal_sanity_check function has been introduced.
272dc8df
VT
5696 * grub-core/tests/checksums.h: Update (terminal window height
5697 is adjusted now for low resolution screen)
b4743461 5698
748a4533
VS
56992013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
5702 position).
5703
fca5f944
VS
57042013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * po/exclude.pot: Add few recent exceptions.
5707
4f47d809
VS
57082013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 * tests/grub_func_test.in: Add unicode.pf2.
5711
a62ae90c
VS
57122013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
5715 standard rather than noral color, in line with other terminals.
5716
4ed41392
VS
57172013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
5720 analysis.
5721
3719fbc5
VS
57222013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * grub-core/loader/arm/linux.c: Change printf to dprintf.
5725
459b1d91
VS
57262013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
5729 inappropriate printf.
5730
f4e1ab9d
AB
57312013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
5732
5733 * .bzrignore: Remove grub-core/lib/dtc-grub,
5734 grub-core/Makefile.libfdt.def
5735 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
5736
fa471bfa
VS
57372013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * include/grub/video.h (grub_video_register): Keep double-linked as
5740 well as single-linked invariants.
5741 Reported by: qwertial.
5742
d65be02b
VS
57432013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * grub-core/commands/nativedisk.c (get_uuid): Handle
5746 GRUB_DISK_DEVICE_UBOOTDISK_ID.
5747
ba8bc620
VT
57482013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
5749
5750 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
5751 maximum of NW, N, NE heights instead of N's height and maximum of
5752 NW, W, SW widths instead of W's width. (So the box will be always
5753 correctly drawn)
5754
4f0ad029
GS
57552013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5756
5757 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
5758 Fix misuse of variable count.
5759
43d53b72
LL
57602013-07-18 Leif Lindholm <leif.lindholm@arm.com>
57612013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
57622013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 5763
43d53b72
LL
5764 New ports to arm-uboot and arm-efi.
5765 Mostly by Leif Lindholm with some additions from
5766 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 5767
88f8d146
VS
57682013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
5771 and not before.
5772 Reported by: Leon Drugi.
5773
3f42504c
VS
57742013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
5777 Reported by: Paulo Flabiano Smorigo.
5778
d110499b
VT
57792013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5780
5781 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
5782
a8674ad3
VT
57832013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5784
5785 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
5786
286fe4b3
VS
57872013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
5790
1bd57aa3
VS
57912013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
5794
7a87d69f
AB
57952013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
5796
5797 * grub-core/net/bootp.c: Export net_* variables.
5798 * grub-core/net/net.c: Likewise.
5799
b2182299
VS
58002013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
5803
795b3dc0
VS
58042013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
5807
68714c43
VS
58082013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
5811
af211bab
VS
58122013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
5815
0036f02d
MM
58162013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5817
5818 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
5819 <= 0.
5820
6d0ddff3
MM
58212013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5822
5823 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
5824 functions.
5825
038016f4
MM
58262013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5827
5828 * grub-core/fs/zfs/zfs_lz4.c: New file.
5829 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
5830
776bdce2
MM
58312013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5832
5833 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
5834
c71dbd40
MM
58352013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5836
5837 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
5838 (check_pool_label): Likewise.
5839 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
5840
58412013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
5842
5843 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
5844
8e67b50f
AB
58452013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5846
5847 * docs/grub.texi (Commands): Document postition parameters
5848 for menuentry command.
5849
f5ae3717
AB
58502013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5851
5852 * util/grub-mknetdir.in: Remove stray line from help output.
5853
9c28da2a
VS
58542013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5855
5856 Remove early sm712 init as there is no reason for it (the "watchdog"
5857 effect was due to wrong GPIO map).
5858
139072b8
VS
58592013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5860
5861 * grub-core/commands/pcidump.c: Remove static variables.
5862
c6a61bda
VS
58632013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 * grub-core/commands/sleep.c: Refresh screen before sleeping.
5866
51369614
VS
58672013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 * configure.ac: Move delimiter after the infos.
5870
efa8640a
VS
58712013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
5874
6f80a7b2
VS
58752013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
5878 not filling whole 8x16 space.
5879
a2371e19
VS
58802013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
5883
64fce2d8
VS
58842013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * configure.ac: Indicate which liblzma is used if any.
5887
eb272d84
PW
58882013-06-21 Paul Wise <pabs3@bonedaddy.net>
58892013-06-21 Craig Sanders <savannah@taz.net.au>
5890
5891 * util/grub-reboot.in: Document submenu usage.
5892
a9e5abee
CW
58932013-06-25 Colin Watson <cjwatson@ubuntu.com>
5894
5895 * .bzrignore: Update with a number of new test-related files.
5896
e639c204
CW
58972013-06-25 Colin Watson <cjwatson@ubuntu.com>
5898
5899 * util/grub-script-check.c: Fail on scripts containing no
5900 commands, to guard against corrupted grub-mkconfig setups that
5901 produce no useful output.
5902 * tests/grub_script_no_commands.in: New test.
5903 * Makefile.util.def (grub_script_no_commands): Add.
5904 Reported by Hans Putter. Fixes Debian bug #713886.
5905
a4c89b17
AB
59062013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5907
5908 * grub-core/disk/diskfilter.c: Forgot to remove comment
5909 from previous commit.
5910
5b06b53c
AB
59112013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5912
5913 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5914 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
5915
702da5c9
AB
59162013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5917
5918 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
5919
aa62a5b7
AB
59202013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5921
5922 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
5923 rescan diskfilter devices until nothing new is found.
5924
4aa237c8
VS
59252013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 Fix casts when compiling coreboot-specific code for 64-bit EFI.
5928
93d8479b
VS
59292013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 Don't try to detect cbfs on *-emu.
5932
837222cc
VS
59332013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * grub-core/term/gfxterm.c: USe right background color when scrolling.
5936
99c971af
VS
59372013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 Add support for processed coreboot payload chainloading.
5940
e6930a45
VS
59412013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5942
5943 Enable coreboot information commands even when not loaded as
5944 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
5945
5027af38
VS
59462013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 Support for cbfs. Also factor out the part which is common
5949 for all archives to a separate module. This splits tar from cpio
5950 as they are very different but keeps cpio, cpio_be, odc and newc
5951 together since they're very similar.
5952
a5b55c4b
DM
59532013-06-15 David Michael <fedora.dm0@gmail.com>
5954
5955 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
5956 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
5957
0301a8b3
VS
59582013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * tests/grub_script_eval.in: Really add the eval test.
5961
3d84cb17
VS
59622013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 Move flavour-specific parts out of common cpio.c file and
5965 rename remaining to cpio_common.c
5966
593e430c
AB
59672013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5968
5969 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
5970 off new function grub_script_execute_new_scope. Change callers to use
5971 either of them as appropriate.
5972 * grub-core/commands/eval.c: New command eval.
5973 * docs/grub.texi (Commands): Document it.
5974
63c29849
AB
59752013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5976
5977 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
5978 to fetch values when listing.
5979
cc284112
AB
59802013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5981
5982 Fix make dist on non-pc.
5983
59842013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
5985
5986 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
5987 without a device name.
5988
69544d1e
VS
59892013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 Remove enable_executable_check as it's not needed anymore.
5992 Reported by: dougray.
5993
96dbe648
VS
59942013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
5997 ambigouos RAID before discovering RAIDs on top of it.
5998 Reported by: bodom.
5999
ccfc0bdb
VS
60002013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 Fix typo (failback vs fallback).
6003
f2587088
AB
60042013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
6005
6006 * util/grub.d/30_os-prober.in: Add support for probing EFI
6007 System Partition (as of os-prober 1.58).
6008
cec5cf0c
VS
60092013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 * configure.ac: Add yet another path to unifont. For parabola.
6012
e40b4596
JT
60132013-05-30 Josh Triplett <josh@joshtriplett.org>
6014
6015 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
6016 handling to copy the killed characters to the kill buffer as
6017 UCS4 stored as grub_uint32_t rather than as 8-bit characters
6018 stored as char. Eliminates UCS4 truncation and corruption
6019 observed when killing characters with Ctrl-u and yanking them
6020 back with Ctrl-y.
6021
fc4c4fdd
VS
60222013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 Detach optional parts of gfxterm and integrate in with coreboot init.
6025
6570b205
VS
60262013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 Move blit and fill dispatcher to appropriate files to decrease export
6029 and relocation overhead.
6030
b8323067
VS
60312013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/font/font.c, include/grub/font.h: Inline simple font
6034 functions.
6035
3cc1878f
VS
60362013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * grub-core/Makefile.am: Fix compilation problem with some
6039 automake versions.
6040
4b80e43c
VS
60412013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
6044
57e0c20c
VS
60452013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
6048 automake versions.
6049
4fd42c53
VS
60502013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
6053 SSDT.
6054
1e908b34
RS
60552013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
6056
6057 * grub-core/partmap/dfly.c: New partition map.
6058
1359e474
VS
60592013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
6062 checking.
6063 Reported by: Francesco Lavra.
6064
17806392
AB
60652013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
6066
6067 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
6068 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
6069 false conditions.
6070 * conf/Makefile.common: define dist_grubconf_DATA
6071
cdce14fa
VS
60722013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 Progressively skip menu elements on small terminals rather
6075 than crashing.
6076
c8d6cc3c
VS
60772013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6080 to avoid losing last column.
6081
a73b31ce
VS
60822013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 * po/exclude.pot: Add missing string "%C".
6085
1202c764
VS
60862013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
6089 after the test.
6090
50268344
VS
60912013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * util/grub-install.in: Gettextize "Not found" message.
6094
62b15edf
VS
60952013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 Fix distfiles list.
6098 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6099
61002013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
6101
6102 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
6103 present.
6104 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
6105
709ad61b
VS
61062013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
6109
d128901a
VS
61102013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
6113 attribute since structure is not necessarily aligned.
6114
34b22f5c
AB
61152013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
6116
6117 * docs/grub.texi (Device syntax): Clarify description of network
6118 drives.
6119
0f7e980b
VS
61202013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
6123 for vasprintf presence.
6124
30b03dc2
VS
61252013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * util/grub-install.in: Handle efibootmgr presence check.
6128 Reported by: Leif Lindholm.
6129
0dc11c08
VS
61302013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
6133 new strings to translate.
6134
f8024c3f
VS
61352013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
6138 yet another string (pun intended) to translate.
6139
b4c1da62
VS
61402013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 * po/POTFILES-shell.in: Autogenerate it.
6143
0ef7478b
VS
61442013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
6147
8200fa15
VS
61482013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
6151 misnomer.
6152
091945b2
AB
61532013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
6154
6155 * docs/grub.texi (Network): Add description of net_default_interface,
6156 net_default_ip and net_default_mac. Rewrite variables description
6157 to emphasize that they are per-interface.
6158
0e7b2e32
VS
61592013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 New test: cmdline and cat.
6162
16f7c8f6
VS
61632013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/commands/cat.c: Show UTF-8 characters.
6166
3e912fda
VS
61672013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * conf/Makefile.common: Poison float and double on non-emu.
6170
ee0220bc
VS
61712013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * configure.ac: Don't disable extended registers on emu.
6174
89e0240c
VS
61752013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * configure.ac: Don't use extended registers on x86_64.
6178 Reported by: Peter Jones.
6179
e56d9637
VS
61802013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * grub-core/term/efi/console.c: Fix compile error.
6183
8098f655
VS
61842013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 Compressed HFS+ support.
6187
16940e07
VS
61882013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
6191 pixel".
6192
c5dbc13d
VS
61932013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 Menu color test.
6196
011f8ae8
VS
61972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * grub-core/tests/setjmp_test.c: New test.
6200
2aa072d7
VS
62012013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 New variables 'net_default_*' to determine MAC/IP of default interface.
6204
43fe02cb
VS
62052013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * tests/gettext_strings_test.in: A test to check for strings not
6208 marked for translation.
6209
bed06142
VS
62102013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 * autogen.sh: Exclude unused libgcrypt files from translation.
6213
fb2666b5
VS
62142013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 Simplify few strings.
6217
d22840ec
VS
62182013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 Mark few forgotten strings for translation.
6221
e34092fd
VS
62222013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
6225 rather than printf.
6226
47cf82b4
VS
62272013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
6230 rather than printf.
6231 * grub-core/video/readers/tga.c: Likewise.
6232
1eed0e6e
VS
62332013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * tests/priority_queue_unit_test.cc: New test.
6236
c5b7697b
VS
62372013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
6240 than printf.
6241
5945c2f8
AB
62422013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
6243
6244 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
6245 variable for one time boot menu entry.
6246
fa292343
B
62472013-05-05 Bean <bean123ch@gmail.com>
6248
6249 * grub-core/commands/testspeed.c: New command testspeed.
6250
310d4214
VS
62512013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 Factor-out human-size printing.
6254
85002bf3
VS
62552013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 Agglomerate more mallocs to speed-up gfxterm.
6258
22b06e96
VS
62592013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 Speed-up gfxterm by slightly agglomerating mallocs.
6262
b7c036bc
VS
62632013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 More video checks.
6266
92323d1f
VS
62672013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 Speed-up gfxterm by saving intermediate results in index+alpha
6270 format.
6271
0fb356a3
VS
62722013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
6275 test.
6276
44dea3f9
VS
62772013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
6280 line of timeout as it may contain the rest of long line.
6281
14af86e4
VS
62822013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/normal/main.c: Fix freed memory dereference.
6285
03f7c8c3
VS
62862013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 Fix several memory leaks.
6289
c686014c
VS
62902013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
6293
0788a695
VS
62942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
6297
daf01d61
VS
62982013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 Fix test -a and -o precedence.
6301 Reported by: adrian15.
6302
82ae74d7
VS
63032013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
6306
8cec7bd4
AB
63072013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
6308
6309 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
6310 and add it as source to functional_test module.
6311
aa73d688
VS
63122013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
6315
c104b6f9
VS
63162013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 New series of tests for gfxterm and gfxmenu.
6319
7391c4d5
VS
63202013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
6323 the theme path relative to $prefix/themes.
6324
cff50118
VS
63252013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
6328 Fix order bug.
6329 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6330
7c332bdc
VS
63312013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
6334 descriptor.
6335
a4f9a5ff
VS
63362013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
6339 grub_gfxmenu_timeout_notifications.
6340 (grub_gfxmenu_view_destroy): Likewise.
6341
b5a2114d
VS
63422013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
6345
a8905e8a
VS
63462013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 Several fixes to ieee1275 and big-endian video.
6349
813c1622
VS
63502013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 Add missing exports on mips.
6353
3f3e7326
VS
63542013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
6357 if no unifont is found.
6358 Restore original keyboard.
6359
095accd1
VS
63602013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6363 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
6364
50361660
VS
63652013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 First automated video test (running videotest and comparing results)
6368
cd0f6eec
VS
63692013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
6372 instead of 2 to have full RGB/CMY test pattern.
6373
3f9634e5
VS
63742013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 Add few more tests.
6377
583e5b64
VS
63782013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6379
6380 * include/grub/arc/arc.h: Account for missing "other" peripheral on
6381 ARCS. All users updated.
6382
aa7bcb99
VS
63832013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
6386
95ef1a54
VS
63872013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * grub-core/partmap/amiga.c: Fix size of checksummed block.
6390
46546fc5
VS
63912013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
6394 Reported by: qwertial.
6395
3476e0ef
VT
63962013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6397
6398 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
6399 with syntax "XXX deg"/"XXX °".
6400
96f33fed
VS
64012013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6402
6403 Make PCI init in i386-qemu port more robust.
6404
64052013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
6406
6407 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
6408 cached view is reused.
6409 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
6410 open boot menus.
6411
c53b4e67
VS
64122013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6413
6414 Unify more code in grub-install_header.
6415
f7457fb2
VS
64162013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 Add few new tests.
6419
e2f27a8c
VS
64202013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 Enforce disabling of firmware disk drivers when native drivers kick in.
6423
ef9d8cd5
VS
64242013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * grub-core/commands/nativedisk.c: Customize the list of modules on
6427 platform. Don't try to search for disks already using native drivers.
6428
f7bf6c31
VS
64292013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
6432 platforms.
6433
bdc4add8
VS
64342013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
6437 handling of variables containing backslash.
6438
e9e46c9a
VS
64392013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
6442 dereference.
6443 Reported by: qwertial.
6444
0e90dee8
VS
64452013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
6448
e0aacf24
VS
64492013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
6452 dereference.
6453 Reported by: qwertial.
6454
3c0003c3
VS
64552013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * docs/grub.texi: Add a comment about usefullness of nativedisk.
6458
adb7d667
VS
64592013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
6462
7cd0df84
VS
64632013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 New command `nativedisk'.
6466
02adbb93
VS
64672013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
6470 * grub-core/loader/i386/bsd.c: Likewise.
6471
9fb0fd4f
VS
64722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
6475
bd69257a
VS
64762013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
6479 grub_get_unaligned16 rather than shifts.
6480
178c2764
VS
64812013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 * grub-core/kern/file.c: Use const char * rather than casting to
6484 non-const.
6485
eadfad24
VS
64862013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 * grub-core/commands/probe.c: Add missing grub_device_close.
6489
9f73ebd4
VS
64902013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * INSTALL: Document linguas.sh.
6493
965fa829
VS
64942013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 Remove POTFILES.in and regenerate it in autogen.sh.
6497
d417ddc4
VS
64982013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 Move --directory/--override-directorry to grub-install_header and unify.
6501
f97ec546
VS
65022013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 * grub-core/term/morse.c: Macroify dih and dah.
6505
b2d7470c
PFS
65062013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6507
6508 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
6509
141e2a78
VS
65102013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 * grub-core/term/ns8250.c: Systematically probe ports by writing
6513 to SR before using them.
6514
1dd70ebd
PFS
65152013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6516
6517 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
6518 disks.
6519 (check_sas): Get sas_adress info.
6520
c796a107
VS
65212013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
6524 ports.
6525
43168646
LD
65262013-04-27 Leon Drugi <eyak>
6527
6528 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
6529 BSS clearing.
6530
e7b8fd08
VS
65312013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 Core compression test.
6534
17f9fd29
VS
65352013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 Implement grub_machine_get_bootlocation for ARC.
6538
dc2a6c8b
VS
65392013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 Improve AHCI detection and command issuing.
6542
f25a2ba6
VS
65432013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 Fix pseries test.
6546
a6393224
VS
65472013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 Make 'make check' work on emu.
6550
db99fbe8
VS
65512013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 Replace libcurses with our own vt100 handling for the ease of testing
6554 and decreasing prerequisites.
6555
b24ca7cd
VS
65562013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
6559
63314aa4
VS
65602013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
6563 compile when not needed.
6564
c1b00fff
VS
65652013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * tests/pseries_test.in: New test.
6568
f93e89ef
VS
65692013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 Add test to check that different boot mediums work.
6572
c4b456d3
VS
65732013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
6576 ofw limited ISO support.
6577
5fe67f39
VS
65782013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * configure.ac: Fix loongson conditional.
6581
7f63a64f
VS
65822013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6583
6584 Enable mipsel-arc.
6585
b04b5990
VS
65862013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 Add serial on ARC platform.
6589
88d2f302
VS
65902013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
6593 commit.
6594
86eb23bc
VS
65952013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 * tests/partmap_test.in: Add missing double semicolon.
6598
eec3bb75
VS
65992013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * util/grub-mkrescue.in: Fix loongson filename.
6602
e0810df3
VS
66032013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 * util/grub-mkrescue.in: Move all files that don't have a location
6606 set in stone under /boot/grub. Use ISO hard links rather than copies
6607 to save some space.
6608
65a6b30b
VS
66092013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
6612 bogus SLOF values.
6613
6aff0107
VS
66142013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 Make check work on mips-arc.
6617
5e013e56
VS
66182013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * util/grub-mkrescue.in: Alias sashARCS as sash.
6621
d1989e2e
VS
66222013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
6625 it's serial.
6626
1a25e72c
VS
66272013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * util/grub-install.in: Fix target fo qemu_mips.
6630 Fix extension on EFI.
6631
a59a9826
VS
66322013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
6635 in front of chosen entry to mark it even if highlighting is lost.
6636
1a40f80c
VS
66372013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
6640 gfxpayload=keep if cbfb is active.
6641
e343549c
VS
66422013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
6645
45fbd9a2
VS
66462013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 Add missing video ids to coreboot and ieee1275 video.
6649
ab1440bd
VS
66502013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * util/grub-mkrescue.in: Add mips-arc support.
6653
cdeb8324
VS
66542013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
6657
8528c879
VS
66582013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 Move mips-arc link address. Previous link address was chosen
6661 in belief that RAM on SGI platforms grows down while in fact it
6662 grows up from an unusual base.
6663
17fca573
VS
66642013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
6667 Fix a type which prevented CD-ROM and floppy boot.
6668
d178788e
VS
66692013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 Support coreboot framebuffer.
6672
6673 * grub-core/video/i386/coreboot/cbfb.c: New file.
6674
fe4c3e7e
VS
66752013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
6678 detecting too small regions.
6679
ec2dd179
VS
66802013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
6683
872dac83
VS
66842013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
6687 Remove dprintf.
6688 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6689
90ec4b7f
VS
66902013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
6693 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6694 * grub-core/loader/powerpc/ieee1275/linux.c
6695 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6696
f32555dd
VS
66972013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6700 Look for /boot-rom as well as /rom/boot-rom.
6701
38649799
VS
67022013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
6705 handling when creating text_layer failed.
6706 * grub-core/video/video.c (grub_video_create_render_target):
6707 Set result to 0 on error.
6708 (grub_video_delete_render_target): Do not dereference NULL.
6709
aeace7f7
VS
67102013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
6713 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
6714 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
6715 (grub_linux_load64): Mask out 2 high bits.
6716
4eafa175
AB
67172013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
6718
6719 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
6720 more place.
6721
daaa64bd
VS
67222013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 Add support for pseries and other bootinfo machines to grub-mkrescue.
6725
6726 Tested by: Paulo Flabiano Smorigo.
6727
d0d2daa6
VS
67282013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * util/grub-mkrescue.in: Add GPT for EFI boot.
6731
b193e100
VS
67322013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
6735 It improves performance in qemu.
6736
a0f8f3ac
VS
67372013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * build-aux/snippet: Add missing gnulib files.
6740
284df0e2
AB
67412013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6742
6743 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
6744
740201f3
AB
67452013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6746
6747 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
6748
a7e03923
PJ
67492013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
67502013-04-15 Peter Jones <pjones@redhat.com>
6751
6752 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
6753 sectors.
6754 Based on patch by Peter Jones.
6755
25fc51a8
VS
67562013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 Fix DMRAID partition handling.
6759
88017d47
VS
67602013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 * tests/grub_cmd_date.in: Skip on sparc64.
6763
fa7d914e
VS
67642013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
6767 firmware error messages.
6768
cbe57a48
VS
67692013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
6772 source and destination differ.
6773
21aecce0
VS
67742013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
6777 detection.
6778
25092d29
VS
67792013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
6782 match config-util.h to avoid warnings and increase compatibility.
6783
79451522 67842013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 67852013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
6786
6787 Add option to compress files on install/image creation.
6788
78b7d77b
VS
67892013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * docs/grub-dev.texi: Rearrange menu to match the section order.
6792 Reported by: Bryan Hundven.
6793
cc2fa5ec
VS
67942013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
6797
b49fe879
VS
67982013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 Move GRUB out of system area when using xorriso 1.2.9 or later.
6801
5351da81
VS
68022013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 * tests/grub_cmd_date.in: Add missing exit 1.
6805
c9d586ea
VS
68062013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * tests/partmap_test.in: Skip on sparc64.
6809
3f729741
VS
68102013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 Support grub-shell on sparc64.
6813
8ca86b3a
VS
68142013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 Support mkrescue on sparc64.
6817
aa1af9bb
VS
68182013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 Allow IEEE1275 ports on path even if it wasn't detected automatically.
6821 Needed on OpenBIOS due to incomplete device tree.
6822
ac4fea79
VS
68232013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
6826 would be otherwise excluded.
6827
68282013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
6829
6830 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6831 Inline name defines used only once.
6832
fe22b071
VS
68332013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6834
6835 Fix memory leaks in ofnet.
6836 Reported by: Francesco Lavra.
6837
9d21381b
VS
68382013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * docs/man/grub-glue-efi.h2m: Add missing file.
6841
07aec23c
VS
68422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
6845
67ab8353
VS
68462013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 Better support Apple Intel Macs on CD.
6849
ba44ca6d
VS
68502013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 Replace stpcpy with grub_stpcpy in tools.
6853
bbdd6305
VS
68542013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 Handle Japanese special keys.
6857 Reported by: Hiroyuki YAMAMORI.
6858 Codes supplied by: Hiroyuki YAMAMORI.
6859
8573d302
VS
68602013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * util/grub-mkimage.c: Document memdisk implying --prefix.
6863
d70dbab7
VS
68642013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
6867 much we can do about it anyway.
6868
51a4c3e3
AN
68692013-04-12 Aleš Nesrsta <starous@volny.cz>
6870
6871 Fix handling of split transfers.
6872
92c8f58d
VS
68732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/net/http.c: Fix bad free.
6876
b7d17a49
VS
68772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
6880 than buffer size.
6881
a3d566d4
VS
68822013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6883
6884 Disable partmap check on i386-ieee1275 due to openfirmware issues.
6885
a936af56
VS
68862013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 * tests/util/grub-shell.in: Fix it on powerpc.
6889
51212234
VS
68902013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 Turn off QEMU ACPI-way since new releases don't have shutdown port
6893 anymore.
6894
a21eec9e
VS
68952013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * docs/grub.texi: Update coreboot status info.
6898
e3734b84
VS
68992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * tests/grub_cmd_date.in: New test for datetime.
6902
f9d40055
VS
69032013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 * tests/partmap_test.in: Fix missing qemudisk setting.
6906
dbc56d8f
VS
69072013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 Support i386-ieee1275 grub-mkrescue and make check on it.
6910
a79b8a15
VS
69112013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
6914 feature for it.
6915
48f39bb4
VS
69162013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
6919 GRUB_CMDLINE_XEN_DEFAULT.
6920 Reported by: Marc Warne (GigaTux) <gigatux>
6921
053cfcdd
VS
69222013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 Import new gnulib.
6925
93cd84df
VS
69262013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 Use ACPI shutdown intests as traditional port was removed.
6929
f4b1fa4f
AB
69302013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
6931
6932 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
6933 distinction.
6934
49818a59
VS
69352013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
6938 Fix few warining messages and leaks while on it.
6939
9277a306
AB
69402013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
6941
6942 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
6943 links under grub-core/lib/libgcrypt-grub/mpi.
6944
d5e2a158
VS
69452013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 Fix ia64-efi image generation on big-endian machines. Deduplicate
6948 some code while on it.
6949 Reported by: Leif Lindholm.
6950
18866643
AB
69512013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6952
6953 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
6954 as extra_dist.
6955
ca53deb8
AB
69562013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6957
6958 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
6959
d4c4b8e1
BH
69602013-04-08 Bryan Hundven <bryanhundven@gmail.com>
6961
6962 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
6963 texinfo-5.1.
6964
47043f95
VS
69652013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * grub-core/normal/term.c: Few more fixes for menu entry editor
6968 rendering.
6969 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6970
a3216068
VS
69712013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/normal/term.c: Few more fixes for menu entry editor
6974 rendering.
6975 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6976
21026747
AB
69772013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6978
6979 * conf/Makefile.extra-dist (EXTRA_DIST): Add
6980 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
6981
59624ca8
AB
69822013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6983
6984 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
6985 instead of hardcoding grub.mo.
6986
1f44478c
FN
69872013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
6988
6989 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
6990
eeada7b1
VS
69912013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
6994 grub-core/disk/geli.c.
6995
132867de
VS
69962013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * util/grub-mkfont.c: Prefer enum to #define.
6999
de73de17
VS
70002013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
7003
1865baa7
VS
70042013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
7007
ce7d92a9
VS
70082013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
7011
52eab656
VS
70122013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
7015
98b23b95
VS
70162013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 * include/grub/bsdlabel.h: Use enums.
7019
0467a5dd
VS
70202013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 Move GRUB_CHAR_BIT to types.h.
7023
16cc9f03
AB
70242013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7025
7026 * docs/grub.texi: Document more user commands.
7027
3152aecb
AB
70282013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7029
7030 * docs/grub.texi: Document menuentry --id option.
7031
c506fc30
FL
70322013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
7033
7034 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
7035
aa428238
VS
70362013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 Unify file copying setup across different install scripts. Add
7039 options for performing partial install.
7040
efe0cdda
PJ
70412013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
70422013-04-04 Peter Jones <pjones@redhat.com>
7043
7044 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
7045
f75835bd
VS
70462013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 Use TSC as a possible time source on i386-ieee1275.
7049
2cd5ce6c
VS
70502013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
7053 Init err.
7054
c9625630
VS
70552013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * util/grub-setup.c (setup): Handle some corner cases.
7058
be008941
VS
70592013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
7062
1a78d573
VS
70632013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 * grub-core/commands/verify.c: Save verified file to avoid it being
7066 tampered with after verification was done.
7067
db8ff59f
VS
70682013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
7071 reported width by one to compensate for curesor algorithm problem.
7072
91bf46b1
VS
70732013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 Fix screen corruption in menu entry editor and simplify the code
7076 flow while on it.
7077
a7b1d693
AB
70782013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
7079
7080 * util/grub-mount.c (fuse_init): Return error if fuse_main
7081 failed.
7082
31df9ad8
FL
70832013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
7084
7085 * include/grub/elf.h: Add missing ARM relocation codes and fix
7086 existing ones.
7087
07f392eb
VT
70882013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7089
7090 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
7091
9efd73ec 70922013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
70932013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
7096 into account when calculating radius.
7097
70982013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
7099
7100 * grub-core/gfxmenu/view.c: Fix off-by-one error.
7101
4985ddaa
VT
71022013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7103
7104 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
7105
8c3635ff
RS
71062013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7107
7108 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
7109 missing closing bracket.
7110
74a35e69
RS
71112013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7112
7113 * INSTALL: Mention xorriso requirement.
7114
40f1c000
AB
71152013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
7116
7117 * grub-core/commands/verify.c: Fix hash algorithms values for
7118 the first three hashes - they start with 1, not with 0.
7119
e75fdee4
VS
71202013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
7123 Try terminating EFI services several times due to quirks in some
7124 implementations.
7125
33028f4c
CW
71262013-03-26 Colin Watson <cjwatson@ubuntu.com>
7127
7128 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
7129 skipping Event, Device, Processor, PowerRes, ThermalZone, and
7130 BankField extended opcodes.
7131 (get_sleep_type): Add minimal scope handling (just enough to
7132 handle setting the scope to the root path).
7133 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
7134 * include/grub/acpi.h: Add enumeration values for Event, Device,
7135 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
7136
33871a10
VT
71372013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
7138
7139 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
7140 memory leak.
7141
8990963a
VS
71422013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * grub-core/disk/ahci.c: Give more time for AHCI request.
7145
daae8f9e
VS
71462013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
7149 command.
7150
6a7fb94b
VS
71512013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7152
7153 Replace the region at 0 from coreboot tables to available in BSD
7154 memory map.
7155
ff99babd
VS
71562013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
7159 non-BIOS platforms.
7160
30d6b1b2
VS
71612013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
7164 platforms.
7165
6ccd0b31
VS
71662013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7169 handling of multi-device filesystems.
7170
23c9cc04
VS
71712013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
7174 platforms.
7175
ce50dbd7
VS
71762013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 Add new 'proc' filesystem framework and put luks_script into it.
7179
d975e8d5
VS
71802013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
7183 and qemu.
7184
e73ba5e8
VS
71852013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
7188
92750e4c
VS
71892013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 Add ability to generate newc additions on runtime.
7192
0ec45a68
VS
71932013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
7196 description.
7197
320abd43
VS
71982013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * po/POTFILES.in: Regenerate.
7201
d7a6506e
VS
72022013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 * grub-core/commands/verify.c (hashes): Add several hashes
7205 from the spec.
7206
8fe05def
VS
72072013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 Slight improve in USB-related boot-time checkpoints.
7210
524e2766
VS
72112013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * grub-core/commands/boottime.c: Fix copyright header.
7214
cc19857a
VS
72152013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
7218 coreboot tables content. Support for cbmemc.
7219
ef8810e9
VS
72202013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 Fix a conflict between ports structures with 2 controllers of
7223 same kind.
7224
e9dabdfa
VS
72252013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * include/grub/boottime.h: Add missing file.
7228
f6df57d2
VS
72292013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 Initialize USB ports in parallel to speed-up boot.
7232
d745dda7
VS
72332013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 Fix USB devices not being detected when requested
7236 due to delayed attach.
7237
e5a2dd7b
VS
72382013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7239
e744219b
VS
7240 Implement boot time analysis framework.
7241
72422013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
7245 descriptor to just receive it as argument rather than endpoint
7246 address.
7247
5dd6f587
VS
72482013-03-19 Aleš Nesrsta <starous@volny.cz>
7249
7250 Better estimate the maximum USB transfer size.
7251
2f1071d5
VS
72522013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 Resend a packet if we got the wrong buffer in status.
7255
46ecfc49
VS
72562013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
7259 multiplication rather than division.
7260
ea811130
VS
72612013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
7264 than divisions.
7265
d2789cf0
VS
72662013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
7269 operations to have intended shifts and not divisions.
7270
a9c94590
VS
72712013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
7274 intended shifts rather than division.
7275
84cfe81b
VS
72762013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
7279 computation for some years before epoch. Avode confusing division
7280 while on it.
7281
21344ef6
VS
72822013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 * grub-core/video/i386/pc/vbe.c
7285 (grub_video_vbe_print_adapter_specific_info): Replace division by
7286 shifts.
7287
3f2b4d1a
VS
72882013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 Adjust types in gdb module to have intended unsigned shifts rather than
7291 signed divisions.
7292
3dac5878
VS
72932013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
7296 maximum size is 4G - 1 on hfs
7297
5341c0fb
VS
72982013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
7301
fc3ff2a2
VS
73022013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
7305 function.
7306
81455e8e
AB
73072013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
7308
7309 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
7310 causing gcc error with gcc 4.7.1.
7311
efd4f117
NZ
73122013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7313
7314 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
7315 dereference null pointer. While the code is technically correct, gcc
7316 may eliminate a null check if pointer is already dereferenced.
7317
e11645f4
NZ
73182013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7319
7320 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
7321 OOM check.
7322 * grub-core/normal/term.c (read_terminal_list): Likewise.
7323
77468368
VS
73242013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 Lift up core size limits on some platforms. Fix potential memory
7327 corruption with big core on small memory systems. Document remaining
7328 limits.
7329
f6b58fe5
VS
73302013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
7333 gotoxy to 0,0.
7334
19ce697d
VS
73352013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 Remove all trampoline support. Add -Wtrampolines when
7338 present. Remove symbols used for trampolines to make
7339 link fail if trampolines are present.
7340
73b5d90f
VS
73412013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
7344 append out of its parent.
7345
cb758e96
VS
73462013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
7349 parent.
7350
3188131f
VS
73512013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7352
7353 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
7354 all vars to a macro. All users updated.
7355
e42b2514
VS
73562013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7357
7358 * grub-core/disk/ieee1275/nand.c: Fix compilation on
7359 i386-ieee1275.
7360
83e1a1a1
VS
73612013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
7364
1d5a880f
VS
73652013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
7368
6e4146c4
VS
73692013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 Move to more hookless approach in IEEE1275 devices handling.
7372
99fcda8a
VS
73732013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * grub-core/kern/term.c (grub_term_normal_color),
7376 (grub_term_highlight_color): Add back lost defaults.
7377
73bf57e2
VS
73782013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 Make elfload not use hooks. Opt for flags and iterators instead.
7381
7f8c105f
VS
73822013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
7385 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
7386
396d4091
VS
73872013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 * grub-core/script/execute.c (gettext_append): Remove nested functions.
7390
73912013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
7394 hook pass-through parameter. All users updated and unnested.
7395
74a27421
VS
73962013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
7399 out of its parent.
7400
b46d4213
VS
74012013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 * grub-core/fs/hfs.c: Remove nested functions.
7404
e114c3cc
VS
74052013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
7408 the context through.
7409 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
7410
f9b7d780
VS
74112013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 * util/grub-editenv.c (list_variables): Move print_var out of its
7414 parent.
7415
ca9c2608
VS
74162013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
7419 function.
7420
5d983f5f
VS
74212013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 * grub-core/gentrigtables.c: Make tables const.
7424
3056d3e7
VS
74252013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 Remove nested functions from videoinfo iterators.
7428
e2303774
VS
74292013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
7432 for 64-bit platforms.
7433
f42e3a2f
VS
74342013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
7437 a FOR_CHILDREN macro.
7438
be174e5e
VS
74392013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
7442 platform from firmware path.
7443
0789b672
VS
74442013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 Enable linux16 on non-BIOS systems for i.a. memtest.
7447
7448 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
7449 correctly.
7450 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
7451
005a9c32
VS
74522013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
7455 Fix end of table condition.
7456
ff2b3cd9
VS
74572013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
7460 out of its parent.
7461
4fc40ff8
VS
74622013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 * grub-core/fs/jfs.c: Remove nested functions.
7465
be42d97a
VS
74662013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * grub-core/fs/minix.c: Remove nested functions.
7469
99373ce4
VS
74702013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * grub-core/fs/iso9660.c: Remove nested functions.
7473
5aec2afe
VS
74742013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
7477 of parent function.
7478
6c69e691
VS
74792013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 * util/grub-fstest.c: Remove nested functions.
7482
43c91882
VS
74832013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * grub-core/loader/machoXX.c: Remove nested functions.
7486
4eb8b756
CW
74872013-02-27 Colin Watson <cjwatson@ubuntu.com>
7488
7489 Remove nested functions from disk and file read hooks.
7490
7491 * include/grub/disk.h (grub_disk_read_hook_t): New type.
7492 (struct grub_disk): Add read_hook_data member.
7493 * include/grub/file.h (struct grub_file): Likewise.
7494 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
7495 argument.
7496
7497 Update all callers.
7498
df6da5a5
AB
74992012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
7500
7501 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
7502 Fix off by one error in enumerating extended partitions.
7503
21aecde5
AB
75042013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
7505
7506 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
7507 memory leak if device name is not found.
7508
f1a19118
AB
75092013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7510
7511 * grub-core/normal/menu_entry.c (update_screen): remove
7512 unused variable `off' which caused scroll down arrow to be always shown.
7513
958bfd20
AB
75142013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7515
7516 * grub-core/normal/menu_entry.c (insert_string): fix off by one
7517 access to unallocated memory.
7518
b7b78edb
AB
75192013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7520
7521 * Makefile.util.def: Add partmap/msdos.c to common library.
7522 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
7523 * grub-core/disk/ldm.c: Check for existence of
7524 GRUB_PC_PARTITION_TYPE_LDM.
7525
28d468d6
VS
75262013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
7529 sizes and display sector size.
7530
d55ffb02
VS
75312013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 Implement new command cmosdump.
7534
b5ea6ce0
VS
75352013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7536
7537 Support Openfirmware disks with non-512B sectors.
7538
7539 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
7540 size of the disk.
7541 * (grub_ofdisk_get_block_size): New function.
7542 * (grub_ofdisk_prepare): Use the correct block size.
7543 * (grub_ofdisk_read): Likewise.
7544 * (grub_ofdisk_write): Likewise.
7545 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
7546 New proto.
7547
cc0e476f
VS
75482013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
7551
c5dbdc33
VS
75522013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
7555 on first error.
7556
3f078c0f
VS
75572013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
7560 freeing it.
7561
66a93674
VS
75622013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 Implement USBDebug (full USB stack variant).
7565
c9f0c134
VS
75662013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
7569 unless they have unexpected values.
7570
cfe1288b
VS
75712013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7572
7573 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
7574 grub_print_error.
7575
e42b9969
VS
75762013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
7579 zero-out of port structure.
7580
cf94fd62
VS
75812013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
7584 of extended attributes.
7585
f81ef4b5
AB
75862013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
7587
7588 * util/grub-install.in: change misleading comment about
7589 device.map creation
7590
af18fdb4
VS
75912013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
7594 when menu highlight color isn't set.
7595
08bcec50
M
75962013-01-27 C. Masloch <pushbx@38.de>
7597
7598 Improve FreeDOS direct loading support compatibility.
7599
7600 * include/grub/i386/relocator.h (grub_relocator16_state):
7601 New member ebp.
7602 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
7603 variable.
7604 (grub_relocator16_boot): Handle %ebp.
7605 * grub-core/lib/i386/relocator16.S: Likewise.
7606 * grub-core/loader/i386/pc/freedos.c:
7607 Load BPB to pass kernel which partition to load from.
7608 Check that kernel file is not too large.
7609 Set register dl to BIOS unit number as well.
7610
7782b8a6
CW
76112013-01-22 Colin Watson <cjwatson@ubuntu.com>
7612
7613 * util/grub-reboot.in (usage): Document the need for
7614 GRUB_DEFAULT=saved.
7615 * util/grub-set-default.in (usage): Likewise.
7616 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7617
e661c180
VS
76182013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
7621 than defining WORDS_BIGENDIAN manually.
7622
1c22ca9a
VS
76232013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
7626 invariants.
7627
d44892fe
CW
76282013-01-21 Colin Watson <cjwatson@ubuntu.com>
7629
7630 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
7631 nested.
7632 (blit_comb: add_device_width): Likewise.
7633
5fdbaed1
CW
76342013-01-21 Colin Watson <cjwatson@ubuntu.com>
7635
7636 Remove nested functions from USB iterators.
7637
7638 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
7639 (grub_usb_controller_iterate_hook_t): Likewise.
7640 (grub_usb_iterate): Add hook_data argument.
7641 (grub_usb_controller_iterate): Likewise.
7642 (struct grub_usb_controller_dev.iterate): Likewise.
7643
7644 Update all implementations and callers.
7645
4250985a
VS
76462013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
7649 margin when not needed.
7650
7d8848f3
VS
76512013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7652
bc136973 7653 Make color variables global instead of it being per-terminal.
7d8848f3
VS
7654
76552013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7656
bc136973
VS
7657 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
7658 asterisk.
7d8848f3 7659
ed12a003
CW
76602013-01-21 Colin Watson <cjwatson@ubuntu.com>
7661
7662 Fix powerpc and sparc64 build failures caused by un-nesting memory
7663 map iterators.
7664
6a0db449
CW
76652013-01-21 Colin Watson <cjwatson@ubuntu.com>
7666
7667 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
7668 parameter declarations.
7669
ccd86b21
VS
76702013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
7673
822b726b
VS
76742013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 Improve spkmomdem reliability by adding a separator between bytes.
7677
115c2cc1
CW
76782013-01-21 Colin Watson <cjwatson@ubuntu.com>
7679
7680 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
7681 an Acer registration utility with several sightings in the wild.
7682 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
7683
fc524edf
CW
76842013-01-21 Colin Watson <cjwatson@ubuntu.com>
7685
7686 Remove nested functions from filesystem directory iterators.
7687
7688 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
7689 (struct grub_fs.dir): Add hook_data argument.
7690
7691 Update all implementations and callers.
7692
53d3e4e3
CW
76932013-01-21 Colin Watson <cjwatson@ubuntu.com>
7694
7695 * docs/grub.texi (Multi-boot manual config): Fix typo for
7696 "recommended".
7697
c821711f
LL
76982013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7699
7700 * util/grub-mkimage.c (main): Postpone freeing arguments.output
7701 until after its use in generate_image.
7702
6a0debbd
CW
77032013-01-20 Colin Watson <cjwatson@ubuntu.com>
7704
7705 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
7706 initrd size to addr_min, since the initrd will be allocated after
7707 this address.
7708
f41e08db
AB
77092013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7710
7711 * conf/Makefile.common: Fix autogen rules to pass definition
7712 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
7713
77529e0f
LL
77142013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7715
7716 * include/grub/elf.h: Update ARM definitions based on binutils.
7717
b879aa7b
VS
77182013-01-20 Aleš Nesrsta <starous@volny.cz>
7719
7720 Split long USB transfers into short ones.
7721
8eb8284d
AB
77222013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7723
7724 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
7725 is interrupted by ESC.
7726
08dad2dc
VS
77272013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * util/grub-script-check.c (main): Uniform the error message.
7730
6c724b85
CW
77312013-01-20 Colin Watson <cjwatson@ubuntu.com>
7732
7733 Remove nested functions from ELF iterators.
7734
25239370
CW
77352013-01-20 Colin Watson <cjwatson@ubuntu.com>
7736
7737 Remove nested functions from device iterators.
7738
7739 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
7740 (grub_arc_iterate_devs): Add hook_data argument.
7741 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
7742 (struct grub_ata_dev.iterate): Add hook_data argument.
7743 * include/grub/device.h (grub_device_iterate_hook_t): New type.
7744 (grub_device_iterate): Add hook_data argument.
7745 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
7746 (struct grub_disk_dev.iterate): Add hook_data argument.
7747 (grub_disk_dev_iterate): Likewise.
7748 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
7749 Likewise.
7750 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
7751 Likewise.
7752 * include/grub/partition.h (grub_partition_iterate_hook_t): New
7753 type.
7754 (struct grub_partition_map.iterate): Add hook_data argument.
7755 (grub_partition_iterate): Likewise.
7756 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
7757 (struct grub_scsi_dev.iterate): Add hook_data argument.
7758
7759 Update all callers.
7760
6c0314d6
CW
77612013-01-20 Colin Watson <cjwatson@ubuntu.com>
7762
7763 Fix typos for "developer" and "development".
7764
600dc5f1
VS
77652013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 Add license header to spkmodem-recv.c.
7768
17334a6b
VS
77692013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 Rewrite spkmodem to use PIT for timing. Double the speed.
7772
7d462559
VS
77732013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 Add new command pcidump.
7776
b78d6c32
VS
77772013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 New terminal outputs using serial: morse and spkmodem.
7780
34f71cb8
VS
77812013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 Improve bidi handling in entry editor.
7784
4542e71b
VS
77852013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7786
7787 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7788 argument to prevent name collision.
7789
09fd6d82
CW
77902013-01-15 Colin Watson <cjwatson@ubuntu.com>
7791
7792 Remove nested functions from script reading and parsing.
7793
7794 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
7795 getline_data argument, passed to getline.
7796 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
7797 getline_data argument, passed to grub_parser_split_cmdline.
7798 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
7799 lexerstate->getline_data to lexerstate->getline.
7800 (grub_script_lexer_init): Add getline_data argument, saved in
7801 lexerstate->getline_data.
7802 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
7803 argument, passed to grub_script_parse.
7804 * grub-core/script/script.c (grub_script_parse): Add getline_data
7805 argument, passed to grub_script_lexer_init.
7806 * include/grub/parser.h (grub_parser_split_cmdline): Update
7807 prototype. Update all callers to pass appropriate getline data.
7808 (struct grub_parser.parse_line): Likewise.
7809 (grub_rescue_parse_line): Likewise.
7810 * include/grub/reader.h (grub_reader_getline_t): Add void *
7811 argument.
7812 * include/grub/script_sh.h (struct grub_lexer_param): Add
7813 getline_data member.
7814 (grub_script_parse): Update prototype. Update all callers to pass
7815 appropriate getline data.
7816 (grub_script_lexer_init): Likewise.
7817 (grub_normal_parse_line): Likewise.
7818
7819 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
7820 data argument.
7821 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
7822 static instead of nested. Rename to ...
7823 (grub_parser_execute_getline): ... this.
7824 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
7825 data argument.
7826 * grub-core/normal/main.c (read_config_file: getline): Make static
7827 instead of nested. Rename to ...
7828 (read_config_file_getline): ... this.
7829 (grub_normal_read_line): Add unused data argument.
7830 * grub-core/script/execute.c (grub_script_execute_sourcecode:
7831 getline): Make static instead of nested. Rename to ...
7832 (grub_script_execute_sourcecode_getline): ... this.
7833 * util/grub-script-check.c (main: get_config_line): Make static
7834 instead of nested.
7835
d0d4b8a0
CW
78362013-01-15 Colin Watson <cjwatson@ubuntu.com>
7837
7838 Remove nested functions from memory map iterators.
7839
7840 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
7841 argument, passed to hook.
7842 * grub-core/kern/i386/coreboot/mmap.c
7843 (grub_linuxbios_table_iterate): Likewise.
7844 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
7845 instead of nested.
7846 (grub_machine_mmap_iterate): Add hook_data argument.
7847 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
7848 Add hook_data argument, passed to hook.
7849 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
7850 Likewise.
7851 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7852 Likewise.
7853 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
7854 Likewise.
7855 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
7856 Likewise.
7857 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
7858 Likewise.
7859 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
7860 Likewise.
7861 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
7862 (grub_machine_mmap_iterate): Likewise.
7863 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
7864 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
7865 prototype.
7866 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
7867 Remove NESTED_FUNC_ATTR from here and from all users.
7868 (grub_mmap_iterate): Update prototype.
7869 (grub_efi_mmap_iterate): Update prototype. Update all callers to
7870 pass appropriate hook data.
7871 (grub_machine_mmap_iterate): Likewise.
7872
7873 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
7874 static instead of nested.
7875 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
7876 Rename to ...
7877 (lsmmap_hook): ... this.
7878 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
7879 Likewise.
7880 (grub_efiemu_mmap_fill: fill_hook): Likewise.
7881 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
7882 heap_init): Likewise.
7883 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
7884 Rename to ...
7885 (mmap_iterate_hook): ... this.
7886 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
7887 Likewise.
7888 * grub-core/lib/ieee1275/relocator.c
7889 (grub_relocator_firmware_get_max_events: count): Likewise.
7890 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
7891 to ...
7892 (grub_relocator_firmware_fill_events_iter): ... this.
7893 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
7894 hook): Likewise. Rename to ...
7895 (grub_relocator_alloc_chunk_align_iter): ... this.
7896 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
7897 Rename to ...
7898 (generate_e820_mmap_iter): ... this.
7899 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
7900 Rename to ...
7901 (count_hook): ... this.
7902 (grub_linux_boot: hook): Likewise. Rename to ...
7903 (grub_linux_boot_mmap_find): ... this.
7904 (grub_linux_boot: hook_fill): Likewise. Rename to ...
7905 (grub_linux_boot_mmap_fill): ... this.
7906 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
7907 hook): Likewise. Rename to ...
7908 (grub_fill_multiboot_mmap_iter): ... this.
7909 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
7910 hook): Likewise. Rename to ...
7911 (count_hook): ... this.
7912 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
7913 hook): Likewise. Rename to ...
7914 (grub_fill_multiboot_mmap_iter): ... this.
7915 * grub-core/loader/powerpc/ieee1275/linux.c
7916 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
7917 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
7918 Likewise. Rename to ...
7919 (alloc_phys_choose): ... this.
7920 (determine_phys_base: get_physbase): Likewise.
7921 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
7922 find_hook): Likewise.
7923 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
7924 (malloc_hook: count_hook): Likewise.
7925 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
7926 Likewise. Rename to ...
7927 (lower_hook): ... this.
7928 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7929 (upper_hook): ... this.
7930 (grub_mmap_get_post64: hook): Likewise. Rename to ...
7931 (post64_hook): ... this.
7932 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
7933 Likewise. Rename to ...
7934 (lower_hook): ... this.
7935 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7936 (upper_hook): ... this.
7937 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
7938 (grub_mmap_iterate: fill_hook): Likewise.
7939 (fill_mask): Pass addr and mask within a single struct.
7940 (grub_cmd_badram: hook): Make static instead of nested. Rename
7941 to ...
7942 (badram_iter): ... this.
7943 (grub_cmd_cutmem: hook): Likewise. Rename to ...
7944 (cutmem_iter): ... this.
7945
22099030
VS
79462013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
7949 delimit path in strings using quotes.
7950 * util/getroot.c (grub_guess_root_devices): Likewise.
7951 (grub_make_system_path_relative_to_its_root): Likewise.
7952 * util/grub-probe.c (probe): Likewise.
7953 * util/ieee1275/ofpath.c (find_obppath): Likewise.
7954 (xrealpath): Likewise.
7955
4a9950ec
VS
79562013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7957
7958 Fix compilation with older compilers.
7959
7960 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
7961 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
7962 declarations.
7963 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
7964 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
7965 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
7966 identifier with b.
7967 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
7968 * include/grub/crypto.h: Add type defines.
7969 * util/import_gcrypth.sed: Remove duplicate type defines.
7970
adcc6020
VS
79712013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 New command list_trusted.
7974
7975 * grub-core/commands/verify.c (grub_cmd_list): New function.
7976
a4528937
CW
79772013-01-13 Colin Watson <cjwatson@ubuntu.com>
7978
7979 * util/grub-mkimage.c (generate_image): Fix "size of public key"
7980 info message.
7981
ca3a7446
CW
79822013-01-13 Colin Watson <cjwatson@ubuntu.com>
7983
7984 Remove nested functions from PCI iterators.
7985
7986 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
7987 passed to hook. Update all callers to pass appropriate hook data.
7988 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
7989 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
7990 Remove NESTED_FUNC_ATTR from here and from all users.
7991 (grub_pci_iterate): Update prototype.
7992 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
7993 instead of nested. Rename to ...
7994 (grub_cs5536_find_iter): ... this.
7995 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
7996 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
7997 Likewise.
7998 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
7999 Likewise.
8000 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
8001 Likewise.
8002 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
8003 Likewise.
8004 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
8005 * grub-core/video/radeon_fuloong2e.c
8006 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
8007 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
8008 find_card): Likewise.
8009 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
8010 Likewise.
8011
f8e98fee
VS
80122013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * grub-core/commands/verify.c: Mark messages for translating.
8015
055b36b6
VS
80162013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
8019 fatal.
8020
f7ff879b
VS
80212013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
8024 fatal.
8025
80262013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
8027
8028 * autogen.sh: Do not try to delete nonexistant files.
8029 * util/import_gcrypth.sed: Add some missing header removals.
8030
01323d49
CW
80312013-01-12 Colin Watson <cjwatson@ubuntu.com>
8032
8033 Clean up dangling references to grub-setup.
8034 Fixes Ubuntu bug #1082045.
8035
8036 * docs/grub.texi (Images): Refer generally to grub-install rather
8037 than directly to grub-setup.
8038 (Installing GRUB using grub-install): Remove direct reference to
8039 grub-setup.
8040 (Device map) Likewise.
8041 (Invoking grub-install): Likewise.
8042 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8043 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8044 * util/grub-install.in (usage): Likewise.
8045
8046 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
8047 Apply to grub-bios-setup and grub-sparc64-setup rather than to
8048 grub-setup.
8049 * configure.ac: Remove grub_setup output variable.
8050
8051 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
8052 to grub-bios-setup.
8053 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
8054 grub-setup to grub-sparc64-setup.
8055
5e3b8dcb
VS
80562013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 Import gcrypt public-key cryptography and implement signature checking.
8059
535714bd
VS
80602013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 * grub-core/fs/ntfs.c: Ue more appropriate types.
8063 * grub-core/fs/ntfscomp.c: Likewise.
8064 * include/grub/ntfs.h: Likewise.
8065
3e4f3566
VS
80662013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 Support Apple FAT binaries on non-Apple platforms.
8069
8070 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
8071 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
8072 Likewise.
8073 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
8074 Apple FAT binaries.
8075
4dedb13f
VS
80762013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
8079 sector devices.
8080
f8861eaf
CW
80812013-01-07 Colin Watson <cjwatson@ubuntu.com>
8082
8083 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
8084 explicitly zeroing elements.
8085 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
8086 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
8087 of elements in a structure already allocated using grub_zalloc.
8088 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8089
86065b0a
CW
80902013-01-07 Colin Watson <cjwatson@ubuntu.com>
8091
8092 * docs/grub.texi (grub_cpu): New subsection.
8093 (grub_platform): Likewise.
8094
c6f1e92f
VS
80952013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
8098
f797ec85
VS
80992013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
8102 divisions.
8103
033d0b4b
VS
81042013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
8107 * grub-core/fs/ntfscomp.c: Likewise.
8108 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
8109 (grub_ntfs_comp): Likewise.
8110
21d1b9a0
VS
81112013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8112
8113 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
8114 Rename to ...
8115 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
8116 of groups_per_block. All users updated.
8117
10ca8645
VS
81182013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
8121 grub_error properly.
8122 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
8123 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
8124
a4c3ed4c
VS
81252013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
8128 always in /boot/zfs.
8129 Reported by: Yuta Satoh.
8130
0b716507
YS
81312013-01-03 Yuta Satoh <nigoro>
8132
8133 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
8134 ${grub_probe}
8135
00c05e22
VS
81362013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * configure.ac: Extend -Wno-trampolines to host.
8139
dadddb76
VS
81402013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
8143 entry->len = 0.
8144
54ce53ca
CW
81452013-01-03 Colin Watson <cjwatson@ubuntu.com>
8146
8147 * docs/grub.texi (Invoking grub-mkrelpath): New section.
8148 (Invoking grub-script-check): Likewise.
8149
8912efca
CW
81502013-01-03 Colin Watson <cjwatson@ubuntu.com>
8151
8152 * docs/grub.texi (Invoking grub-mount): New section.
8153 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
8154
c3fc8394
CW
81552013-01-02 Colin Watson <cjwatson@ubuntu.com>
8156
8157 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
8158 test failures, so that a failing unit test correctly causes 'make
8159 check' to fail.
8160
45d26abb
CW
81612013-01-02 Colin Watson <cjwatson@ubuntu.com>
8162
8163 Fix failing printf test.
8164
8165 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
8166 '$' in the correct order when collecting type information.
8167
971dd2c6
CW
81682013-01-02 Colin Watson <cjwatson@ubuntu.com>
8169
8170 * docs/grub.texi (configfile): Explain environment variable
8171 handling.
8172 (source): New section.
8173 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
8174
5c67ea6c
CW
81752012-12-31 Colin Watson <cjwatson@ubuntu.com>
8176
8177 Remove several trivially-unnecessary uses of nested functions.
8178
8179 * grub-core/commands/i386/pc/sendkey.c
8180 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
8181 instead of nested.
8182 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
8183 Rename to ...
8184 (legacy_file_getline): ... this.
8185 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
8186 Likewise.
8187 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
8188 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
8189 to ...
8190 (probe_dummy_iter): ... this.
8191 * grub-core/kern/i386/coreboot/mmap.c
8192 (grub_linuxbios_table_iterate: check_signature): Likewise.
8193 * grub-core/kern/parser.c (grub_parser_split_cmdline:
8194 check_varstate): Likewise. Mark inline.
8195 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
8196 an additional parameter.
8197 (find_long: fnd_long): Likewise. Pass two additional parameters.
8198 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
8199 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
8200 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
8201 Likewise. Rename to ...
8202 (grub_cmos_find_port_iter): ... this.
8203 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
8204 Rename to ...
8205 (find_rtc_iter): ... this.
8206
8207 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
8208 function directly into the function body, since it is only called
8209 once.
8210
33a68ac6
CW
82112012-12-30 Colin Watson <cjwatson@ubuntu.com>
8212
8213 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
8214 __attribute__ ((unused)).
8215 * grub-core/video/bochs.c (find_card): Likewise.
8216 * grub-core/video/cirrus.c (find_card): Likewise.
8217 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
8218 * grub-core/video/sis315pro.c (find_card): Likewise.
8219 * grub-core/video/sm712.c (find_card): Likewise.
8220
608b647a
CW
82212012-12-28 Colin Watson <cjwatson@ubuntu.com>
8222
8223 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
8224 Fixes Savannah bug #37821.
8225
fd49ceb3
CW
82262012-12-28 Colin Watson <cjwatson@ubuntu.com>
8227
8228 Apply program name transformations at build-time rather than at
8229 run-time. Fixes Debian bug #696465.
8230
8231 * acinclude.m4 (grub_TRANSFORM): New macro.
8232 * configure.ac: Create output variables with transformed names for
8233 most programs.
8234 * util/bash-completion.d/grub-completion.bash.in: Use
8235 pre-transformed variables for program names.
8236 * util/grub-install.in: Likewise.
8237 * util/grub-kbdcomp.in: Likewise.
8238 * util/grub-mkconfig.in: Likewise.
8239 * util/grub-mkconfig_lib.in: Likewise.
8240 * util/grub-mknetdir.in: Likewise.
8241 * util/grub-mkrescue.in: Likewise.
8242 * util/grub-mkstandalone.in: Likewise.
8243 * util/grub-reboot.in: Likewise.
8244 * util/grub-set-default.in: Likewise.
8245 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8246 * tests/util/grub-shell-tester.in: Remove unused assignment.
8247 * tests/util/grub-shell.in: Likewise.
8248 * util/grub.d/00_header.in: Likewise.
8249
7024b3c0
CW
82502012-12-28 Colin Watson <cjwatson@ubuntu.com>
8251
8252 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
8253
8254 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
8255 HAVE_RAW_DECL_GETS.
8256 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
8257
e3501b13
VS
82582012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
8259
8260 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
8261 Reported by: Eriks Latosheks <foresterlv>.
8262
b40c88a9
VS
82632012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8264
8265 * docs/grub.texi (Network): Update instructions on generating netboot
8266 image.
8267
ce96d01c
VS
82682012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8269
8270 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
8271 around device name if necessarry.
8272
0f596201
PFS
82732012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8274
8275 * util/grub-install.in: Follow the symbolic link parameter added
8276 to the file command.
8277
600d5bdb
AB
82782012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
8279
8280 * util/grub-install.in: Remove stale TODO.
8281
64ebd2f4
PFS
82822012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8283
8284 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
8285 dynamic allocation for the bootpath buffer.
8286
74b2fe3e
DTB
82872012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
8288
8289 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
8290 window too small.
8291
969b804f
VS
82922012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
8295 argument rather than font name. All users updated.
8296 (grub_gfxterm_set_window): Likewise.
8297
b9f5ebd6
VT
82982012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
8299
8300 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
8301 from working.
8302
258f43b7
VS
83032012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * util/getroot.c (convert_system_partition_to_system_disk): Support
8306 nbd disks.
8307
cc1ce5f9
VS
83082012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
8311 infinite loop on corrupted FS.
8312
e77a16ca
VS
83132012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 Fix big-endian mtime.
8316
8317 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
8318 together sec and usec.
8319 (grub_ufs_dir): Use correct byteswapping for UFS time.
8320
d9c48c7b
VS
83212012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 Support big-endian UFS1.
8324
8325 * Makefile.util.def (libgrubmods): Add ufs_be.c
8326 * grub-core/Makefile.core.def (ufs1_be): New module.
8327 * grub-core/fs/ufs_be.c: New file.
8328 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
8329 the file.
8330
2f9f40ba
LL
83312012-11-28 Leif Lindholm <leif.lindholm@arm.com>
8332
8333 * include/grub/types.h: Fix functionality unaffecting typo in
8334 GRUB_TARGET_WORDSIZE conditional macro.
8335
48ff0889
PFS
83362012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8337
8338 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
8339
03711240
GS
83402012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8341
8342 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
8343 that /netbsd appears first (when it exists).
8344
a31b11bd
CJ
83452012-10-12 Christoph Junghans <ottxor@gentoo.org>
8346
8347 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
8348 Fixes Savannah bug #37558.
8349
e8a5d5d4
CW
83502012-10-12 Colin Watson <cjwatson@ubuntu.com>
8351
8352 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
8353 description of extract_entries_configfile.
8354
83552012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
8356
8357 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
8358 preferred_address.
8359 (grub_cmd_linux): Likewise.
8360 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
8361 preferred_lifetime. Update all users.
8362
288c757d
CW
83632012-09-26 Colin Watson <cjwatson@ubuntu.com>
8364
8365 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
8366 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
8367
0d35da3f
CW
83682012-09-26 Colin Watson <cjwatson@ubuntu.com>
8369
8370 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
8371 errors from grub-probe to /dev/null, not stdout.
8372
b78c3127
VS
83732012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
8376 sector 1.
8377
473959f0
CW
83782012-09-24 Colin Watson <cjwatson@ubuntu.com>
8379
8380 * util/grub-install.in: Make the error message if $source_dir
8381 doesn't exist more useful.
8382
794c8c33
CW
83832012-09-22 Colin Watson <cjwatson@ubuntu.com>
8384
8385 Fix grub-emu build on FreeBSD.
8386
8387 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
8388 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
8389 headers on Linux.
8390 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
8391 implementation is currently Linux-specific.
8392 * util/getroot.c (exec_pipe): Define only on Linux or when either
8393 libzfs or libnvpair is unavailable.
8394 (find_root_devices_from_poolname): Remove unused path variable.
8395
86d08fdb
CW
83962012-09-19 Colin Watson <cjwatson@ubuntu.com>
8397
8398 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
8399 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
8400 should fit before end == 63.
8401
735abf54
CW
84022012-09-19 Colin Watson <cjwatson@ubuntu.com>
8403
8404 * util/grub-setup.c (write_rootdev): Remove unused core_img
8405 parameter. Update all callers.
8406 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
8407 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
8408 GRUB_SETUP_BIOS.
8409
140acd3c
VS
84102012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 * util/grub-mkconfig_lib.in (grub_tab): New variable.
8413 (grub_add_tab): New function.
8414 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
8415 * util/grub.d/10_illumos.in: Likewise.
8416 * util/grub.d/10_kfreebsd.in: Likewise.
8417 * util/grub.d/10_linux.in: Likewise.
8418 * util/grub.d/10_netbsd.in: Likewise.
8419 * util/grub.d/10_windows.in: Likewise.
8420 * util/grub.d/10_xnu.in: Likewise.
8421 * util/grub.d/20_linux_xen.in: Likewise.
8422 * util/grub.d/30_os-prober.in: Likewise.
8423
7ddffdad
VS
84242012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8427 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
8428 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
8429 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
8430 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
8431 ieee1275-nocursor.
8432 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8433 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
8434
4e092454
VS
84352012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
8438 le-conversion.
8439 Reported by: BURETTE, Bernard.
8440
735abf54 84412012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
8442
8443 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
8444 from comment.
8445
dfd39dbd
CW
84462012-09-14 Colin Watson <cjwatson@ubuntu.com>
8447
8448 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
8449 IEEE1275 machines. Fixes powerpc-emu compilation.
8450 * include/grub/terminfo.h: Likewise.
8451
3bfa763c
VS
84522012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8453
8454 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
8455 a const pointer.
8456 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
8457 const pointer.
8458 (efiemu_set_variable): Make vendor_guid a const pointer.
8459
250e475b
VS
84602012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 Don't require grub-mkconfig_lib to generate manpages for programs.
8463
8464 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
8465 dependencies, don't add grub-mkconfig_lib.
8466 (program): Pass empty adddeps.
8467 (script): Pass grub-mkconfig_lib as adddeps.
8468
592fd0e4
VS
84692012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
8472 * util/getroot.c (grub_find_device): Likewise.
8473 (get_mdadm_uuid): Likewise.
8474 (grub_util_is_imsm): Likewise.
8475 (grub_util_pull_device): Likewise.
8476 * util/grub-probe.c (probe): Likewise.
8477
801a3027
BG
84782012-09-10 Benoit Gschwind <gschwind>
8479
8480 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
8481 (devs): Add devpath_8.
8482
c5052c81
PJ
84832012-09-08 Peter Jones <pjones@redhat.com>
8484
8485 * grub-core/Makefile.core.def (efifwsetup): New module.
8486 * grub-core/commands/efi/efifwsetup.c: New file.
8487 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
8488 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
8489 New define.
8490 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
8491
8e832f71
JS
84922012-09-05 Jiri Slaby <jslaby@suse.cz>
8493
8494 * configure.ac: Add SuSe path.
8495
f0f55752
CW
84962012-09-05 Colin Watson <cjwatson@ubuntu.com>
8497
8498 * NEWS: Fix typo.
8499
ecadc4c2
CW
85002012-09-05 Colin Watson <cjwatson@ubuntu.com>
8501
8502 * util/import_gcry.py: Sort cipher_files, to make build system
8503 generation more deterministic.
8504
64498f25
VS
85052012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
8508 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
8509 (grub_set_datetime): Likewise.
8510
9cc836a2
VS
85112012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
8514 warnings.
8515
bcfcea01
VS
85162012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
8519
a4099485
VS
85202012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
8523
265c162a
CW
85242012-09-04 Colin Watson <cjwatson@ubuntu.com>
8525
8526 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
8527 required for checkouts from bzr, but it may be useful for users or
8528 distributors wishing to update translations against a tarball
8529 distribution, and it can be helpful for the tarball to be a superset
8530 of what's in bzr.
8531
3d171e95
CW
85322012-09-04 Colin Watson <cjwatson@ubuntu.com>
8533
8534 * Makefile.am (EXTRA_DIST): Add
8535 grub-core/tests/boot/linux.init-mips.S,
8536 grub-core/tests/boot/linux.init-ppc.S, and
8537 grub-core/tests/boot/linux-ppc.cfg.
8538
f2c2503e
CW
85392012-09-04 Colin Watson <cjwatson@ubuntu.com>
8540
8541 * grub-core/mmap/mips/loongson: Remove empty directory.
8542
85432012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
8544
8545 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
8546 gone.
8547
ab2163d5
CW
85482012-09-04 Colin Watson <cjwatson@ubuntu.com>
8549
8550 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
8551 grub-sparc64-setup.
8552
ce938140
GS
85532012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8554
8555 * configure.ac: Strengthen the test for working -nostdinc -isystem.
8556
529f58a5
GS
85572012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8558
8559 * po/POTFILES.in: Regenerated.
8560
16cf79e9
GS
85612012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8562
8563 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
8564 (NetBSD): New subsection.
8565
39b27f1e 85662012-07-22 Ales Nesrsta <starous@volny.cz>
8567
8568 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
8569 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
8570
a885261b
VS
85712012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
8574 * util/grub.d/10_hurd.in: Add missing quoting.
8575 * util/grub.d/10_illumos.in: Likewise.
8576 * util/grub.d/10_kfreebsd.in: Likewise.
8577 * util/grub.d/10_linux.in: Likewise.
8578 * util/grub.d/20_linux_xen.in: Likewise.
8579
7bd29c01
VS
85802012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 New command `lsefi'.
8583
8584 * grub-core/Makefile.core.def (lsefi): New module.
8585 * grub-core/commands/efi/lsefi.c: New file.
8586 * include/grub/efi/api.h: Add more GUIDs.
8587
ac625d8f
VS
85882012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8589
8590 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
8591 (grub_bsd_elf32_hook): Likewise.
8592 (grub_bsd_elf64_size_hook): Likewise.
8593 (grub_bsd_elf64_hook): Likewise.
8594 (grub_bsd_load_elf): Likewise.
8595
e73bb801
VS
85962012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
8599 if hash function is unavailable.
8600 (dec_stream_header): Likewise.
8601
e81db8b5
VS
86022012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
8605 filter state.
8606
d187a1c3
VS
86072012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 Fix coreboot compilation.
8610
8611 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
8612 (grub_vga_text_init_real): ... this.
8613 (grub_vga_text_fini): Rename to ...
8614 (grub_vga_text_fini_real): ... this.
8615
91a05f64
VS
86162012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
8619
6af96df7
VS
86202012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * grub-core/lib/legacy_parse.c: Support clear and testload.
8623
4d569e12
VS
86242012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
8627
073b57bb
VS
86282012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * grub-core/fs/ext2.c: Experimental support for 64-bit.
8631
a706f4cc
VS
86322012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * grub-core/net/tftp.c (ack): Fix endianness problem.
8635 (tftp_receive): Likewise.
8636 Reported by: Michael Davidsaver.
8637
e7850aa9
VS
86382012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * gentpl.py: Make mans depend on grub-mkconfig_lib.
8641
86422012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
8645 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
8646 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
8647
35692881
VS
86482012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
8651 efi_mmap_size.
8652 Reported by: Stuart Hayes.
8653
c35fc5bd
VS
86542012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
8657
8658 * grub-core/Makefile.core.def (mda_text): New module.
8659 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
8660 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
8661 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
8662 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
8663 here.
8664 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
8665 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
8666 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
8667 here.
8668 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
8669 to ..
8670 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
8671 ... here
8672 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
8673 here.
8674 * grub-core/term/i386/vga_common.c: Removed.
8675 * include/grub/i386/vga_common.h: Likewise.
8676 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
8677 (grub_vga_cr_bw_read): Likewise.
8678 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
8679 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
8680 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
8681 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
8682 grub_vga_cr_read/grub_vga_cr_write.
8683 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
8684
5f91f701
VS
86852012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 * configure.ac: Bump version to 2.00.
8688 * grub-core/normal/main.c (features): Add feature_200_final.
8689
0c4f85f6
VS
86902012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
86912012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8692
8693 * NEWS: Fix unclarity and language mistakes.
8694
f923ad22
VS
86952012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
8698 additional size to 3 pages.
8699 Reported by: Stuart Hayes.
8700
d22029ba
VS
87012012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 * NEWS: Add 2.00 entry.
8704
58eee08f
VS
87052012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
8708 put explicit "/" for empty path.
8709 (wildcard_expand): Improve dprintf.
8710
c59bdff7
VS
87112012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
8714 it's equal to currnode. This can happen with "" symlink.
8715
5e6a440a
YB
87162012-06-27 Yves Blusseau <blusseau@zetam.org>
8717
8718 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
8719 echo shell command by printf command.
8720
73a68bcb
VS
87212012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
8724 the value returned by firmware is the maximal position, not diumension.
8725 (grub_terminfo_output_state): Use a more sane fallback.
8726
392a603b
VS
87272012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
8730
42d0867f
VS
87312012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
8734 frequency to 150 MHz.
8735
489509f4
VS
87362012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 Apple fixes.
8739
8740 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
8741 __APPLE_
8742 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
8743 definition.
8744 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
8745
9f3fc883
VS
87462012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 Handle slash in HFS label.
8749
8750 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
8751 (grub_hfs_dir): Tanslate slash.
8752 (grub_hfs_label): Don't translate slash.
8753
54853fd7
VS
87542012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
8757 network protocol listing since it introduces problematic dependency on
8758 net module.
8759
4dc02ddf
VS
87602012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8761
8762 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
8763
c50c867d
VS
87642012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 Init video early on yeeloong to avoid being rebooted by watchdog.
8767
8768 * grub-core/Makefile.am (gensm712): New target.
8769 (sm712_start.S): Likewise.
8770 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
8771 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
8772 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
8773 description.
8774 * include/grub/vga.h: Move registry definitions to...
8775 * include/grub/vgaregs.h: ... here.
8776
5f92c8a1
VS
87772012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
8780 signedness.
8781
e9e6f111
VS
87822012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
8785 platforms with firmware disk drivers in the core.
8786
754ad9eb
VS
87872012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
8790 informative verbose message.
8791 (read_lv): Handle 64-bit segment size.
8792
315654c2
VS
87932012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
8796
fb022c79
VS
87972012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
8800 character but still remove trainling spaces.
8801 (grub_fat_label): Ignore archive flag.
8802
8645f72c
VS
88032012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
8806 cast between linux_kernel_header and linux_kernel_params.
8807
36498496
VS
88082012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
8811 type for size.
8812 (grub_raid6_recover_func_t): Likewise.
8813 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
8814 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8815
0b5ea6b8
VS
88162012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
8819
650cfcfe
GS
88202012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8821
8822 Fix overflow.
8823
8824 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
8825 [__NetBSD__]: Add explicit cast before bitshift.
8826
8a4d6a44
VS
88272012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * configure.ac: Bump to 2.00~rc1.
8830
2fb97ed3
VS
88312012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
8834 half of $a0.
8835
1fa097dc
VS
88362012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
88372012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
8838
8839 * docs/grub.texi: Fix search syntax.
8840 (Multi-boot manual config): Put msdos rather than GPT example.
8841 Grammar corrections.
8842
c890ba78
VS
88432012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
8846
0f92dca7
VS
88472012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
8850
3988c4a0
VS
88512012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
8854 message on double free. Put the value of magic in case of mismatch.
8855
9e86d4c5
VS
88562012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 Speed-up video on yeeloong.
8859
8860 * grub-core/video/sm712.c (framebuffer): Remove render_target and
8861 add cached_ptr.
8862 (grub_video_sm712_video_fini): Unmap cached_ptr.
8863 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
8864 (grub_video_sm712_set_active_render_target): Removed.
8865 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8866 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
8867 sync caches.
8868
ed24c312
VS
88692012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 Avoid flushing the same line multiple times on loongson.
8872
8873 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
8874 Step in 32 bytes and not 1 byte.
8875 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
8876 Likewise.
8877
d1718e7d
VS
88782012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
8881 subvolumes.
8882
982f1909
VS
88832012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 Implement flow control for http.
8886
8887 * grub-core/net/http.c (parse_line): Handle response 206.
8888 (http_receive): Stall if too many packets are in the queue.
8889 (http_establish): Fix range header.
8890 (http_seek): Fix double free.
8891 (http_close): Likewise.
8892 (http_packets_pulled): New function.
8893 (grub_http_protocol): Set http_seek
8894 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
8895 (ack_real): Set window depending on i_stall.
8896 (grub_net_send_tcp_packet): Likewise.
8897 (grub_net_tcp_stall): New function.
8898 (grub_net_tcp_unstall): Likewise.
8899 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
8900 (grub_net_tcp_unstall): Likewise.
8901
bd407d6e
VS
89022012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * grub-core/net/tftp.c: Decrease stall to 50 packets.
8905
c7564b8e
VS
89062012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
8909
a3706162
VS
89102012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 * tests/util/grub-shell.in: Fix a typo.
8913
b27069e0
VS
89142012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 Implement flow control for tftp.
8917
8918 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
8919 packets but stop only if stop condition is satisfied.
8920 (grub_net_fs_read_real): Call packets_pulled after real read. Use
8921 `stall' instead of `eof' as stop condition.
8922 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
8923 (http_err): Likewise.
8924 * grub-core/net/tftp.c (ack): Replace the first argument with data
8925 instead of socket.
8926 (tftp_receive): Stall if too many packets are in wait queue.
8927 (tftp_packets_pulled): New function.
8928 (grub_tftp_protocol): Set packets_pulled.
8929 * include/grub/net.h (grub_net_packets): New field count.
8930 (grub_net_put_packet): Increment count.
8931 (grub_net_remove_packet): Likewise.
8932 (grub_net_app_protocol): New field `packets_pulled'.
8933 (grub_net): New field `stall'.
8934
6b9cfac6
VS
89352012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
8938 sync part to handle them.
8939
f35abd81
VS
89402012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
8943 * grub-core/net/drivers/ieee1275/ofnet.c
8944 (grub_ieee1275_net_config_real): Likewise.
8945
0e7ec820
VS
89462012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
8949 the direct route for server/gateway.
8950
9d611a31
VS
89512012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
8954 IP address to server name since we may not hame the DNS.
8955
418f45ab
VS
89562012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
8959 freeing random buffer on failure.
8960 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
8961
44a0efc1
VS
89622012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
8965
531e2241
VS
89662012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
8969 reserved bytes.
8970 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
8971 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
8972 Handle malloc error correctly.
8973
cde393c9
VS
89742012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8977 blocks.
8978
538478d0
VS
89792012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8980
8981 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
8982 increment.
8983
9b55efe0
VS
89842012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
8987 none is explicitly specified.
8988
9eb832c3
VS
89892012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
8992 while reallocating.
8993
d6b7c7c9
VS
89942012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 Respect netmask from bootp/dhcp.
8997
8998 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
8999 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
9000 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
9001 into ...
9002 (grub_net_add_ipv4_local): ... this.
9003 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
9004 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
9005 (grub_net_add_ipv4_local): New proto.
9006
67caf9eb
VS
90072012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
9010 determining EFI memory map size.
9011
43657558
VS
90122012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
9015
eb6d0dd3
VS
90162012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
9019 when looking for partition separator.
9020
31230544
VS
90212012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9024 Escape commas.
9025
918a2517
VS
90262012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9027
9028 Restructure FAT driver to avoid hook in label reading as it hits a
9029 GCC bug.
9030
9031 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
9032 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
9033 (grub_fat_iterate_dir): Split into ...
9034 (grub_fat_iterate_init): ... this, ...
9035 (grub_fat_iterate_fini): ... this, ...
9036 (grub_fat_iterate_dir_next): ... and this. All users updated.
9037
9f1d654e
VS
90382012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9041 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
9042 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9043 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
9044 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
9045 New fields last_key and last_key_time.
9046 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
9047 extended key-esc into extended key-extended key.
9048
52f0f643
VS
90492012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 Avoid unnecessary memcpy of whole video buffer.
9052
9053 * grub-core/video/fb/video_fb.c (dirty): New struct.
9054 (framebuffer): Add members current_dirty and previous_dirty.
9055 (dirty): New function.
9056 (grub_video_fb_fill_rect): Update dirty.
9057 (common_blitter): Likewise.
9058 (grub_video_fb_scroll): Likewise.
9059 (doublebuf_blit_update_screen): Copy only dirty part.
9060 (doublebuf_pageflipping_update_screen): Likewise.
9061 (grub_video_fb_doublebuf_blit_init): Init dirty.
9062 (doublebuf_pageflipping_init): Likewise.
9063 (grub_video_fb_setup): Likewise.
9064
e169a180
VS
90652012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
9068 poll rate.
9069
48556879
VS
90702012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 Fix wildcard regexp dot and other special characters handling.
9073 Reported by: Robert Mabee.
9074
9075 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
9076 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
9077 (split_path): Trigger expansion on '?'.
9078 (unescape): New function.
9079 (wildcard_expand): Unescape parts copied without globbing.
9080 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
9081 (grub_script_arglist_to_argv): Don't unescape expansions.
9082
0494408e
VS
90832012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * include/grub/net.h (grub_net_card): New member txbufsize.
9086 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
9087 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9088 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
9089 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
9090 txbufsize.
9091 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
9092 compatible property to check for macs. Set
9093 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9094 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
9095 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
9096 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
9097 (send_card_buffer): Use txbuf.
9098 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
9099 nested function out of the parent while on it.
9100
cc35fe8f
VS
91012012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
9104 presence check.
9105 (grub_ieee1275_net_config_real): Fix config pointer.
9106
970a0a09
VS
91072012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
9110 filename parsing to non-block devices.
9111
3e19bf87
VS
91122012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/kern/device.c (grub_device_open): Remove dead code.
9115
c62d1a0c
VS
91162012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
9119 All users updated.
9120
ef76bec3
VS
91212012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
9124 UUID search command even if hints probing failed.
9125
91262012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
9127
9128 * po/POTFILES.in: Regenerated.
9129
70aaf305
VS
91302012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9131
9132 Speed-up video on fuloong.
9133
9134 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
9135 New function.
9136 (grub_pci_device_unmap_range): Handle non-cached address.
9137 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
9138 add direct_ptr.
9139 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
9140 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
9141 (grub_video_sis315pro_set_active_render_target): Removed.
9142 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
9143 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9144 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
9145 sync caches.
9146 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
9147 New proto.
9148
10400f0b
VS
91492012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9150
9151 * docs/grub.texi (Multi-boot manual config): New section.
9152
ba67e2c6
VS
91532012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 Avoid slow read-back from VRAM.
9156
9157 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9158 Move from here ...
9159 * grub-core/video/fb/video_fb.c
9160 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
9161 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
9162 (front_target): Remove front_target. Add pages.
9163 (grub_video_fb_init): Skip setting front_pages.
9164 (grub_video_fb_fini): Likewise.
9165 (doublebuf_blit_update_screen): Use pages.
9166 (grub_video_fb_doublebuf_blit_init): Likewise.
9167 (doublebuf_pageflipping_init): Allocate offscreen buffer.
9168 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
9169 (grub_video_fb_setup): Prefer doublebuffing.
9170
377c98cb
VS
91712012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
9174 gzio.
9175
eac49cff
VS
91762012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 Add loongson tests.
9179
9180 * tests/util/grub-shell.in: Handle loongson.
9181 * tests/partmap_test.in: Add loongson to the list of platform using ATA
9182 drivers.
9183 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
9184 Reboot instead of shutdown if REBOOT is defined.
9185
0321415e
VS
91862012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
9189 sized ports since unlike on real hardware qemu supports only 32-bit
9190 regs.
9191
3f2bdd8f
VS
91922012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * Makefile.util.def (grub-mkrescue): Enable on loongson.
9195 * util/grub-mkrescue.in: Handle loongson.
9196
29a049c9
VS
91972012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
9200 Set is_part appropriately.
9201 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
9202 names. Canonicalize partition without full disk.
9203
4abde346
VS
92042012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 Revert usb-quiesce since it's wrong.
9207
9208 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
9209 (grub_ofdisk_init): Don't do quiesce.
9210
61f1d93b
VS
92112012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9212
9213 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
9214 PowerMac workaround to Xserves as well.
9215 Information supplied by: Benjamin Herrenschmidt.
9216
a09eb541
VS
92172012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 Don't assume that beginning address is also the entry point on ppc.
9220
9221 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
9222 (grub_linux_boot): Use linux_entry.
9223 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
9224 (grub_linux_load64): Likewise.
9225
505b3c9b
VS
92262012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
9229
cbe0b4ef
VS
92302012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
9233 needlessly lose the console.
9234
3006e981
VS
92352012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
9238 space.
9239
4e5a96b0
VS
92402012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9241
7da036bb
VS
9242 Remove non-functional EFI grub_get_rtc. Put a better fatal message
9243 than current grub_get_rtc() not implemented when booted with
9244 coreboot without TSC.
9245
9246 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
9247 Add machine/time.h to kernel headers on loongson.
9248 * grub-core/Makefile.core.def (kernel): Remove
9249 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
9250 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
9251 (grub_get_rtc): Likewise.
9252 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
9253 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
9254 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
9255 * grub-core/kern/i386/tsc.c (grub_tsc_init)
9256 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
9257 rather than installing known non-working time source.
9258 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
9259 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
9260 * include/grub/time.h: Don't include machine/time.h.
9261 * include/grub/efi/time.h: Removed.
9262 * include/grub/i386/efi/time.h: Likewise.
9263 * include/grub/i386/ieee1275/time.h: Likewise.
9264 * include/grub/powerpc/ieee1275/time.h: Likewise.
9265 * include/grub/sparc64/ieee1275/time.h: Likewise.
9266 * include/grub/x86_64/efi/time.h: Likewise.
9267
92682012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
9271
9272 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
9273 value.
9274 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
9275 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
9276 with dotless variants when any combining above is present.
9277
5561c22d
VS
92782012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
9281 text and not binary.
9282
96f7e60e
VS
92832012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 Stop polling as soon as we have the packet we were waiting for.
9286
9287 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
9288 All users updated.
9289 * grub-core/net/arp.c (have_pending): New var.
9290 (pending_req): Likewise.
9291 (grub_net_arp_send_request): Fill pending_req and use have_pending as
9292 stop indicator.
9293 (grub_net_arp_receive): Set have_pending.
9294 * grub-core/net/dns.c (recv_data): New field stop.
9295 (recv_hook): Set stop.
9296 (grub_net_dns_lookup): Init stop and use as stop condition.
9297 * grub-core/net/http.c (http_establish): Use headers_recv as stop
9298 condition.
9299 * grub-core/net/net.c (grub_net_poll_cards): New argument
9300 stop_condition. Stop when it goes true.
9301 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
9302 indicator.
9303 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
9304
3e747239
VS
93052012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 Keep TX and RX buffers on EFI rather than always allocate new ones.
9308
9309 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
9310 card. All users updated.
9311 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
9312 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
9313 (get_card_packet): Likewise.
9314 (grub_efinet_findcards): Init new fields.
9315
f695e99a
VS
93162012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
9319 compilation error on sparc64.
9320
9e5e66d1
VS
93212012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 Use ITC on IA64 rather than broken routine based on daytime.
9324
9325 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
9326 ia64.
9327 (grub_get_rtc) [__ia64__]: Likewise.
9328 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
9329 (get_itc): New function.
9330 (grub_rtc_get_time_ms): Likewise.
9331 (grub_machine_init): Calibrate ITC.
9332 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
9333 Keep only on non-ia64. Don't export since it's broken and used only
9334 if TSC is unavailable.
9335
a1767404
VS
93362012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
9339 even if it's used.
9340 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
9341 Skip if parent is unused.
9342
34b2bced
VS
93432012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
9346
5e619f40
VS
93472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 Fix wildcard escaping.
9350
9351 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
9352 * grub-core/script/execute.c (wildcard_escape): .. to here.
9353 Don't escape dot.
9354 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
9355 * grub-core/script/execute.c (wildcard_unescape): .. to here.
9356 Don't escape dot.
9357 * grub-core/script/execute.c (gettext_append): Always escape.
9358 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
9359 * grub-core/script/yylex.l: Don't cut away the escaping.
9360 * tests/grub_script_echo1.in: Add tests with wildcard.
9361
c8ca5855
VS
93622012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
9365 (ftdi_hw_configure): Likewise.
9366 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
9367 define.
9368 (real_config): Handle 1.5 stop bits.
9369 (pl2303_hw_configure): Likewise.
9370
7183452c
VS
93712012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9372
9373 * Makefile.am: Add ppc linux bootcheck.
9374 * grub-core/tests/boot/linux-ppc.cfg: New file.
9375 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
9376
f57c84cd
VS
93772012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * tests/grub_script_expansion.in: Skip network protocols.
9380
ecfc6207
VS
93812012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
9384
8d03d284
VS
93852012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
9388 --rom-directory.
9389 Add -graft-points.
9390
61c42af0
VS
93912012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 ESCC serial driver for conducting sautomated tests in qemu.
9394 Not tested on real hardware.
9395
9396 * include/grub/serial.h (grub_serial_port): New field escc_desc.
9397 * grub-core/term/ieee1275/escc.c: New file.
9398 * grub-core/Makefile.core.def (escc): New module.
9399
08fd1291
VS
94002012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
9403 invalid on error.
9404 (serial_hw_fetch): Don't read invalid handle.
9405 (serial_hw_put): Don't write into invalid handle.
9406
08dafeea
VS
94072012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 Add a 1.5 stop bits value.
9410
9411 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
9412 * include/grub/serial.h (grub_serial_stop_bits_t): Add
9413 GRUB_SERIAL_STOP_BITS_1_5.
9414
9068fdcf
VS
94152012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
9418 value rather than let it uninited.
9419
f4d5820f
VS
94202012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * grub-core/commands/wildcard.c (+check_file): New function.
9423 (wildcard_expand): Don't expand to non-existing files, expand with
9424 suffix and not attempt to expand if not needed.
9425
3d2de9a7
VS
94262012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
9429 out of partitions containing other partitions.
9430
c5c81ff9
VS
94312012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
9434 on some qemu versions with GRUB.
9435
9436 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
9437 define.
9438 (grub_openbsd_bootarg_pcibios): New struct.
9439 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
9440 Add PCIINFO.
9441
08a14e0b
VS
94422012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 * tests/util/grub-shell.in: Trim firmware output on EFI.
9445
cede3ca3
VS
94462012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
9449 and coreboot since it's already in kernel.
9450
558d3a60
VS
94512012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
9454 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9455 to here. New return value start. All users updated.
9456 Recursively scan linear mappings.
9457 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
9458 proto.
9459 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9460 Use grub_util_get_dm_node_linear_info.
9461 * util/getroot.c (convert_system_partition_to_system_disk): Use
9462 grub_util_info rather than grub_dprintf.
9463 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
9464
60fde14d
VS
94652012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
9468
9469 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
9470 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
9471
24bd8838
VS
94722012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 * include/grub/types.h (grub_set_unaligned64): New function.
9475 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
9476 (setup): Likewise.
9477
7bc06a49
VS
94782012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
9481 (grub_ofdisk_fini): Quiesce USB devices.
9482
49cea015
VS
94832012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
9486 caches.
9487
8dcbe03b
VS
94882012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
9491
5b258735
VS
94922012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * grub-core/disk/pata.c (grub_pata_pio_read)
9495 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
9496 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9497
37ba07eb
VS
94982012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 Extend automated tests to qemu-mips.
9501
9502 * Makefile.am: reorganise tests and enable qemu-mips.
9503 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
9504 * grub-core/tests/boot/linux.init-mips.S: New file.
9505 * tests/partmap_test.in: Handle ata0 disks.
9506 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
9507 non-pc i386.
9508
070038f8
VS
95092012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
9512 ia64.
9513 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
9514 quotes while on it.
9515
004be2cd
VS
95162012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
9519 (grub_halt): Likewise.
9520 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
9521
b1622487
VS
95222012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 * grub-core/term/serial.c (grub_serial_register)
9525 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
9526 the behaviour in line with x86 platforms.
9527
b7b4ab33
VS
95282012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
9531 (grub_ata_strncpy): Likewise.
9532 (grub_ata_identify): Add missing byteswaps.
9533
5e3535ae
VS
95342012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
9537 byte-swap.
9538 (screen_read_char): Likewise.
9539 (grub_vga_text_cls): Likewise.
9540
c21b17e6
VS
95412012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
9544 filenames.
9545 (make_file_path): Likewise.
9546
bf293dec
VS
95472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
9550 machines.
9551 Tested by: Paulo Flabiano Smorigo.
9552 Crucial information about API supplied by: Coleen <Last name unknown>.
9553 Reviewed by: Coleen <Last name unknown>.
9554
81f6ef0e
VS
95552012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 * util/grub-mkimage.c: Disable -Wcast-align.
9558
7284143a
VS
95592012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
9562 as they are fatal.
9563
b99f3e00
VS
95642012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9565
9566 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
9567
944f752d
VS
95682012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * util/grub-probe.c (escape_of_path): Fix double free.
9571
6cce6f38
VS
95722012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * grub-core/commands/videoinfo.c (hook): Show pitch.
9575
1e1eb50e
VS
95762012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9577
9578 * util/grub.d/20_linux_xen.in: Skip xen-syms.
9579
1c715b5a
VS
95802012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
9583 (probe): Add ieee1275 to OFW devices.
9584
007ae52d
VS
95852012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
9588
4557a36d
VS
95892012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 Handle IBM OFW path.
9592
9593 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
9594 available.
9595 (of_path_of_scsi): Handle vdevice.
9596
efbeefe9
VS
95972012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
9600 Allocate in multiples of 16 to avoid adding a few bytes free region the
9601 windows bugs upon.
9602
15a940bb
VS
96032012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
9606 Allocate in multiples of 16 to avoid adding a few bytes free region the
9607 windows bugs upon.
9608 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
9609
6e5efd60
VS
96102012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
9613 resolutions.
9614 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
9615 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
9616
0d3d137e
IS
96172012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
9618
9619 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
9620
45dbe300
VS
96212012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
9624 resulted in \\ at the end of the line.
9625
6d8db947
VS
96262012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
9629 (grub_parser_cmdline_state): Likewise.
9630 (grub_parser_split_cmdline): Likewise.
9631
de89d338
VS
96322012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
9635 /dev/root and /dev/dm-*.
9636
00d41dee
VS
96372012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
9640 fix partially stale display.
9641
f95d1f11
VS
96422012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9643
9644 * grub-core/normal/menu_entry.c (backward_char): Use right line for
9645 substraction.
9646
6297e197
VS
96472012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
9650 Fix MBR remapping workaround.
9651 (grub_util_biosdisk_read) [__linux__]: Likewise.
9652
8a7ecad3
VS
96532012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * util/grub-install.in: Check for ieee1275 and not ieee1276.
9656
2b34f944
VS
96572012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * configure.ac: Bump to beta6.
9660
684aef11
CW
96612012-05-31 Christer Weinigel <christer@weinigel.se>
9662
9663 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
9664
05b0bb91
VS
96652012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
9668 (grub_cmd_linux): Likewise.
9669
bda36bfa
CW
96702012-05-31 Christer Weinigel <christer@weinigel.se>
9671
9672 Fix EHCI low-speed.
9673
9674 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
9675 (GRUB_EHCI_MULT_TWO): Likewise.
9676 (GRUB_EHCI_MULT_THREE): Likewise.
9677 (GRUB_EHCI_CMASK_MASK): New enum value.
9678 (GRUB_EHCI_SMASK_MASK): Likewise.
9679 (GRUB_EHCI_CMASK_OFF): Likewise.
9680 (GRUB_EHCI_SMASK_OFF): Likewise.
9681 (grub_ehci_pci_iter): Enable periodic schedule.
9682 (grub_ehci_parse_notrun): Likewise.
9683 (grub_ehci_restore_hw): Likewise.
9684 (grub_ehci_setup_qh): Set flags for low speed transfers.
9685 (grub_ehci_find_qh): Use periodic list for low speed.
9686 (grub_ehci_setup_transfer): Check periodic queue as well.
9687 (grub_ehci_check_transfer): Likewise.
9688 (grub_ehci_cancel_transfer): Cancel periodic transfer.
9689
e12bcb1c
PFS
96902012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
9691
9692 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
9693 parameter is used.
9694
bcc75fb3
PJ
96952012-05-31 Peter Jones <pjones@redhat.com>
9696
9697 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
9698 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
9699 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
9700
f19cb95e
VS
97012012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9702
9703 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
9704 uninited variable. Allocate at least setup_sects.
9705
a4e5ca80
VS
97062012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 Fix handling of EFI with big memory maps.
9709
9710 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
9711 (real_mode_mem): Likewise.
9712 (real_mode_target): Likewise.
9713 (real_mode_pages): Likewise.
9714 (prot_mode_pages): Likewise.
9715 (linux_params): New var.
9716 (linux_cmdline): Likewise.
9717 (free_pages): Don't set real mode variables.
9718 (allocate_pages): Don't allocate real mode memory.
9719 (grub_e820_add_region): Remove the limit.
9720 (grub_linux_boot): Allocate and copy real mode memory.
9721 (grub_linux_unload): Free linux_cmdline.
9722 (grub_cmd_linux): Use temporary storage for parameters.
9723 (grub_cmd_initrd): Likewise.
9724 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
9725 (linux_kernel_params): Make it 1K big.
9726
ddb73558
VS
97272012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 * Makefile.util.def: Remove -Wno-format.
9730 * grub-core/Makefile.core.def: Likewise.
9731
1c4afb60
VS
97322012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 * tests/cmp_unit_test.c: Add missing failure message.
9735 * tests/example_unit_test.c: Likewise.
9736 * tests/printf_unit_test.c: Likewise.
9737
941e3a6d
VS
97382012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
9741 relaxation of protective MBR requirements.
9742
b105df76
VS
97432012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * configure.ac: Add condition for COND_HOST_XNU.
9746 * Makefile.util.def (10_xnu): New script.
9747 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
9748
84e1569e
VS
97492012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
9752 objconv bug.
9753
130c0f77
VS
97542012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
9757 Binary on other platforms stays identical.
9758
6fd0b143
VS
97592012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
9762 Apple.
9763
0af1751d
VS
97642012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
9767
176d5f7d
VS
97682012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
9771 rather than defining size_t ourselves to avoid conflict.
9772
7de5e20a
VS
97732012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
9776 initialisation to avoid __bzero reference.
9777
f7143efe
VS
97782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
9781 version.
9782 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
9783 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
9784 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
9785 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
9786 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
9787
e6ad0555
VS
97882012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
9791 * grub-core/kern/misc.c: Likewise.
9792 * grub-core/loader/i386/xnu.c: Likewise.
9793 * include/grub/i386/tsc.h: Likewise.
9794 * include/grub/symbol.h: Likewise.
9795
4a5a3c4a
VS
97962012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
9799 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
9800 on older compiler.
9801
037f6d90
VS
98022012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
9805 Implement Apple flavour.
9806 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
9807
f7194551
VS
98082012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
9811 (memmove) [__APPLE__]: Likewise.
9812 (memcpy) [__APPLE__]: Likewise.
9813 (memset) [__APPLE__]: Likewise.
9814 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
9815 (memmove) [__APPLE__]: Likewise.
9816 (memcpy) [__APPLE__]: Likewise.
9817 (memset) [__APPLE__]: Likewise.
9818
85a730ca
VS
98192012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9820
9821 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
9822 dependency discard.
9823
40e80b94
VS
98242012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * grub-core/normal/main.c (read_config_file): Provide config_file and
9827 config_directory.
9828 * util/grub.d/41_custom.in: Use config_directoy when available.
9829
9da59c32
VS
98302012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
9833 (grub_bfs_dir): Likewise.
9834
2787ae53
PJ
98352012-05-27 Peter Jones <pjones@redhat.com>
9836
9837 The old code gives arguments to a printf function which can't work
9838 correctly, and the compiler complains.
9839
9840 * grub-core/tests/example_functional_test.c (example_test): Add
9841 missing text.
9842 * grub-core/tests/lib/test.c (add_failure): Rewrite.
9843 * include/grub/test.h (grub_test_assert_helper): New declaration.
9844 (grub_test_assert): Use grub_test_assert_helper.
9845
526ef13d
VS
98462012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
9849 (exfctest): ... this to avoid overlong filenames.
9850 All users updated.
9851
20dd511c
VS
98522012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 Handle "." and ".." on squashfs.
9855
9856 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
9857 Make inode numbers into stack.
9858 (grub_squash_read_symlink): Use stack.
9859 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
9860 (make_root_node): Fill stack.
9861 (grub_squash_open): Use stack.
9862
1d80c62a
VS
98632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
9866 freeing.
9867
d336f652
VS
98682012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
9871 stderr on test calls.
9872
8b43f587
VS
98732012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
9876
80a3dc3f
VS
98772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
9880
47e297d4
VS
98812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
9884 "..".
9885
df042ccb
VS
98862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
9889 (grub_hfsplus_iterate_dir): Add "." and "..".
9890
fc977f48
VS
98912012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9892
9893 * grub-core/fs/cpio.c (canonicalize): Handle "..".
9894 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
9895
f3250e5f
VS
98962012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
9899 (find_path): Handle "." and "..".
9900
fd8ed4c5
VS
99012012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
9904 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
9905 (grub_affs_iterate_dir): Handle hardlinks.
9906
4ce776d2
MG
99072012-05-26 Matthew Garrett <mjg@redhat.com>
9908
9909 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
9910 (grub_efi_console_fini): Likewise.
9911 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
9912 (grub_video_gop_fill_mode_info): Rename to ...
9913 (grub_video_gop_fill_real_mode_info): ... this.
9914 (grub_video_gop_fill_mode_info): New function.
9915 (grub_video_gop_setup): Setup double framebuffer.
9916 (grub_video_gop_get_info_and_fini): Use original framebuffer.
9917 Free offscreen.
9918 (grub_video_gop_swap_buffers): Copy framebuffer.
9919 (grub_video_gop_fini): Free offscreen buffer.
9920 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
9921 New enum.
9922 (grub_efi_gop_blt_pixel): New struct.
9923
683031ba
VS
99242012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 * gentpl.py: Remove error disabling for objconv.
9927
c2deb798
VS
99282012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 * configure.ac: Remove -Wunitialized as it's not available on older
9931 compilers.
9932
99332012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
9934
9935 Fix extent overflow comparator.
9936
9937 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
9938 (grub_hfsplus_read_block): Set type.
9939 (grub_hfsplus_cmp_extkey): Compare type.
9940
d6b1fd36
VS
99412012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
9944
0a9aa0f6
VS
99452012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9946
9947 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
9948 than 0.
9949
8360e159
VS
99502012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
9953 (dejavu_bold_14.pf2): New target.
9954
501b9e4b
VS
99552012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * configure.ac: Fix djvu font detection.
9958
7026b0e2
VS
99592012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
9962 ext* instead of ext2.
9963
c2a51ade
VS
99642012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9965
9966 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
9967 name with \0.
9968
8f803a5d
JU
99692012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
9970
9971 * docs/grub-dev.texi: Remove dot from .png.
9972
13c6353f
VS
99732012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
9976 protective entry in any slot.
9977 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
9978 if protective entry is found in any slot.
9979
9980 Protective entry in non-first slot make no sense but is a widespread
9981 brain damage.
9982
4cf6be1b
VS
99832012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
9986
937d1c44
VS
99872012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
9990 with old reiserfs.
9991 (grub_reiserfs_open): Don't free root.
9992
021d90ec
VS
99932012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
9996 after freeing for safety.
9997
967b2b64
VS
99982012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
10001 Reported by: Jordan Uggla.
10002
34274d02
JU
100032012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
10004
967b2b64
VS
10005 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
10006 actual implementation. Specifically, clarify that the grub menu will
10007 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
10008 passed.
34274d02 10009
dcaaae9d
BH
100102012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
10011
10012 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
10013 of r0.
10014
7086ad52
VS
100152012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 Remove unjustified hard dependency of normal.mod on gfxterm.
10018
10019 * include/grub/term.h (grub_term_output): New member fullscreen.
10020 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
10021 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
10022 (grub_gfxterm): Set .fullscreen.
10023 * grub-core/normal/menu.c (menu_init): Use fullscreen.
10024 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
10025
37ed2c9b
VS
100262012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
10029 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 10030 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 10031
a4469c88
VS
100322012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
10035
4e461486
VS
100362012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10039 a bad FS.
10040
aa78f5c4
VS
100412012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
10044 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
10045
197626b5
VS
100462012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
10049 (grub_jfs_mount): Fill caseins.
10050 (grub_jfs_find_file): Respect caseins.
10051
8ad3f28c
VS
100522012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
10055 through UTF-16.
10056
0c6c324e
VS
100572012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
10060 New argument origpath. All users updated.
10061
c6666ba6
VS
100622012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
10065 (read_attr): Ensure that we read start of possibly compressed block.
10066
e28e5fe5
VS
100672012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
10070 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
10071 All users updated.
10072
5fc23ab2
VS
100732012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
10076 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
10077 (dejavu.pf2): Replace with ...
10078 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
10079 this.
10080
79dbc21c
VS
100812012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * util/grub.d/20_linux_xen.in: Add missing line.
10084
d2fcfb0c
VS
100852012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10086
10087 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
10088 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
10089 (grub_utf16_to_utf8): Likewise.
10090
5560e9d6
VS
100912012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
10094 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
10095 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10096 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
10097 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10098 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
10099
101002012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
10101
10102 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10103 a bad FS.
10104
5560e9d6 101052012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
10106
10107 * grub-core/fs/udf.c (read_string): Bail out on size=0.
10108 (grub_udf_read_symlink): Handle read_string failure.
10109
5eae3175
VS
101102012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
10113 comment.
10114
c1ad82db
VS
101152012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 Fix handling of UDF symlinks.
10118
10119 * grub-core/fs/udf.c (read_string): New argument outbuf.
10120 All users updated.
10121 (grub_ufs_read_symlink): Rename to ...
10122 (grub_udf_read_symlink): ... this. All users updated.
10123 Handle symlinks with more than one component.
10124
33eca6e0
VS
101252012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
10128 symlinks. Replace leading colon with a slash.
10129
57f4a70b
VS
101302012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
10133 filename.
10134
38c8ee20
VS
101352012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
10138 match in inner node.
10139
2e57f28f
VS
101402012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
10143 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
10144 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
10145 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
10146 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
10147 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
10148 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
10149 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
10150 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
10151
fe8c2f11
VS
101522012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 Use grub-probe and not cmp to check that disk is empty.
10155
10156 * util/grub-install.in: Use grub-probe for zero-check.
10157 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
10158 (probe): Handle PRINT_ZERO_CHECK.
10159 (argp_parser): Handle -t zero_check.
10160
101612012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
10162
10163 Flush block cache on adding disk to device map.
10164
10165 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
10166 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
10167 adding.
10168 (read_device_map): Likewise.
10169 (open_device): Flush on opening.
10170
690434e8
VS
101712012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
10174 (handle_symlink): Fix off-by-one error.
10175 Canonicalize the target.
10176 (grub_cpio_dir): Canonicalize the name.
10177 Fix memory leak.
10178 Set directory.
10179 (grub_cpio_open): Canonicalize the name.
10180
742d2be6
VS
101812012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
10184 handling.
10185
3244fe96
VS
101862012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
10189 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
10190
8aeb1837
VS
101912012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
10194 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 10195 All users updated.
8aeb1837 10196
9133fd05
VS
101972012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
10200 counterpart.
10201
6d521c5b
VS
102022012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10203
10204 Fix UFS1 big file support.
10205
10206 * grub-core/fs/ufs.c (INODE): Removed.
10207 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
10208 64-bit.
10209 (INODE_MODE): Simplify.
10210 (grub_ufs_inode): Use uint64_t for size and not int64_t.
10211 (grub_ufs_lookup_symlink): Don't use INODE.
10212
21b82e17
VS
102132012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 Fix minixfs with non-power-of-two blocks since it's supported by minix.
10216
10217 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
10218 (grub_minix_data): Replace log_block_size with block_size.
10219 (grub_minix_read_file): Use block_size but avoid 64-bit division.
10220 (grub_minix_mount): Fill block_size.
10221
102222012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
10223
10224 * configure.ac: Bump to beta5.
10225
f417ed04
VS
102262012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 Fix wrapped HFS+ handling.
10229
10230 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
10231 blocks_start. All users updated.
10232 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
10233 wrapping offset.
10234 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
10235
607d282b
VS
102362012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 Fix long symlinks on reiserfs.
10239
10240 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
10241 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
10242 (grub_reiserfs_iterate_dir): Save size for non-directories.
10243 (grub_reiserfs_open): Don't reread stat block as we already know the
10244 size.
10245 (grub_reiserfs_read): Split into...
10246 (grub_reiserfs_read_real): ... and ...
10247 (grub_reiserfs_read): ...this.
10248
ae16024d
VS
102492012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 Fix non-indexed JFS.
10252
10253 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
10254 (grub_jfs_data): New field namecomponentlen.
10255 (grub_jfs_mount): Fill namecomponentlen.
10256 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
10257
eea1e26e
VS
102582012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
10261 * tests/grub_script_echo1.in: Add tests.
10262
df760f77
VS
102632012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10264
10265 * util/grub-install.in: Ignore empty devicetree directory.
10266
5efb817d
B
102672012-05-08 Bean <bean123ch@gmail.com>
10268
10269 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
10270 All users updated.
10271 (free_rsm): Free header as well.
10272 (free_old_fragments): Fix memory leak.
10273 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
10274 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
10275 (destroy_pq): Likewise.
10276 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
10277
668ea6d2
VS
102782012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
10281 resulting hash as a precaution.
10282
1739b1fe
VS
102832012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
10286 '_' in variable names.
10287 * grub-core/net/net.c (grub_net_network_level_interface_register):
10288 Likewise.
10289
6ae485aa
VS
102902012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 Fix AFFS with non-512B blocks.
10293
10294 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
10295 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
10296 (grub_affs_data): Replace blocksize with log_blocksize.
10297 (grub_affs_read_block): Fix non-512B blocks.
10298 (grub_affs_read_symlink): Likewise.
10299 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
10300 (grub_affs_read): Fix non-512B blocks.
10301 (grub_affs_label): Likewise.
10302 (grub_affs_mtime): Likewise.
10303 (grub_affs_mount): Fix block detection routine.
10304
d20fab84
VS
103052012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 Add filesystem mtime to AFFS.
10308
10309 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
10310 (aftime2ctime): New function.
10311 (grub_affs_dir): Use aftime2ctime.
10312 (grub_affs_label): Fix return value.
10313 (grub_affs_mtime): New function.
10314 (grub_affs_fs): Add mtime.
10315
e87b10f5
VS
103162012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10317
10318 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
10319 UTF-8.
10320
7dceec9b
VS
103212012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10322
10323 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
10324 UTF-8.
10325
2f48221f
VS
103262012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
10329
dacd85cf
VS
103302012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
10333 flags.
10334 (FLAGS_CASE_SENSITIVE): New enum value.
10335 (cache_entry): New struct.
10336 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
10337 cache_size and cache.
10338 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
10339 Add log_blocksize and fshelp_flags.
10340 (grub_sfs_read_extent): Handle non-512 blocks.
10341 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
10342 (grub_sfs_read_file): Handle non-512 blocks.
10343 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
10344 fshelp_flags.
10345 (grub_sfs_read_symlink): Handle non-512 blocks.
10346 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
10347 (grub_sfs_dir): Free cache.
10348 (grub_sfs_close): Likewise.
10349
24e9a854
VS
103502012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
10353 filesystems.
10354
62ace64d
VS
103552012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
10358
83b2e89c
VS
103592012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
10362
75ccaea3
VS
103632012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
10366 (grub_sfs_read_extent): Likewise.
10367 (grub_sfs_read_block): Likewise.
10368 (grub_sfs_mount): Likewise.
10369 (grub_sfs_iterate_dir): Likewise.
10370 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
10371 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
10372
1b8463f2
VS
103732012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 Fix errors on compressed NTFS with 512B clusters.
10376
10377 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
10378 types.
10379 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
10380 not 0.
10381 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
10382 Relax check for inline extents.
10383 (ntfscomp): Return correct -1 on error and not 0.
10384
4f8e368f
VS
103852012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10386
10387 * util/grub-install.in: Fix handling of prefix containing spaces.
10388
6f5d5ee8
VS
103892012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10390
10391 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
10392 (grub_squash_read_data): Fix offset byte-swapping.
10393
ce41ab7a
VS
103942012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
10397 per common usage and preffered in several parts of code.
10398 (grub_memcmp): Likewise.
10399 (grub_strncmp): Likewise.
10400 * include/grub/misc.h (grub_strcasecmp): Likewise.
10401 (grub_strncasecmp): Likewise.
10402 * Makefile.util.def (cmp_test): New test.
10403 (grub_script_strcmp): Likewise.
10404 * tests/cmp_unit_test.c: New file.
10405 * tests/grub_script_strcmp.in: Likewise.
10406 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
10407
49717bf4
VS
104082012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * include/grub/pci.h: Move enums into no-asm part.
10411
0a308f64
VS
104122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
10415
1796965f
ST
104162012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
10417
10418 * util/getroot.c (find_hurd_root_device): Try to make error message
10419 and comments to translators clearer.
10420
4e9b2819
VS
104212012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
10424
076aeb50
VS
104252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
10428 btrfs.
10429
19424d94
VS
104302012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10431
10432 * docs/grub.cfg: Update.
10433
ebb73076
VS
104342012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * docs/grub.texi (PXE): Remove not present variables.
10437
9a1b669c
VS
104382012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * grub-core/net/net.c (defserver_set_env): New function.
10441 (defserver_get_env): Likewise.
10442 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
10443
d38bf7d3
VS
104442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
10447 entries.
10448
104492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
10450
10451 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
10452 * grub-core/kern/emu/hostdisk.c: Likewise.
10453
e5e4ca48
ST
104542012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10455
10456 Handle hurd userspace partitions.
10457
10458 * util/getroot.c (find_hurd_root_device): New function.
10459 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
10460
56bb5dd5
VS
104612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10462
10463 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
10464 names.
10465 Reported by: Bastian Blank.
10466
9e8bc27a
VS
104672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
10470 crossing page boundary.
10471
aa01499d
VS
104722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10473
10474 Fix B-tree search in BFS, especially in presence of non-ASCII
10475 characters.
10476
10477 * grub-core/fs/bfs.c (bfs_strcmp): New function.
10478 (find_in_b_tree): Use standard bsearch + btree algorithm.
10479
57006035
VS
104802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
10483 and so on.
10484
9d34bb85
MG
104852012-05-03 Matthew Garrett <mjg@redhat.com>
104862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10487
10488 Suspend broadcom cards in order to stop their DMA.
10489
10490 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
10491 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
10492 (pci): Don't build on x86 EFI.
10493 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
10494 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
10495 New function.
10496 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
10497 stop_broadcom if running on EFI.
10498 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
10499 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
10500 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
10501 (grub_pci_find_capability): New proto.
10502
01aab997
VS
105032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10504
10505 * docs/grub.texi: Remove dot from the extension as it apparently
10506 doesn't work with some makeinfo versions.
10507
fbd8dca6
VS
105082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
10511 with GRUB expectance.
10512
dab797f4
VS
105132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
10516
1516bfb4
VS
105172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10518
10519 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
10520 zero after directory block since last entry may be not 0-terminated if
10521 it ends on block boundary. Use continue instead of if spanning whole
10522 loop.
10523
a3a0eace
VS
105242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10525
10526 Support 4K sectors UDF inline files.
10527
10528 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
10529 (grub_udf_extended_file_entry): Likewise.
10530 (grub_fshelp_node): Name the anonymous union. Put block at the end.
10531 All users updated.
10532 (get_fshelp_size): New function.
10533 (grub_udf_read_icb): Read whole block.
10534 (grub_udf_iterate_dir): Likewise.
10535 (grub_udf_dir): Likewise.
10536 (grub_udf_open): Likewise.
10537
c82f16c1
VS
105382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
10541
59fd2aac
VS
105422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
10545 inline symlinks in addition to workaround.
10546
3b4afb4d
VS
105472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10548
10549 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
10550
f45c794a
VS
105512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
10554
f25cecbd
VS
105552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
10558
bb9a34e8
VS
105592012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 Fix reiserfs big seek times.
10562
10563 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
10564 exact. All users updated.
10565 (grub_reiserfs_read): Use nearest btree search for seeking.
10566 Fix return value on error.
10567
dc478aea
VS
105682012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
10571 entries.
10572 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
10573 * docs/grub.texi: Update menuentry description.
10574
8db10f47
VS
105752012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10576
10577 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
10578 crash when embedding onto filesystem.
10579
bcb288ed
VS
105802012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
10583 name.
10584
a626fdd7
VS
105852012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
10588
b2f68477
VS
105892012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
10592 commit.
10593
ba15b2af
B
105942012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
105952012-05-01 Bean <bean123ch@gmail.com>
10596
10597 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
10598
a188012e
VS
105992012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
10602 Special behaviour for len = 0 to read whole file isn't used anywhere and
10603 can cause buffer ovewrflows in several places.
10604
f0a53ed2
VS
106052012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10606
10607 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
10608
5ed554f0
VS
106092012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 Handle RAIDZ on non-512B sectors.
10612
10613 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
10614 max_children_ashift.
10615 (fill_vdev_info_real): Fill max_children_ashift.
10616 (read_device): Use max_children_ashift.
10617
ddc58357
VS
106182012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
10621
e3282399
VS
106222012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
10625 disk names.
10626 * docs/grub.texi: Update device.map parts.
10627
ee618bd4
VS
106282012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 Don't scan into non-diskfilter devices having diskfilter names.
10631
10632 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
10633 (scan_disk): New argument accept_diskfilter. Fix recursion depth
10634 handling.
10635 (scan_disk_hook): New function.
10636
bdf88864
B
106372012-04-29 Bean <bean123ch@gmail.com>
10638
10639 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
10640 allocation.
10641
32745f51
MK
106422012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
10643
10644 * configure.ac: Detect starfield theme font path
10645 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
10646
bc95c8c0
VS
106472012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
10650 geometry on serial consoles.
10651
147fbcab
VS
106522012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10653
10654 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
10655 because of network consoles.
10656
0f42c889
VS
106572012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
10660 handling.
10661
4a3594c9
VS
106622012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
10665 falls on Q syndrom.
10666
5cb53879
VS
106672012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
10670 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10671
b282dfe5
VS
106722012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
10675 Allocate at lest 8192 for temporary buffer as required for lzo.
10676
daa59f47
VS
106772012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
10680 to cluster_bits, since it's already added in.
10681 (grub_fat_read_data): Likewise.
10682
986748ce
VS
106832012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
10686 as long as cluster size is multiple of 512 bytes.
10687
a20f6ad0
VS
106882012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * util/grub-mkrescue.in: Fix locale directory.
10691
385f9abb
VS
106922012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 * grub-core/kern/emu/hostdisk.c (map): Make static.
10695
1c557d30
B
106962012-04-23 Bean <bean123ch@gmail.com>
10697
10698 * util/grub-fstest.c (fstest): Add missing break.
10699
524b5d3a
ST
107002012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
10701
10702 Fix hurd build.
10703
10704 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
10705 not define nr variable.
fe4824e9 10706 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
10707 find_root_devices_from_poolname, find_root_devices_from_libzfs,
10708 grub_find_device): Do not define.
524b5d3a 10709
9a06490c
VS
107102012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 Fix kfreebsd compile and behaviour.
10713
10714 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
10715 format-security.
10716 * util/getroot.c: Fix wait.h include.
10717 (grub_guess_root_devices): Error if grub_find_device fails.
10718 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
10719 (grub_util_get_dev_abstraction): Likewise.
10720 (grub_util_pull_device): Likewise.
10721 (grub_util_get_grub_dev): Likewise.
10722 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
10723
48143d96
VS
107242012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 Fix and unify wholedisk detection.
10727
10728 * util/getroot.c (convert_system_partition_to_system_disk): New argument
10729 is_part. All users updated.
10730 (device_is_wholedisk): Removed.
10731 (grub_util_biosdisk_get_grub_dev): Use is_part.
10732
ebbd24f3
VS
107332012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
10736 mode.
10737
56f7aa1e
VS
107382012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 * configure.ac: Bump to beta4.
10741
9c815e01
VS
107422012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
10745 --fs-uuid --set UUID syntax.
10746
59e2651a
VS
107472012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
10750 disunification.
10751
54e03cfc
VS
107522012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
10755
81092a75
MK
107562012-04-18 Mads Kiilerich <mads@kiilerich.com>
10757
10758 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
10759
f8315e14
MG
107602012-04-18 Mike Gilbert <floppym@gentoo.org>
10761
10762 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
10763
1501ac21
B
107642012-04-18 Bean <bean123ch@gmail.com>
10765
10766 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
10767 place.
10768
cb7f944e
VS
107692012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10770
10771 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
10772 users updated.
10773 (grub_util_biosdisk_read): Handle Linux partitions not exactly
10774 corresponding to GRUB partitions.
10775 (grub_util_biosdisk_write): Likewise.
10776
b72d44a1
VS
107772012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 Scan mdraid before LVM.
10780
10781 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
10782 (grub_diskfilter_register_front): ... this.
10783 (grub_diskfilter_register_back): New function.
10784 All users of grub_diskfilter_register updated.
10785
33d918b8
VS
107862012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10787
10788 * util/grub-install.in: Fix an automatic target detection bug.
10789
c6ca973d
VS
107902012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * util/grub-install.in: New option --efi-directory.
10793
b41be562
VS
107942012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
10797 boot services if we have no other choice.
10798
107992012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 * util/grub-mknetdir.in: Rename --override-directory to --directory and
10802 document it.
10803 * tests/util/grub-shell.in: Update to --directory.
10804
e0595a73
VS
108052012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10806
10807 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
10808
4ed80652
VS
108092012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
10812 (grub_minix_read_file): Likewise.
10813 (grub_minix_read_inode): Likewise.
10814 (grub_minix_find_file): Likewise.
10815 (grub_minix_dir): Likewise.
10816
56008077
VS
108172012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10818
10819 * util/grub-setup.c (setup): Fix partition handling and blocklist
10820 check.
10821
ee520775
VS
108222012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10823
10824 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
10825 redundant buggy overlap check.
10826
16fc9293
VS
108272012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10828
10829 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
10830 and grub-mknetdir.
10831
9bab65c4
VS
108322012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
10835 kh.loadflags on pre-2.00 kernels.
10836
3c491b47
VS
108372012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 Terminate UNDI and PXE before launching the payload to avoid problems
10840 with DMA.
10841
10842 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
10843 (grub_loader_flags): ... this. All users updated.
10844 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
10845 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
10846 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
10847 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
10848 function.
10849 (grub_pxe_restore): Likewise.
10850 (fini_hnd): New var.
10851 (GRUB_MOD_INIT): Register shutdown hook.
10852 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
10853 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
10854 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
10855 (grub_loader_set): Rename second argument to flags.
10856
851ffada
VS
108572012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
10860 written bytes.
10861 (grub_get_num_of_utf8_bytes): New function.
10862 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
10863 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
10864 executing it.
10865 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
10866 (grub_ucs4_to_utf8): Change return type.
10867
491c57a8
VS
108682012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
10871 warning.
851ffada
VS
10872 * grub-core/fs/bfs.c (hop_level): Likewise.
10873 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 10874
756773df
VS
108752012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10876
10877 * grub-core/lib/adler32.c: Recode due to license unclearness.
10878
fd556a96
VS
108792012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
10882 (test_header): Likewise.
10883
9f9d3f69
VS
108842012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 Fix --help formatting.
10887
10888 * util/grub-mkconfig_lib.in (print_option_help): New function.
10889 (grub_fmt): Likewise.
10890 * util/grub-install.in: Use print_option_help and grub_fmt.
10891 * util/grub-kbdcomp.in: Likewise.
10892 * util/grub-mkconfig.in: Likewise.
10893 * util/grub-mknetdir.in: Likewise.
10894 * util/grub-mkrescue.in: Likewise.
10895 * util/grub-mkstandalone.in: Likewise.
10896 * util/grub-reboot.in: Likewise.
10897 * util/grub-set-default.in: Likewise.
10898 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10899
561ec77e
VS
109002012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * linguas.sh: Remove autogenerated *.po.
10903
7ec2b021
VS
109042012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * po/README: Move language fetcing to ...
10907 * linguas.sh: ... here.
10908 * po/README: Point to linguas.sh.
10909
a88f3270
VS
109102012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 * po/README: Exclude ko.po due to disclaimer problems.
10913
d61357ce
VS
109142012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
10917 len = 0.
10918 (grub_gettext_translate_real): Handle 0th string.
10919 (grub_gettext_translate): Ensure that "" isn't translated.
10920
505e41dc
VS
109212012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
10924 TRANSLATORS comment.
10925 (grub_diskfilter_print_partmap): Propagate changing of error into
10926 warning.
10927
e44092db
VS
109282012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
10931 to uint64_t to prevent overflow.
10932 (grub_diskfilter_lv): Increase start_extent and extent_count
10933 to uint64_t to prevent overflow.
10934
9b83956a
VS
109352012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * configure.ac: Increase version.
10938
da0d5b3f
VS
109392012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
10942
10943 * po/Rules-translit: New file.
10944 * po/arabic.sed: Likewise.
10945 * po/cyrillic.sed: Likewise.
10946 * po/greek.sed: Likewise.
10947 * po/hebrew.sed: Likewise.
10948 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
10949 * po/Makefile.in.in: Add extra_dist4.
10950
ac66b453
VS
109512012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 Handle big-endian minixfs (fixes minixfs tests on bigendian).
10954
10955 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
10956 modify names. Introduce MODE_BIGENDIAN.
10957 * grub-core/fs/minix_be.c: New file.
10958 * grub-core/fs/minix2_be.c: Likewise
10959 * grub-core/fs/minix3_be.c: Likewise.
10960 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
10961 minix3_be.
10962 * grub-core/Makefile.core.def (minix_be): New module.
10963 (minix2_be): Likewise.
10964 (minix3_be): Likewise.
10965
109662012-04-01 Felix <email@hamburg.de>
10967
10968 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
10969 (devs): Add MBP 2011.
10970
0a2d5a82
VS
109712012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
10974
d1625889
VS
109752012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 * grub-core/normal/cmdline.c (print_completion): New field
10978 prompt_len.
10979 (grub_cmdline_get): Handle width properly.
10980
6d36a236
VS
109812012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10982
10983 * grub-core/commands/lsacpi.c (options): Add missing terminator.
10984
9576977e
VS
109852012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 10988 after 29th of February.
9576977e 10989
d73ff15d
VS
109902012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 Fix exfat endianness handling.
10993
10994 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
10995 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
10996 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
10997 Byte-swap utf16 when necessary.
10998 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
10999
bbb39a45
AB
110002012-03-31 Anton Blanchard <anton@samba.org>
110012012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 Fix btrfs endianness handling.
11004
11005 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
11006 (lower_bound): Make root uint64_t. Use root in le.
11007 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
11008 (find_path): Fix template key init.
11009 (grub_btrfs_dir): Fix mtime byteswap.
11010 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
11011
354e0af7
VS
110122012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
11015 recursion_depth. Break infinite resursions. All users updated.
11016
4e75f21c
VS
110172012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
11020 after free.
11021 Reported by: Peter Jones.
11022
25581802
AB
110232012-03-31 Anton Blanchard <anton@samba.org>
11024
11025 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
11026 8 bit values.
11027
08fbf92e
VS
110282012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 * util/grub-install.in: Fix nvram call for PreP.
11031
5d1182a6
VS
110322012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
11035 the error when some elements are missing into a warning.
11036
3f8cdd90
VS
110372012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11038
11039 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
11040
51006716
CW
110412012-03-28 Colin Watson <cjwatson@ubuntu.com>
11042
11043 * docs/grub.texi (Invoking grub-probe): New section.
11044 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
11045
e1bd676b
VS
110462012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 Fix tab and wide character handling in editor and menu.
11049
11050 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
11051 agglomerate control characters with combining marks.
11052 (bidi_line_wrap): Allow break on tab.
11053 (grub_unicode_get_comb_start): New function.
11054 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
11055 and tab correctly.
11056 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
11057 with a space.
11058 * grub-core/normal/term.c (print_ucs4_terminal): New argument
11059 fixed_tab_size. All users updated.
11060 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
11061 (grub_term_getcharwidth): Handle \t.
11062 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
11063 and copy.
11064
22e6a774
VS
110652012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 Handle big-endian mdraid.
11068
11069 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
11070 * grub-core/Makefile.core.def (mdraid09_be): New module.
11071 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
11072 rather than grub_le_to_cpu* and grub_cpu_to_le*.
11073 * grub-core/disk/mdraid_linux_be.c: New file.
11074
3c0eae66
VS
110752012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11076
11077 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
11078
b6cf74c9
VS
110792012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11082 missing quotes which caused confusion among translators.
11083
83c93b9c
VS
110842012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11085
11086 * util/grub-mkconfig_lib.in: Fix typo.
11087
ac6fd218
VS
110882012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
11091 spaces.
11092 * tests/grub_script_leading_whitespace.in: New file.
11093 * Makefile.util.def (grub_script_leading_whitespace): New test.
11094
ba287dd8
VS
110952012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11096
11097 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
11098 to work.
11099
d2d58d0a
VS
111002012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11101
11102 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
11103 starts with control character.
11104
0382d9bb
VS
111052012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
11108 overflow.
11109 (grub_gdb_outbuf): Likewise.
11110
d83ff9f9
VS
111112012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
11114 zero terminator. Fixes a crash.
11115
2282da4a
VS
111162012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
11119 beyond 4 GiB.
11120 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
11121 images independently of preffered adderss field.
11122
0ae4f0bd
VS
111232012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
11126 * grub-core/commands/regexp.c: Likewise.
11127 * grub-core/loader/i386/linux.c: Likewise.
11128 * grub-core/partmap/msdos.c: Likewise.
11129 * grub-core/script/execute.c: Likewise.
11130 * grub-core/term/gfxterm.c: Likewise.
11131
546fbe9b
VS
111322012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 Add variable parsing in $"..." and fix several mismatches with bash.
11135
11136 * Makefile.util.def (grub_script_gettext): New test.
11137 * grub-core/script/execute.c (parse_string): New function.
11138 (gettext_append): Likewise.
11139 (grub_script_arglist_to_argv): Use gettext_append.
11140 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
11141 * tests/grub_script_gettext.in: New file.
11142
9fdb2d7b
VS
111432012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 Fix handling of leading spaces in scripts.
11146
11147 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
11148 spaces.
11149 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
11150 other than skipping \r. All users updated.
11151 * tests/grub_script_echo1.in: Add space-related tests.
11152 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
11153
1a1ac4f6
VS
111542012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11155
11156 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
11157
b63d89b6
VS
111582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 * configure.ac: Bump up the version to beta2.
11161
17f38c0f
VS
111622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 Fix gettext reload bugs (e.g. inability to disable gettext
11165 once enabled).
11166
11167 * grub-core/gettext/gettext.c: Encapsulate all static variables in
11168 main_context and secondary_context. All functions updated.
11169 (grub_gettext_translate): Rename to ...
11170 (grub_gettext_translate_real): ... this. Return NULL on failed
11171 translate.
11172 (grub_gettext_translate): Handle secondary context.
11173 (grub_gettext_delete_list): Close file and zero-out the context.
11174 (grub_mofile_open): Don't call grub_gettext_delete_list.
11175 Don't close file.
11176 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
11177 if locale="" to avoid pointless error message.
11178 (grub_gettext_env_write_lang): Update lang even if load fails.
11179 Handle secondary context.
11180 (grub_gettext_reread_prefix): New function.
11181 (read_main): Likewise.
11182 (read_secondary): Likewise.
11183 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
11184 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
11185 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
11186 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
11187
8e56f870
VS
111882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 * configure.ac: Decrease warning level to avoid spurious warnings and
11191 to be able to compile with GCC 4.2.
11192 * Makefile.util.def: Remove -Wno-error=logical-op.
11193
82f6d455
WB
111942012-03-10 William Bittner <william.bittner@gmail.com>
11195
11196 * util/import_unicode.py: Add missing brackets around string for
11197 python 3 support.
11198
1ecd61a4
VS
111992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 Fix efi chainloader on network root.
11202
11203 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
11204 network devices.
11205 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
11206 New function.
11207
14361ee8
VS
112082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
11211 unused show_text member.
11212 * docs/grub.texi: Document "text" property.
11213
922aabf3
VS
112142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
11217 in dprintf.
11218
ec316771
VS
112192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 Fix IMSM handling on Fedora.
11222
11223 * util/getroot.c (grub_util_is_imsm): New function.
11224 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
11225
0f021838
VS
112262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 * Makefile.am: Strip gold section.
11229 * conf/Makefile.common: Likewise.
11230 * gentpl.py: Likewise.
11231 * grub-core/Makefile.core.def: Likewise.
11232 * grub-core/genmod.sh.in: Likewise.
11233
1039c8eb
VS
112342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11235
11236 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
11237 * util/grub.d/20_linux_xen.in: Likewise.
11238 Based on Debian patch.
11239
6dd412cd
VS
112402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 * util/grub.d/10_linux.in: Fix syntax error resulting in
11243 Richard Laager's patch.
11244 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
11245
3fd8bae5
VS
112462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
11249 dependencies.
11250
7eea1671
RL
112512012-03-10 Richard Laager <rlaager@wiktel.com>
11252
11253 * util/grub.d/10_linux.in: Fix ZFS root passing.
11254
e8e0566b
VS
112552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11258 * grub-core/commands/xnu_uuid.c: Likewise.
11259 * grub-core/loader/efi/appleloader.c: Likewise.
11260 * grub-core/script/execute.c: Likewise.
11261 * grub-core/script/main.c: Likewise.
11262 * util/grub-mkfont.c: Likewise.
11263
1acc5b1f
VS
112642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 * util/grub-mkfont.c (options): Use more appropriate "select" that
11267 "set" for face index.
11268
35d70620
VS
112692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * util/grub-editenv.c (options): Gettextize command summaries.
11272
c9eb96b5
VS
112732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
11276 "out of memory" error messagge.
11277
1f493136
VS
112782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
11281 of diskfilter for diskfilter on diskfilter support.
11282
6d790129
VS
112832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
11286
005f46c9
VS
112872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * util/grub-install.in: Check for themes/starfield/theme.txt and not
11290 themes/starfield.
11291
c8f778a0
VS
112922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
11295
de1e64eb
VS
112962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
11299
c6d54211
VS
113002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
11303 of error message.
11304
dd390777
VS
113052012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
11308
5fd1c522
VS
113092012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11310
11311 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
11312 message.
c6d54211 11313 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 11314
fae01f6c
VS
113152012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11316
11317 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
11318 Gettextize.
11319 * util/grub-mount.c (options): Likewise.
11320
292fdaff
VS
113212012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11322
11323 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
11324 gettextize.
11325 * grub-core/commands/search_wrap.c (options): Likewise.
11326
ecdbae77
VS
113272012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
11330
52bfedfa
VS
113312012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
11334 size calculation.
11335 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
11336 none is known.
11337
55b20e58
VS
113382012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11339
11340 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
11341 "temporary" since it's used in identifier and is limited in space.
11342
fda9d101
VS
113432012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * po/POTFILES.in: Regenerate. Include *.h since they contain
11346 translatable strings as well.
11347
6a0295e2
VS
113482012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11351 byte-swap on big-endian.
11352 Reported by: Lennart Sorensen
11353
807fb77c
VS
113542012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
11357 (allocate_pages): Improve dprintf.
11358 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
11359 code32_start. Fill code32_start and kernel_alignment in params.
11360 (grub_cmd_initrd): Use prot_init_space.
11361
61ac50ba
VS
113622012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
11365
abdd26dd
VS
113662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * util/grub-install.in: Add missing dot at the end of sentence.
11369
6e69da9c
VS
113702012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11373 * grub-core/commands/videotest.c: Likewise.
11374 * grub-core/loader/i386/linux.c: Likewise.
11375
4a929343
VS
113762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
11379 sentence.
11380 Reported by: Milo Casagrande.
11381
bb51c6c6
VS
113822012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
11385 * grub-core/commands/gptsync.c: Likewise.
11386 * grub-core/commands/hashsum.c: Likewise.
11387 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11388 * grub-core/commands/legacycfg.c: Likewise.
11389 * grub-core/io/gzio.c: Likewise.
11390 * grub-core/net/net.c: Likewise.
11391 * grub-core/term/gfxterm.c: Likewise.
11392 * grub-core/term/terminfo.c: Likewise.
11393 * grub-core/tests/test_blockarg.c: Likewise.
11394 * grub-core/video/video.c: Likewise.
11395 * util/grub-install.in: Likewise.
11396 * util/grub-mkfont.c: Likewise.
11397
b2b149cb
VS
113982012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11399
11400 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
11401
c7c080ad
VS
114022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11403
11404 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 11405 Reported by: David Prévot.
c7c080ad 11406
f2e243c0
VS
114072012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11408
11409 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
11410 description.
11411
09963c76
VS
114122012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 * util/grub-script-check.c (main): Fix a syntax error message which was
11415 unclear.
11416
a50514a8
VS
114172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
11420
4650daec
VS
114212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
11424 messages.
11425
114262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
11427
11428 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
11429 without argument.
11430 * util/grub-mount.c (options): Likewise.
11431
bbc5a342
VS
114322012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
11435
ef292a87
VS
114362012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 * grub-core/net/http.c: Add TRANSLATORS comments.
11439 * grub-core/normal/cmdline.c: Likewise.
11440 * grub-core/normal/misc.c: Likewise.
11441 * grub-core/partmap/msdos.c: Likewise.
11442 * grub-core/parttool/msdospart.c: Likewise.
11443 * grub-core/script/execute.c: Likewise.
11444 * grub-core/script/main.c: Likewise.
11445 * grub-core/term/terminfo.c: Likewise.
11446 * grub-core/video/bitmap.c: Likewise.
11447 * util/grub-install.in: Likewise.
11448 * util/grub-mkimage.c: Likewise.
11449 * util/grub-mklayout.c: Likewise.
11450 * util/grub-setup.c: Likewise.
11451
0fc19bd0
VS
114522012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
11455 with similar messages in grub-fstest.
11456
d95862ef
VS
114572012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * util/grub-install.in: Unify "option requires an argument" message
11460 with similar messages in other files.
11461 * util/grub-mkconfig.in: Likewise.
11462
b7308f90
VS
114632012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * util/grub-set-default.in: Replace printf with gettext_printf (the
11466 string in in question is already translated from grub-reboot)
11467
559dc587
VS
114682012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11469
11470 * configure.ac: Bump up the version to beta1.
11471
1a11761f
VS
114722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
11475 case when min_align = 0.
11476
24539abd
VS
114772012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11478
11479 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
11480 and fix a case when line_start overflows.
11481
32bd735b
VS
114822012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * util/grub-reboot.in (usage): Mention id posibility.
11485 * util/grub-set-default.in (usage): Likewise.
11486
1a2fd1e6
VS
114872012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11488
11489 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
11490 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
11491 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11492 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11493 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11494 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11495 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11496
90eeab76
VS
114972012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 * grub-core/commands/menuentry.c (options): Remove
11500 GRUB_ARG_OPTION_REPEATABLE.
11501 Reported by: Andreas Vogel
11502
5ad1be82
AV
115032012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
11504
11505 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
11506
cb055286
HE
115072012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
11508
11509 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
11510 error.
11511
93b1cd79
VS
115122012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 Use sort -V by the idea of Georgi Georgiev.
11515
11516 * util/grub-mkconfig_lib.in (version_sort): New function.
11517 (version_test_numeric): Use version_sort.
11518
0cdc126c
VS
115192012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 Use submenus in grub-mkconfig.
11522
11523 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
11524 * util/grub-mkconfig_lib.in (grub_quote): New function.
11525 (gettext_printf): Use gettext and not gettext_quoted to fix several
11526 messages.
11527 * util/grub.d/10_hurd.in: Use submenus.
11528 * util/grub.d/10_kfreebsd.in: Likewise.
11529 * util/grub.d/10_linux.in: Likewise.
11530 * util/grub.d/10_netbsd.in: Likewise.
11531 * util/grub.d/20_linux_xen.in: Likewise.
11532 * util/grub.d/30_os-prober.in: Likewise.
11533 * util/grub.d/10_illumos.in: Add missing quoting.
11534 * util/grub.d/10_windows.in: Likewise.
11535
d9bef9bc
VS
115362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 Fix menu title instability bug.
11539
11540 * grub-core/commands/menuentry.c (options): New option --id.
11541 (grub_normal_add_menu_entry): New argument id. All users updated.
11542 (grub_cmd_menuentry): Handle --id.
11543 (grub_menu_init): Accept unknown arguments.
11544 * grub-core/normal/main.c (features): Add feature_menuentry_id and
11545 feature_menuentry_options.
11546 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
11547 saved_entry.
11548 (get_entry_number): Match with id as well.
11549 * include/grub/menu.h (grub_menu_entry): New member id.
11550 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
11551 * util/grub.d/00_header.in: Define menuentry_id_option.
11552 * util/grub.d/10_hurd.in: Define id.
11553 * util/grub.d/10_illumos.in: Likewise.
11554 * util/grub.d/10_kfreebsd.in: Likewise.
11555 * util/grub.d/10_linux.in: Likewise.
11556 * util/grub.d/10_netbsd.in: Likewise.
11557 * util/grub.d/10_windows.in: Likewise.
11558 * util/grub.d/20_linux_xen.in: Likewise.
11559 * util/grub.d/30_os-prober.in: Likewise.
11560
115612012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
11562
11563 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
11564 "scope" with "body".
11565
7c8d0ce7
VS
115662012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
11569 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
11570 prot_size and prot_file_size.
11571
49de079b
VS
115722012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11573
11574 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
11575 All users updated. If easily=1 require raid-5/-6 to be full.
11576 (is_node_readable): Likewise.
11577 (scan_devices): Scan incomplete but readable LVs at the end.
11578 (grub_diskfilter_memberlist): Pull missing devices.
11579 (insert_array): Skip scanning until device is complete or scan is
11580 done otherwise.
11581 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
11582 check.
11583 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
11584 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
11585
aff05d45
MG
115862012-03-03 Matthew Garrett <mjg@redhat.com>
115872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 Avoid EFI boot services when loading Linux.
11590
11591 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
11592 avoid_efi_bootservices. All users updated.
11593 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
11594 argument avoid_efi_bootservices. All users updated.
11595 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
11596 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
11597 align, min_align, relocatable, prefered_address. All users updated.
11598 Allocate avoiding boot services if kernel is relocatable.
11599 (grub_cmd_linux): Check if kernel is relocatable.
11600 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
11601 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
11602 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
11603 avoid_efi_boot_services.
11604 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
11605 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
11606 (linux_kernel_params): Likewise.
11607
3935dde2
MG
116082012-03-03 Matthew Garrett <mjg@redhat.com>
116092012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 Use EDID on EFI.
11612
11613 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
11614 datasize_out.
11615 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
11616 modes. Set gop_handle.
11617 (grub_video_gop_get_edid): New function.
11618 (grub_gop_get_preferred_mode): Likewise.
11619 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
11620 (grub_video_efi_gop_adapter): Set .get_edid.
11621 * include/grub/efi/edid.h: New file.
11622 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
11623
32107ec0
VS
116242012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11625
11626 * util/grub-install.in: Load efivars unconditionally.
11627
e70a2c50
VS
116282012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 * po/Rules-piglatin: Change suffix from .po-update-en to
11631 .po-update-en-piglatin.
11632
8f9cace1
VS
116332012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 Add a pig farm.
11636
11637 * po/piglatin.sed: New file.
11638 * po/en@piglatin.header: Likewise.
11639 * po/Rules-piglatin: Likewise.
11640 * po/README: Add en@piglatin to autogenerated languages.
11641
8f95d002
VS
116422012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
11645 "Command for ...".
11646 * grub-core/commands/hdparm.c (options): Use "Display" rather than
11647 "Check" since we don't check anything.
11648 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
11649 is 64-bit one.
11650 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
11651 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
11652 (grub_md_sha512_real): Likewise.
11653
805a8dcc
VS
116542012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 * grub-core/commands/gptsync.c: Fix typographic quoting.
11657 * grub-core/commands/ieee1275/suspend.c: Likewise.
11658 * grub-core/commands/parttool.c: Likewise.
11659 * grub-core/commands/search_wrap.c: Likewise.
11660 * grub-core/commands/videoinfo.c: Likewise.
11661 * grub-core/gfxmenu/gui_label.c: Likewise.
11662 * grub-core/hello/hello.c: Likewise.
11663 * grub-core/kern/emu/main.c: Likewise.
11664 * grub-core/net/net.c: Likewise.
11665 * grub-core/normal/menu.c: Likewise.
11666 * grub-core/normal/menu_text.c: Likewise.
11667 * grub-core/normal/misc.c: Likewise.
11668 * util/grub-editenv.c: Likewise.
11669 * util/grub-install.in: Likewise.
11670 * util/grub-kbdcomp.in: Likewise.
11671 * util/grub-mkconfig.in: Likewise.
11672 * util/grub-mknetdir.in: Likewise.
11673 * util/grub-mkrescue.in: Likewise.
11674 * util/grub-mkstandalone.in: Likewise.
11675 * util/grub-reboot.in: Likewise.
11676 * util/grub-set-default.in: Likewise.
11677 * util/grub-setup.c: Likewise.
11678 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11679
40211ab8
VS
116802012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
11683 * grub-core/commands/keystatus.c: Likewise.
11684 * grub-core/commands/loadenv.c: Likewise.
11685 * grub-core/commands/probe.c: Likewise.
11686 * grub-core/commands/regexp.c: Likewise.
11687 * grub-core/commands/true.c: Likewise.
11688 * grub-core/commands/videoinfo.c: Likewise.
11689 * grub-core/disk/cryptodisk.c: Likewise.
11690 * grub-core/disk/ldm.c: Likewise.
11691 * grub-core/disk/loopback.c: Likewise.
11692 * grub-core/disk/luks.c: Likewise.
11693 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11694 * grub-core/kern/disk.c: Likewise.
11695 * grub-core/kern/emu/hostdisk.c: Likewise.
11696
0c7d99c7
VS
116972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11698
11699 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
11700 * util/grub-install.in: Add missing quote in the comment.
11701
e7d2559b
VS
117022012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11703
11704 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
11705 * grub-core/commands/lsmmap.c: Likewise.
11706 * grub-core/commands/minicmd.c: Likewise.
11707 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11708 * grub-core/commands/regexp.c: Likewise.
11709 * grub-core/gdb/gdb.c: Likewise.
11710 * grub-core/term/gfxterm.c: Likewise.
11711 * util/grub-mkconfig.in: Likewise.
11712 * util/grub-mkfont.c: Likewise.
11713 * util/grub-mklayout.c: Likewise.
11714 * util/grub-mknetdir.in: Likewise.
11715 * util/grub-mkrescue.in: Likewise.
11716 * util/grub.d/30_os-prober.in: Likewise.
11717
49ce9e50
VS
117182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
11721 with "Direct color" and "Packed" with "Packed pixel".
11722 (grub_cmd_videoinfo): Simplify legend.
11723
e4b791fa
VS
117242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11727 absolutely unclear error message.
11728
fd1265cb
VS
117292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 * util/grub-mkstandalone.in: Remove confusing leftover print.
11732
8822a8a0
VS
117332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11734
11735 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
11736 comments.
11737 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
11738 (GRUB_MOD_INIT): Likewise.
11739 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
11740 VGA mode.
11741 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
11742 comments.
11743 * util/grub-install.in (usage): Likewise.
11744 Spell ID in whole letters.
11745 Add missing ending dot.
11746 Quote variables.
11747 * util/grub-reboot.in: Fix capitalisation.
11748 * util/grub-set-default.in: Likewise.
11749
937fd0cc
VS
117502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11751
11752 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
11753 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
11754 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
11755 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
11756 Disable -Werror for -Wdeprecated-declarations.
11757 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
11758 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
11759 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
11760 (grub_util_get_grub_dev): Make luks handling dependent on
11761 HAVE_DEVICE_MAPPER and not __linux__.
11762 (get_win32_path): Fix format security.
11763 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
11764 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
11765 Don't try grub_find_zpool_from_dir.
11766 (grub_make_system_path_relative_to_its_root) [!__linux__]:
11767 #ifdef-out paresdir.
11768
1bab1ae3
VS
117692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11770
11771 * util/grub-pe2elf.c (usage): Add missing noreturn.
11772 (write_section_data): Rename name to shname to avoid shadowing.
11773 (write_symbol_table): Rename name to symname to avoid shadowing.
11774 Fix write_reloc_section call.
11775
ef023e42
VS
117762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
11779 to ensure that it's after the last byte of .text.
11780
48afcb75
VS
117812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11782
11783 * util/ieee1275/ofpath.c (my_isdigit): New function.
11784 (trailing_digits): Use my_isdigit.
11785 (strip_trailing_digits): Likewise.
11786
88d51eff
VS
117872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11788
11789 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
11790 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
11791
17edc2ba
VS
117922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11793
11794 * grub-core/kern/i386/pc/startup.S: Define __start.
11795
ad5518d7
VS
117962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11797
11798 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
11799 strip already transforms he format.
11800
9e95e1bf
VS
118012012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
11804
9cc3ee5c
VS
118052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 * util/grub-install.in: Add missing gettext init.
11808 * util/grub-kbdcomp.in: Likewise.
11809 * util/grub-mkconfig.in: Likewise.
11810 * util/grub-mknetdir.in: Likewise.
11811 * util/grub-mkrescue.in: Likewise.
11812 * util/grub-mkstandalone.in: Likewise.
11813 * util/grub-reboot.in: Likewise.
11814 * util/grub-set-default.in: Likewise.
11815 * util/grub.d/00_header.in: Likewise.
11816 * util/grub.d/10_hurd.in: Likewise.
11817 * util/grub.d/10_windows.in: Likewise.
11818 * util/grub.d/30_os-prober.in: Likewise.
11819 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11820
49e08a06
VS
118212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11822
11823 * po/Rules-swiss: Fix header comment.
11824
3809cb41
AV
118252012-02-29 Andreas Vogel <anvoit>
11826
11827 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
11828 resulted in leak of arguments.
11829
fa6ec573
VS
118302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 * grub-core/boot/i386/pc/startup_raw.S: Use separate
11833 reed_solomon_size const definition instead of computing it since
11834 Apple assembler doesn't support the later.
11835
22899b9c
VS
118362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * gentpl.py (kernel): Rewrite Apple part.
11839
a132afc3
VS
118402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11841
11842 * include/grub/kernel.h (FOR_MODULES): Check module magic.
11843
9d742bd4
VS
118442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11845
11846 * util/grub-mkimagexx.c (locate_sections): Support non-standard
11847 ELF section gap.
11848 (load_image): Likewise.
11849
f04a9a21
VS
118502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11851
11852 * configure.ac: Fix a typo in previous commit.
11853
46cf439c
VS
118542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11855
11856 Don't add -Wl,-N on Apple platform.
11857
11858 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
11859 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
11860
c4c48c54
VS
118612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11862
11863 * grub-core/Makefile.core.def (lzma_decompress): Use
11864 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
11865
31a12124
VS
118662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11867
11868 * grub-core/genmod.sh.in: Rewrite the Apple part.
11869
4f3aa1af
VS
118702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11871
11872 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
11873 comparison.
11874
7bd8b0c7
VS
118752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 * acinclude.m4 (grub_CHECK_PIC): New test.
11878 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
11879
97304d7c
VS
118802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
11883 to avoid the warning.
11884
fb883812
VS
118852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
11888 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
11889 after. All users updated.
11890
a121c964
VS
118912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11892
11893 Use the common size routine in hostfs so we can read disks as well.
11894
11895 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
11896 (grub_util_get_fd_size): ... this. Return size in bytes.
11897 All users updated.
11898 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
11899 grub_util_get_fd_size.
11900
c66d6410
VS
119012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
11904 Add blocksize retrieval.
11905
dfc8aeb0
VS
119062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11907
11908 * configure.ac: Restore CFLAGS after efiemu check.
11909
403e25a5
VS
119102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
11913 Apple bug.
11914
382775d1
VS
119152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
11918
6fd4e6e4
VS
119192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
11922 (grub_cmd_halt): Likewise.
11923
bea359d6
VS
119242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11925
11926 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
11927 for local arithmetics.
11928 Break %sp init into 2 instructions.
11929 Add 0 byte at the end.
11930
32eb6ee1
VS
119312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * grub-core/disk/diskfilter.c (read_segment): Initialise err
11934 before loops.
11935
e8377389
VS
119362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
11939 for context.
11940
8cb17de7
VS
119412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 * grub-core/disk/ldm.c (make_vg): Init part.name.
11944 (grub_ldm_detect): Silence spurious warning.
11945 (grub_util_is_ldm): Likewise.
11946
595717e6
VS
119472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
11950 sane value to avoid a spurious warning.
11951
c4b7e588
VS
119522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
11955 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
11956
59824957
VS
119572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
11960 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
11961
70115b99
VS
119622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11963
11964 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
11965 hardcoding the relevant info.
11966
56733740
VS
119672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
11970 missing const qualifiers.
11971 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
11972
43481481
VS
119732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 * util/getroot.c [__APPLE__]: Add missing includes.
11976 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
11977
3cb38f01
VS
119782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11979
11980 * util/grub-mkimage.c (generate_image): Silence spurious warning.
11981
d9dbf11e
VS
119822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11983
11984 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
11985 avoid conflicts.
11986
0c42a45d
VS
119872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11988
11989 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
11990
46c34eb0
VS
119912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11992
11993 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
11994 and grub_file_close call.
11995
99ce1597
VS
119962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 Add LZSS Mach-O support (needed for new xnu kernelcache).
11999
12000 * grub-core/Makefile.core.def (xnu): Add file lzss.c
12001 * grub-core/loader/lzss.c: New file.
12002 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
12003 on Mach-O open failure.
12004 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
12005 Don't free cmdsXX in uncompressedXX is set.
12006 (grub_macho_file): Init new fields.
12007 New argument is_64bit. All users updated.
12008 Handle compressed. Error out if no suitable architecture is found.
12009 Don't close file.
12010 (grub_macho_open): New argument is_64bit. All users updated.
12011 * grub-core/loader/macho32.c: Add defines for new fields.
12012 * grub-core/loader/macho64.c: Likewise.
12013 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
12014 (grub_macho_parse): Handle compressed.
12015 Defer actual processing if compressed.
12016 (grub_macho_cmds_iterate): Decompress if compressed. New argument
12017 "filename". All users updated.
12018 (grub_macho_size): New argument "filename". All users updated.
12019 (grub_macho_get_entry_point): Likewise.
12020 (grub_macho_load): Handle compressed.
12021 * include/grub/macho.h (grub_macho_lzss_header): New struct.
12022 (GRUB_MACHO_LZSS_OFFSET): New define.
12023 (grub_decompress_lzss): New proto.
12024 * include/grub/machoload.h (grub_macho_file): New fields to handle
12025 compressed.
12026 (grub_macho_contains_macho64): Remove proto.
12027 (grub_macho_contains_macho32): Likewise.
12028 * util/grub.d/30_os-prober.in: Use kernel cache if available.
12029
ebd17d6f
VS
120302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
12033
2702b4e4
VS
120342012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 Fix make dist.
12037
12038 * Makefile.am (starfield_theme_files): New var.
12039 (starfield_DATA): Use starfield_theme_files.
12040 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
12041 Add bootcheck-related files.
12042 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
12043 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
12044 and font_char_metrics.txt.
12045 * grub-core/Makefile.core.def (kernel): Update extra_dist.
12046 (setjmp): Add lib/ia64/longjmp.S.
12047 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
12048 * po/POTFILES.in: Regenerate.
12049 * po/Rules-swiss: use DISTFILES.common.extra2 and not
12050 DISTFILES.common.extra1.
12051 * util/devicemap.c: Removed.
12052 * grub-core/lib/i386/relocator_backward.S: Likewise.
12053 * util/import_gcry.py: Remove unused files. Add extra_dist for
12054 ChangeLog.
12055
cf1adfdf
VS
120562012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 * grub-core/gettext/gettext.c (grub_mofile_open): Call
12059 grub_gettext_delete_list before changing grub_gettext_max to avoid
12060 running out of array bounds.
12061
120622012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
12063
12064 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
12065 grub_vga_text_init/grub_vga_text_fini.
12066
cf1adfdf 120672012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
12068
12069 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
12070
541d92e9
VS
120712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 * configure.ac: Bump to 2.00~beta0.
12074
7931dddf
VS
120752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
12078 missing initialisation.
12079
f1b16fa3
VS
120802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
12083
83ddae23
VS
120842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 Support v2 xnu boot arguments.
12087
12088 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
12089 New argument fsbfreq_out.
12090 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
12091 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
12092 be used.
12093 * grub-core/loader/machoXX.c (grub_macho_load): New argument
12094 darwin_version.
12095 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
12096 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
12097 (grub_xnu_boot_params): Rename to ...
12098 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
12099 (grub_xnu_boot_params_v2): New struct.
12100
dc693fe6
VS
121012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12102
12103 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
12104 zeroing of CRC field before computing CRC.
12105
5a6e39c2
VS
121062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12107
12108 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
12109 Change order of allocations to decrease fragmentation.
12110
6c21f5d7
VS
121112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12112
12113 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
12114
cfe456dc
CW
121152012-02-27 Colin Watson <cjwatson@ubuntu.com>
12116
12117 Use write-combining MTRR to speed up video with buggy BIOSes.
12118
12119 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
12120 (cpuid): New define.
12121 (rdmsr): Likewise.
12122 (wrmsr): Likewise.
12123 (mtrr_base): Likewise.
12124 (mtrr_mask): Likewise.
12125 (grub_vbe_enable_mtrr_entry): New function.
12126 (grub_vbe_enable_mtrr): Likewise.
12127 (grub_vbe_disable_mtrr): Likewise.
12128 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
12129 control off to BIOS.
12130 (grub_video_vbe_init): Fill mtrr.
12131 (grub_video_vbe_fini): Disable mtrr.
12132 (grub_video_vbe_get_info_and_fini): Likewise.
12133 (grub_video_vbe_setup): Enable mtrr.
12134
e3c78337
CW
121352012-02-27 Colin Watson <cjwatson@ubuntu.com>
12136
12137 * include/grub/partition.h (grub_partition_map): Change prototype of
12138 embed to take a maximum value for nsectors.
12139 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
12140 * include/grub/fs.h (grub_fs): Likewise.
12141 * grub-core/partmap/msdos.c (embed_signatures): New array.
12142 (pc_partition_map_embed): Check for and avoid sectors matching any
12143 of the signatures in embed_signatures, up to max_nsectors.
12144 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
12145 returned sector map to max_nsectors.
12146 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
12147 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
12148 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
12149 * util/grub-setup.c (setup): Allow for the embedding area being
12150 split into multiple blocklists. Tell dest_partmap->embed the
12151 maximum number of sectors we care about.
12152
121532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12154
12155 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
12156 Specify blocklist_install and reserver_first_sector for all fs.
12157 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
12158 blocklists.
12159
984b973f
VS
121602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 * util/grub-install.in: Clarify strings.
12163 Fix source dir check.
12164
f122e0d6
RL
121652012-02-27 Richard Laager <rlaager@wiktel.com>
12166
12167 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
12168 "zfs" and "fuse.zfs" as synonyms.
12169
071114bb
VS
121702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 * configure.ac: Put platform and target_cpu substitutions back since
12173 they are used for directories.
12174
817e6abc
RL
121752012-02-27 Richard Laager <rlaager@wiktel.com>
121762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 * util/grub.d/10_linux.in: Add ZFS-related arguments.
12179 * util/grub.d/20_linux_xen.in: Likewise.
12180
897b7419
RL
121812012-02-27 Richard Laager <rlaager@wiktel.com>
12182
12183 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
12184 with full paths.
12185
a414bd15
RL
121862012-02-27 Richard Laager <rlaager@wiktel.com>
12187
12188 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
12189 unescape.
12190
30ac48c4
VS
121912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12192
12193 Don't use insecure popen in getroot.
12194
12195 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
12196 (exec_pipe): ... here.
12197 (find_root_devices_from_poolname): Use exec_pipe.
12198
53f13848
VS
121992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 Remove platform and target_cpu replacement.
12202
12203 * configure.ac: Remove platform and target_cpu substitutions.
12204 * tests/util/grub-shell.in: Use modinfo.
12205 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
12206 explicitly.
12207
90cb2803
VS
122082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 Autodetect platform in grub-install but allow override.
12211
12212 * util/grub-install.in: Autodetect platform. Support --target and
12213 --directory. Read platform from modinfo.sh.
12214
b9136427
VS
122152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 Support btrfs multi-volume probe.
12218
12219 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
12220 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
12221 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
12222 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
12223 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
12224 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
12225 grub_find_root_devices_from_btrfs if on btrfs.
12226
c36e5cd1
VS
122272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 Remove any awareness of *.c util files about target.
12230
12231 * Makefile.util.def (grub-setup): Split to ...
12232 (grub-bios-setup): ... and this.
12233 (grub-sparc64-setup): ... and this.
12234 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
12235 * docs/man/grub-setup.h2m: Split into ...
12236 * docs/man/grub-sparc64-setup.h2m: ... this.
12237 * docs/man/grub-bios-setup.h2m: ... and this.
12238 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
12239 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
12240 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
12241 (grub_target_addr_t): Remove.
12242 (grub_target_size_t): Remove.
12243 (grub_target_ssize_t): Remove.
12244 * util/grub-install.in: Use new grub-*-setup.
12245 * util/grub-mkimagexx.c (Elf_Word): New define.
12246 (Elf_Half): Likewise.
12247 (Elf_Section): Likewise.
12248 (ELF_ST_TYPE): Likewise.
12249 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
12250 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
12251
584b2f8a
VS
122522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 Replace grub_target_addr with more appropriate types.
12255
12256 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
12257 grub_target_addr with grub_addr.
12258 * grub-core/commands/iorw.c (grub_cmd_read): Replace
12259 grub_target_addr with grub_port.
12260 (grub_cmd_write): Likewise.
12261 * grub-core/commands/memrw.c (grub_cmd_read): Replace
12262 grub_target_addr with grub_addr.
12263 (grub_cmd_write): Likewise.
12264 * grub-core/video/efi_uga.c (find_line_len): Likewise.
12265
5a0dc6fb
VS
122662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12267
12268 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
12269 const qualifier for vendor_guid.
12270
786aff6e
VS
122712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12272
12273 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
12274 const qualifier.
12275 (efiemu_memequal): Likewise.
12276 (find_variable): Likewise.
12277
49017b17
VS
122782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 Fix missing console prototype on qemu-mips.
12281
12282 * include/grub/mips/qemu_mips/console.h: New file.
12283
c5988629
MG
122842012-02-27 Matthew Garrett <mjg@redhat.com>
122852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12286
12287 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
12288 * include/grub/efi/efi.h: Likewise.
12289 * include/grub/efi/api.h: Add guid for EFI-specified variables.
12290 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
12291 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
12292 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
12293 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
12294 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
12295
e33f8d69
MG
122962012-02-27 Matthew Garrett <mjg@redhat.com>
12297
12298 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
12299
fb312cd9
VS
123002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
12303 error.
12304
7134247c
VS
123052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12306
12307 * configure.ac: Remove inappropriate use of program_transform_name
12308 on grubdir and bootdir but allow explicit specification of those
12309 variables.
12310
6a313124
VS
123112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * util/grub-mknetdir.in (grub_prefix): Removed.
12314 (subdir): Use @bootdirname@ and @grubdirname@.
12315
2311c5ca
VS
123162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
12319
7d5d60f7
VS
123202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * po/POTFILES.in: Regenerated.
12323
8151bc82
VS
123242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 Remove improper use of program_transform_name on pkglibrootdir.
12327
12328 * configure.ac (pkglibrootdir): Removed.
12329 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
12330 * util/grub-mkimage.c: Likewise.
12331
b4a6a533
VS
123322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12333
12334 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
12335 warning.
12336
668f304f
VS
123372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12338
12339 * util/grub-install.in: Use file identifier if no UUID is available
12340 or user explicitly prompted for it.
12341
665f2341
NP
123422012-02-27 Navdeep Parhar <nparhar@gmail.com>
12343
12344 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
12345 (freebsd_get_zfs): New function.
12346 (grub_freebsd_boot): Pass zfs UUID.
12347 (grub_cmd_freebsd): Set zfs UUID.
12348
8151bc82 123492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
12350
12351 * conf/Makefile.common (platformdir): Base on pkglibdir and not
12352 pkglibrootdir.
12353
e4c498a1
MG
123542012-02-27 Mike Gilbert <floppym@gentoo.org>
12355
12356 Add configure flag to control libzfs integration.
12357
12358 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
12359
1e9a9a3f
VS
123602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12361
12362 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
12363 device.
12364 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
12365 small devices.
12366
036985b8
VS
123672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12368
12369 Remove grub_{modname}_init and grub_{modname}_fini. They should never
12370 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
12371 be used on non-modules.
12372
12373 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
12374 Rename to grub_boot_init.
12375 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
12376 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
12377 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
12378 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
12379 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
12380 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
12381 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
12382 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
12383 includes.
12384 (grub_machine_init): Remove empty inits.
12385 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
12386 includes.
12387 (grub_machine_init): Remove empty inits.
12388 * grub-core/term/arc/console.c: Remove explicit proto.
12389 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
12390 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
12391 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12392 grub_at_keyboard_fini.
12393 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
12394 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
12395 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12396 grub_gfxterm_fini.
12397 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
12398 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
12399 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12400 grub_vgatext_fini.
12401 * grub-core/term/ieee1275/console.c: Remove explicit proto.
12402 * grub-core/term/serial.c (GRUB_MOD_INIT)
12403 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
12404 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12405 grub_serial_fini.
12406 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
12407 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
12408 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12409 grub_terminfo_fini.
12410 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
12411 (GRUB_MOD_FINI): Likewise.
12412 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
12413 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
12414 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12415 grub_video_radeon_fuloong2e_fini.
12416 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
12417 [LOONGSON]: Rename to grub_video_sis315pro_init.
12418 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12419 grub_video_sis315pro_fini.
12420 * grub-core/video/sm712.c (GRUB_MOD_INIT)
12421 [LOONGSON]: Rename to grub_video_sm712_init.
12422 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12423 grub_video_sm712_fini.
12424 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
12425 (grub_at_keyboard_fini): Likewise.
12426 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
12427 Don't declare grub_{modname}_init.
12428 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
12429 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
12430 New proto.
12431 (grub_keylayouts_fini) [!EMU]: Likewise.
12432 * include/grub/serial.h (grub_serial_init) [!EMU]:
12433 New proto.
12434 (grub_serial_fini) [!EMU]: Likewise.
12435 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
12436 New proto.
12437 (grub_terminfo_fini) [!EMU]: Likewise.
12438 * include/grub/video.h (grub_font_init) [!EMU]:
12439 New proto.
12440 (grub_font_fini) [!EMU]: Likewise.
12441 (grub_gfxterm_init) [!EMU]: Likewise.
12442 (grub_gfxterm_fini) [!EMU]: Likewise.
12443 (grub_video_sm712_init) [!EMU]: Likewise.
12444 (grub_video_sm712_fini) [!EMU]: Likewise.
12445 (grub_video_sis315pro_init) [!EMU]: Likewise.
12446 (grub_video_sis315pro_fini) [!EMU]: Likewise.
12447 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
12448 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
12449
d5534665
VS
124502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 Make nand a prefix for nand devices.
12453
12454 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
12455
10133b5f
VS
124562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
12459 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
12460
8e307a62
VS
124612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * include/grub/env.h (grub_env_find): Remove prototype.
12464 * grub-core/kern/env.c (grub_env_find): Make static.
12465 (grub_env_set): Remove useless set.
12466
a4c65f34
VS
124672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12468
12469 * grub-core/kern/i386/realmode.S: Remove useless align.
12470
d87893d5
VS
124712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 * include/grub/dl.h (grub_dl_load_file): Don't export.
12474
50159add
VS
124752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
12478 grub_dprintf.
12479
b2582b84
VS
124802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
12483 grub_errors.
12484 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
12485 not reloading whole superblock but only the part which is really needed.
12486 Remove useless grub_errors.
12487 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
12488 grub_errors.
12489
e2a83395
VS
124902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12491
12492 Don't export grub_get_rtc.
12493
12494 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
12495 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
12496
e7d2a906
VS
124972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
12500
6cf1363b
VS
125012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12502
12503 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 12504 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 12505
eece3349
VS
125062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12507
12508 Remove prio_list.
12509
12510 * include/grub/list.h (grub_prio_list): Removed.
12511 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
12512 GRUB_COMMAND_PRIO_MASK.
12513 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
12514 GRUB_COMMAND_FLAG_ACTIVE.
12515 (grub_prio_list_insert): Removed.
12516 (grub_prio_list_remove): Likewise.
12517 (GRUB_AS_PRIO_LIST): Likewise.
12518 (GRUB_AS_PRIO_LIST_P): Likewise.
12519 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
12520 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
12521 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
12522 * grub-core/kern/command.c (grub_register_command_prio): Inline
12523 the prio_list code.
12524 (grub_unregister_command): Likewise.
12525
94f064b4
VS
125262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 Fix interrupt mixup from previous commit.
12529
12530 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
12531 (grub_realidt): New var.
12532 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
12533 Load idt.
12534 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
12535 New declaration.
12536 (grub_relocator16_boot): Set grub_relocator16_idt.
12537 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
12538 (LOCAL(realidt)): ... this.
12539 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
12540 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
12541 (grub_realidt): New variable.
12542
27317084
VS
125432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12544
12545 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
12546 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
12547 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
12548 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
12549 Gettextize.
12550 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
12551 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
12552 * po/POTFILES.in: Regenerate.
12553
47b40053
VS
125542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12555
12556 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
12557 errors.
12558
2b343101
VS
125592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
12562 \0.
12563 (add_length): Likewise.
12564
ff27c3dd
LK
125652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
125662012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
12567
12568 GDB serial and backtrace support.
12569
12570 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
12571 (prot_to_real): Likewise.
12572 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
12573 * grub-core/Makefile.core.def (backtrace): New module.
12574 (gdb): Likewise.
12575 * grub-core/gdb/cstub.c: New file.
12576 * grub-core/gdb/gdb.c: Likewise.
12577 * grub-core/gdb/i386/idt.c: Likewise.
12578 * grub-core/gdb/i386/machdep.S: Likewise.
12579 * grub-core/gdb/i386/signal.c: Likewise.
12580 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 12581 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
12582 * include/grub/backtrace.h: Likewise.
12583 * include/grub/gdb.h: Likewise.
12584 * include/grub/i386/gdb.h: Likewise.
12585
125862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
12587
12588 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
12589 New function.
12590 (add_length): Likewise.
12591 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
12592 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
12593 proto.
12594 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
12595 __argp_get_display_len.
12596
ff27c3dd 125972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
12598
12599 $"..." support in scripts.
12600
12601 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
12602 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
12603 * grub-core/script/yylex.l: Likewise.
12604 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
12605 value.
12606
ff27c3dd 126072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
12608
12609 * gentpl.py: Remove obsolete pkglib_DATA handling.
12610
ff27c3dd 126112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
12612
12613 Don't transform PACKAGE_TARNAME following a discussion on autoconf
12614 mailing list.
12615
12616 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
12617 * util/grub-kbdcomp.in: Likewise.
12618 * util/grub-mkconfig.in: Likewise.
12619 * util/grub-mkconfig_lib.in: Likewise.
12620 * util/grub-mknetdir.in: Likewise.
12621 * util/grub-mkrescue.in: Likewise.
12622 * util/grub-mkstandalone.in: Likewise.
12623 * util/grub-reboot.in: Likewise.
12624 * util/grub-set-default.in: Likewise.
12625 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12626
ff27c3dd 126272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
12628
12629 Remove GRUB_PREFIX.
12630
12631 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
12632 * util/grub.d/00_header.in: Compute prefix in the only place it's still
12633 used for backward compatibility.
12634
ff27c3dd 126352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
12636
12637 Add new all_video module.
12638
12639 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
12640 * grub-core/Makefile.core.def (all_video): New module.
12641 * grub-core/genmoddep.awk: Generate dependency of all_video from
12642 video.lst.
12643 * grub-core/lib/fake_module.c: New file.
12644 * grub-core/normal/main.c (features): Add feature_all_video_module.
12645 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
12646 don't do explicit search again.
47454da5 12647 insmod all_video in load_video if available.
22c7ce85 12648
ff27c3dd 126492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
12650
12651 Another round of string clarification and adding TRANSLATORS comments.
12652
ff27c3dd 126532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
12654
12655 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
12656
ff27c3dd 126572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
12658
12659 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
12660 to grub_ssize_t.
12661 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
12662 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
12663
ff27c3dd 126642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
12665
12666 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
12667 trailing newline implicitly. All users updated.
12668
ff27c3dd 126692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
12670
12671 Implement serial on IEEE1275 and EFI.
12672
12673 * docs/grub.texi (Platform-specific limitations): Fix the columen video
12674 on emu. Mention arc and emu as the only platforms without serial
12675 support.
12676 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
12677 ieee1275 platforms.
12678 * grub-core/term/efi/serial.c: New file.
12679 * grub-core/term/ieee1275/serial.c: Likewise.
12680 * grub-core/term/serial.c (grub_serial_find): Disable direct port
12681 specification if no ns8250 driver is available.
12682 (grub_cmd_serial): Likewise.
12683 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
12684 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
12685 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
12686 (grub_efi_parity_type_t): New type.
12687 (grub_efi_stop_bits_t): Likewise.
12688 (grub_efi_serial_io_interface): New struct.
12689 * include/grub/serial.h (grub_serial_port): Make 'broken' field
12690 available for all interfaces.
12691 Add EFI and IEEE1275 fields.
12692 (grub_ofserial_init): New proto.
12693 (grub_efiserial_init): Likeiwse.
12694 * util/grub.d/00_header.in: Don't check for the presence of serial
12695 module.
12696
ff27c3dd 126972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
12698
12699 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
12700 name as if it was an alias.
12701
114076ef
VS
127022012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12703
12704 * grub-core/commands/lsacpi.c (options): Fix typo.
12705
6a656b0e
VS
127062012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 Convert grub-emu to argp.
12709
12710 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
12711 emu.
12712 * util/argp_common.c: Rename to ...
12713 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
12714 Add missing includes.
12715 * grub-core/kern/emu/main.c: Convert to argp.
12716 * po/POTFILES.in: Regenerate.
12717 * util/grub-install.in (usage): Make first letter lowcase in messages
12718 for uniformity.
12719 * util/grub-setup.c (options): Likewise.
12720
1e3f8ae8
VS
127212012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
12724 Put back accidently commented-out code.
12725
ed167a80
VS
127262012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12727
12728 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
12729 loop check using Brent algorithm.
12730 (grub_hfsplus_btree_search): Likewise.
12731
6753c0ec
VS
127322012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 * util/grub-install.in: Fix usage of wrong device for PreP install.
12735
4e27343f
VS
127362012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 * conf/Makefile.common (CFLAGS_GNULIB): Add
12739 -Wno-unsafe-loop-optimizations.
12740 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
12741 on tools.
12742 * grub-core/commands/legacycfg.c: Add pragma to skip
12743 -Wunsafe-loop-optimizations.
12744 (check_password_md5_real): Fix loop counter type.
12745 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
12746 reading.
12747 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
12748 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
12749 loop condition.
12750 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
12751 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
12752 * grub-core/net/net.c (grub_net_route_address): Add safety loop
12753 condition.
12754 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
12755 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
12756 avoid possible infinite loops.
12757 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
12758 and -Wunsafe-loop-optimizations.
12759 * grub-core/script/yylex.l: Likewise.
12760 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
12761 (print_glyphs): Avoid infinite loops.
12762 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
12763
697f18b0
GS
127642012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
12765
12766 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
12767 to avoid infinite loop.
12768 (disp_acpi_rsdt_table): Likewise.
12769
274416e8
VS
127702012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12771
12772 * grub-core/font/font.c (grub_font_load): Add support for default
12773 path for fonts ($prefix/fonts).
12774 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
12775 for checking if string is a path.
12776 * grub-core/normal/main.c (features): Add feature_default_font_path.
12777 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
12778 * util/grub.d/00_header.in: Use default directory if possible.
12779 * util/grub-install.in: Install unicode.pf2.
12780
b3e08622
VS
127812012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12782
12783 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
12784 * po/Rules-swiss: New file.
12785 * po/swiss.sed: Likewise.
12786
fe42ce09
VS
127872012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 * grub-core/fs/btrfs.c (find_device): Fix typos.
12790 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
12791 * util/grub-mkrelpath.c (argp_parser): Likewise.
12792 Reported by: Yuri Chornoivan.
12793
72f1d065
DO
127942012-02-23 Dalet Omega <daletomega@gmail.com>
12795
12796 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
12797 for usual informative messages.
12798
c5884973
DO
127992012-02-23 Dalet Omega <daletomega@gmail.com>
12800
12801 Starfield theme.
12802
12803 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
12804 * conf/Makefile.common: Define starfielddir.
12805 * configure.ac: Configure starfield.
12806 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
12807 * themes/starfield/README: Likewise.
12808 * themes/starfield/blob_w.png: Likewise.
12809 * themes/starfield/boot_menu_c.png: Likewise.
12810 * themes/starfield/boot_menu_e.png: Likewise.
12811 * themes/starfield/boot_menu_n.png: Likewise.
12812 * themes/starfield/boot_menu_ne.png: Likewise.
12813 * themes/starfield/boot_menu_nw.png: Likewise.
12814 * themes/starfield/boot_menu_s.png: Likewise.
12815 * themes/starfield/boot_menu_se.png: Likewise.
12816 * themes/starfield/boot_menu_sw.png: Likewise.
12817 * themes/starfield/boot_menu_w.png: Likewise.
12818 * themes/starfield/slider_c.png: Likewise.
12819 * themes/starfield/slider_n.png: Likewise.
12820 * themes/starfield/slider_s.png: Likewise.
12821 * themes/starfield/src/blob_nw.xcf: Likewise.
12822 * themes/starfield/src/bootmenu/: Likewise.
12823 * themes/starfield/src/bootmenu/center.xcf: Likewise.
12824 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
12825 * themes/starfield/src/bootmenu/side.xcf: Likewise.
12826 * themes/starfield/src/slider_c.xcf: Likewise.
12827 * themes/starfield/src/slider_n.xcf: Likewise.
12828 * themes/starfield/src/slider_s.xcf: Likewise.
12829 * themes/starfield/src/terminalbox/: Likewise.
12830 * themes/starfield/src/terminalbox/center.xcf: Likewise.
12831 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
12832 * themes/starfield/src/terminalbox/side.xcf: Likewise.
12833 * themes/starfield/starfield.png: Likewise.
12834 * themes/starfield/terminal_box_c.png: Likewise.
12835 * themes/starfield/terminal_box_e.png: Likewise.
12836 * themes/starfield/terminal_box_n.png: Likewise.
12837 * themes/starfield/terminal_box_ne.png: Likewise.
12838 * themes/starfield/terminal_box_nw.png: Likewise.
12839 * themes/starfield/terminal_box_s.png: Likewise.
12840 * themes/starfield/terminal_box_se.png: Likewise.
12841 * themes/starfield/terminal_box_sw.png: Likewise.
12842 * themes/starfield/terminal_box_w.png: Likewise.
12843 * themes/starfield/theme.txt: Likewise.
12844
17d73325
VS
128452012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12846
12847 * util/grub.d/00_header.in: Add missing export theme.
12848
dbebaf92
VS
128492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12850
12851 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
12852 already included.
12853 Reported by: Eren D.
12854
3d68bffb
VS
128552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12856
12857 * conf/Makefile.common (grubdatadir): Removed.
12858 (Makefile.am): Move eveything grubdata to pkgdata.
12859
4b59234d
VS
128602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 * grub-core/commands/acpihalt.c (get_sleep_type):
12863 Remove unused variable.
12864
463dcadc
VS
128652012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
12868 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
12869 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
12870 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
12871 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
12872 i18n with gettext no-op.
12873 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
12874 GRUB_ACPI_OPCODE_STRING_CONST.
12875 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
12876 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
12877
e5b90c82
VS
128782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 * po/POTFILES.in: Regenerate.
12881
2a704ca9
VS
128822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
12885 -Wno-error=missing-noreturn.
12886
84f9d341
VS
128872012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
12890 condition to avoid possibly infinite loops.
12891 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
12892 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
12893
d46683f9
VS
128942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12895
12896 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
12897 condition to avoid possibly infinite loops.
12898
c44866b2
VS
128992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12900
12901 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
12902 on show_error.
12903
96790539
VS
129042012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12905
12906 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
12907
1ba7e295
VS
129082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12909
12910 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
12911
21ffe8f1
VS
129122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 * util/bin2h.c (usage): Add missing attribute noreturn.
12915
0ccb6b3c
VS
129162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
12919 if the size isn't divisible by 512.
12920
b00d7fb6
VS
129212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 Make list_push and list_remove functions rather than inline functions
12924 to decrease size and avoid aliasing violations.
12925
12926 * include/grub/list.h (grub_list_push): Move to ...
12927 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
12928 * include/grub/list.h (grub_list_remove): Move to ...
12929 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
12930
9d369087
VS
129312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
12934 and -Wunused-result.
12935
af0250d9
VS
129362012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12937
12938 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
12939 Reported by: Seth Goldberg
12940
aad32b14
VS
129412012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
12944
ac96441c
ST
129452012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
12946
12947 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
12948 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
12949 command line.
12950 * docs/grub.texi (Simple configuration): Document
12951 GRUB_CMDLINE_GNUMACH.
12952
129532012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
12954
12955 * conf/Makefile.common (platform_SCRIPTS): New variable.
12956 (platform_PROGRAMS): Likewise.
12957 * gentpl.py: Mark *,module and *.image for install.
12958 * grub-core/gdb_grub.in: Add a notice of expected environment.
12959 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
12960 (gmodule.pl): Likewise.
12961
ac96441c 129622012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
12963
12964 Replace grub_checkkey with grub_getkey_noblock.
12965
12966 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
12967 (grub_getkey_noblock): ... this. All users updated.
12968
ac96441c 129692012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
12970
12971 * grub-core/kern/emu/console.c: Move to ...
12972 * grub-core/term/emu/console.c: ...here.
12973 (grub_ncurses_getkey): Fix return value if no key is detected.
12974
e51b5666
VS
129752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12976
12977 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
12978 (grub_unit_test_fini): Likewise.
12979 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
12980
129812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 * include/grub/test.h (GRUB_UNIT_TEST)
12984
d9a62292
VS
129852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 * grub-core/script/execute.c (grub_script_break): Clarify logic.
12988 Better error handling.
12989 (grub_script_return): Likewise.
12990 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12991
77c9182f
VS
129922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12993
12994 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
12995 rimplicit redifinition.
12996
edb13cf9
VS
129972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
13000 GRUB.
13001
a9e9dc7c
VS
130022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
13005 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
13006 prompt here.
13007
b4ba8e02
VS
130082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13009
13010 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
13011 as GRUB_ERR_BUG. Don't malloc if no device is available.
13012
dded5540
VS
130132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
13016 Mark calling with invalid term as GRUB_ERR_BUG.
13017
0cf69874
VS
130182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
13021 packets rather than raising an error.
13022
59bfe502
VS
130232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
13026 in if.
13027
db5fc596
VS
130282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
13031 diagnostic to dprintf.
13032 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13033
e4b7f404
VS
130342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
13037 device name.
13038
e7b02f9e
VS
130392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13040
13041 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
13042 (grub_ntfs_iterate_dir): Likewise.
13043
0331e102
VS
130442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13045
13046 Efiemu stylistic fixes and gettext.
13047
13048 * grub-core/efiemu/i386/loadcore32.c
13049 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
13050 * grub-core/efiemu/i386/loadcore64.c
13051 (grub_arch_efiemu_relocate_symbols64): Likewise.
13052 * grub-core/efiemu/i386/pc/cfgtables.c
13053 (grub_machine_efiemu_init_tables): Likewise.
13054 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
13055 (grub_efiemu_loadcore_initXX): Add a filename argument.
13056 All users updated.
13057 Improved error message.
13058 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
13059 Add a filename argument.
13060 All users updated.
13061 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
13062 Reclassify double relocation as GRUB_ERR_BUG.
13063
306fc074
VS
130642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
13067 handling.
13068
794d8ef2
VS
130692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13070
13071 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
13072 on partition.
13073
130742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
13075
13076 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
13077
794d8ef2 130782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
13079
13080 Improve string. Gettextize.
13081
78dde88e
VS
130822012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13083
13084 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
13085 utils.
13086 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
13087
4786a90f
VS
130882012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13089
13090 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
13091 [GRUB_UTIL]: New function.
13092 (insert_array) [GRUB_UTIL]: Store partmaps.
13093 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
13094 partmaps.
13095 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
13096 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
13097 (probe_abstraction): Print diskfilter and not raid.
13098 Reported by: Lennart Sorensen
13099
0b6225bd
VS
131002012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13101
13102 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
13103 * util/grub-mkimagexx.c (MASK3): New define.
13104 (add_value_to_slot_20b): Use MASK3.
13105 (add_value_to_slot_21): Likewise.
13106 (relocate_addresses): Fix format specification.
13107 (load_image): Explicitly init symtab_section.
13108
b055f8f6
VS
131092012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13110
13111 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
13112 (grub_util_biosdisk_get_grub_dev): Fix format specification.
13113
b77c2fb7
VS
131142012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
13117 on powerpc.
13118 Reported by: Lennart Sorensen
13119
e3ec28ab
VS
131202012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13121
13122 * gentpl.py: Add missing license header.
13123 * docs/grub.texi: Update copyright year.
13124
c8d9ead6
GS
131252012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13126
13127 Source grub-mkconfig_lib from the build directory at build time.
13128 Suggested by: Vladimir Serbinenko.
13129
13130 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
13131 * util/grub-install.in: Define pkgdatadir if not already set, and source
13132 grub-mkconfig_lib from there.
13133 * util/grub-kbdcomp.in: Likewise.
13134 * util/grub-mkconfig.in: Likewise.
13135 * util/grub-mknetdir.in: Likewise.
13136 * util/grub-mkrescue.in: Likewise.
13137 * util/grub-mkstandalone.in: Likewise.
13138 * util/grub-reboot.in: Likewise.
13139 * util/grub-set-default.in: Likewise.
13140 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13141
ebcecdf1
VS
131422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 Increase warning level.
13145
13146 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
13147 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
13148 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
13149 (TARGET_CFLAGS): Likewise.
13150 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
13151 * grub-core/Makefile.core.def (decompressor_xz): Add
13152 -Wno-unreachable-code.
13153 (normal): Add -Wno-redundant-decls.
13154 (xzio): Add -Wno-unreachable-code.
13155 (lzopio): Add -Wno-redundant-decls -Wno-error.
13156 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
13157 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
13158 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
13159 * grub-core/kern/dl.c: Add exception to -Wcast-align.
13160 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
13161 * grub-core/kern/i386/coreboot/init.c: Add exception to
13162 -Wsuggest-attribute=noreturn.
13163 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
13164 * grub-core/kern/ia64/dl_helper.c: Likewise.
13165 * grub-core/kern/mips/dl.c: Likewise.
13166 * grub-core/kern/sparc64/dl.c: Likewise.
13167 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
13168 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
13169 (memcmp): Likewise.
13170 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
13171 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
13172 * grub-core/loader/mips/linux.c: Likewise.
13173 * grub-core/loader/multiboot_elfxx.c: Likewise.
13174 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
13175 * grub-core/video/sm712.c: Add exception to -Wcast-align.
13176 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
13177 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
13178 fixme.
13179 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13180 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
13181 Fix prototype.
13182
37bb97fe
VS
131832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
13186 address.
13187
29a3550b
VS
131882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13191 Avoid improper use of strings.
13192 (grub_cmd_legacy_initrdnounzip): Likewise.
13193
dfdffd0d
VS
131942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13195
13196 * include/grub/emu/misc.h (grub_util_warn): Add missing format
13197 attribute.
13198 (grub_util_info): Likewise.
13199 (grub_util_error): Likewise.
13200
102fae4a
VS
132012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13202
13203 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
13204 * util/grub-fstest.c (fstest): Likewise.
13205
7e94d044
VS
132062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
13209 (grub_md_sha512_real): Likewise.
13210 (grub_util_get_geli_uuid): Likewise.
13211 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
13212 (grub_util_biosdisk_open): Fix format specification.
13213 Respect format security.
13214 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
13215 (xrealloc): Likewise.
13216 (xasprintf): Likewise.
13217
5ebd9769
VS
132182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 * util/import_gcry.py: Include grub/crypto.h in init.c.
13221
495fc8c1
VS
132222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
13225 (generate_image): Make prefix a const char *.
13226 Fix format specifications. Respect format security.
13227 Avoid void * arithmetics.
13228 Avoid shadowing.
13229 (argp_parser): Remove unused variable. Respect format security.
13230 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
13231 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
13232 (count_funcs): Remove unused variable.
13233 (relocate_addresses): Fix format specification.
13234 Disable x86-64 with elf32. Remove unused variables.
13235 (add_fixup_entry): Avoid shadowing.
13236 (make_reloc_section): Fix format specification.
13237 Use assert.
13238 (locate_sections): Fix format specifications.
13239 (load_image): Avoid shadowing.
13240
043c2ea3
VS
132412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13242
13243 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
13244 Fix format specifications. Respect format security.
13245 Don't translate already translated grub_errmsg.
13246 (argp_parser): Remove unused variable
13247
3ec65a81
VS
132482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
13251
a4d9fe4a
VS
132522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
13255 (main): Likewise. Use xmalloc. Respect format security.
13256
15b81d49
VS
132572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
13260 a const char *.
13261 (argp_parser): Remove unused variable.
13262
31731fc0
VS
132632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
13266 (add_pixel): Make static.
13267 (add_font): Likewise.
13268 (write_string_section): Make name and str a const char *.
13269 (write_be16_section): Make name a const char *.
13270 (print_glyphs): Make static.
13271 (write_font_ascii_bitmap): Likewise.
13272 (write_font_width_spec): Likewise.
13273 (write_font_pf2): Likewise.
13274 (argp_parser): Remove unused variable.
13275 Respect format security.
13276 (main): Avoid shadowing. Respect format security.
13277
0809527b
VS
132782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * util/grub-editenv.c (argp_parser): Make static.
13281 (create_envblk_file): Use xmalloc.
13282 (open_envblk_file): Likewise.
13283 Resepect format security.
13284 (set_variables): Respect format security.
13285
45b0c8b7
VS
132862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13287
13288 * util/getroot.c (grub_find_device): Respect format security.
13289 (get_mdadm_uuid): Remove unused variable.
13290 (grub_util_pull_device): Dont call gettext on already translated
13291 grub_errmsg.
13292 (find_system_device): Remove unused variable.
13293 (grub_util_get_grub_dev): Likewise.
13294 (grub_make_system_path_relative_to_its_root): Respect format security.
13295
1b024b4e
VS
132962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 * util/grub-fstest.c (execute_command): Make first argument
13299 a const char *.
13300 (read_file): Avoid shadowing.
13301 Reuse underlying error message if device open fails.
13302 (cmd_cmp): Respect format security.
13303 (root): Make const char *.
13304 (fstest): Remove args argument and use global copy.
13305 Respect format security.
13306 (argp_parser): Make static.
13307 (main): Make default_root const char *.
13308
5d1d4e28
VS
133092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13310
13311 * util/grub-mount.c (root): Make const char *.
13312 (execute_command): Make first argument a const char *.
13313 (fuse_init): Respect format security.
13314 (argp_parser): Make static. Remove unused variable.
13315 (main): Make default_root a const char *.
13316 Respect format security.
13317
36eb7379
VS
133182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * util/grub-probe.c (probe): Don't call gettext on already translated
13321 grub_errmsg.
13322 Remove unused variables.
13323 (argp_parser): Remove unused variable.
13324
76fb2ea9
VS
133252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 * util/grub-script-check.c (argp_parser): Remove unused variable.
13328 (main): Rename read to curread to avoid shadowing.
13329
56c98584
VS
133302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13331
13332 * util/misc.c (grub_util_write_image_at): Fix format specification.
13333 (grub_util_write_image): Likewise.
13334 (grub_script_execute_argument_to_string): Removed (unused).
13335 (grub_script_execute_menuentry): Likewise.
13336 (grub_putchar): Likewise.
13337
164ebb48
VS
133382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
13341 (FUNCTION) [GRUB_UTIL]: Likewise.
13342 (VARIABLE) [GRUB_UTIL]: Likewise.
13343
44318d61
VS
133442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
13347 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
13348
31a26002
VS
133492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
13352 buffer.
13353
133542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13355
13356 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
13357 (LzmaEnc_SaveState): Removed (unused).
13358 (LzmaEnc_RestoreState): Likewise.
13359 (LzmaEnc_InitPriceTables): Made static.
13360 (LzmaEnc_Construct): Likewise.
13361 (LzmaEnc_FreeLits): Likewise.
13362 (LzmaEnc_Destruct): Likewise.
13363 (LzmaEnc_Init): Likewise.
13364 (LzmaEnc_InitPrices): Likewise.
13365 (LzmaEnc_Finish): Likewise.
13366 (LzmaEnc_PrepareForLzma2): Removed (unused).
13367 (LzmaEnc_MemPrepare): Likewise.
13368 (LzmaEnc_GetNumAvailableBytes): Likewise.
13369 (LzmaEnc_GetCurBuf): Likewise.
13370 (LzmaEnc_CodeOneMemBlock): Likewise.
13371
6fa67967
VS
133722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
13375 (grub_util_ldm_embed): Likewise.
13376
9a7428e6
VS
133772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 * util/grub-editenv.c (print_var): Rename name to varname to
13380 avoid shadowing.
13381 (main): Rename index to curindex to avoid shadowing.
31a26002 13382 Make filename a const char *.
9a7428e6 13383
4f96abd1
VS
133842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
13387 to arg_getline to avoid shadowing.
13388
44d10dad
VS
133892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
13392 disk_ to avoid shadowing.
13393
340ba63e
VS
133942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13395
13396 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
13397 curindex to avoid shadowing.
13398 Make static.
13399 (MatchFinder_GetNumAvailableBytes): Make static.
13400
22965bce
VS
134012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
13404 avoid shadowing.
13405
7b5784d4
VS
134062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13407
13408 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
13409 argument from encrypt to do_encrypt to avoid shadowing.
13410
6f48ca01
VS
134112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13412
13413 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
13414 incorrect nesting of #if's.
13415
a4ea2dff
VS
134162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13417
13418 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
13419 checks which are always false on some platforms.
13420 (grub_cmd_lsacpi): Likewise.
13421 * grub-core/kern/misc.c (grub_strtoul): Likewise.
13422 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
13423 Likewise.
13424
def9fc1b
VS
134252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
13428 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
13429
a67b2a04
VS
134302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13431
13432 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
13433 re_dfa_t to avoid breaking alignment invariants.
13434 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
13435 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
13436
44c6828d
VS
134372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13438
13439 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
13440 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
13441
bebe0dd0
VS
134422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13443
13444 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
13445 Fix declaration.
13446
a9cdb3cf
VS
134472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13448
13449 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
13450 conserve alignment invariants.
13451 (grub_ehci_ehcc_read16): Likewise.
13452 (grub_ehci_oper_read32): Likewise.
13453 (grub_ehci_oper_write32): Likewise.
13454 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13455 Conserve alignment invariants.
13456
ccc3b1b8
VS
134572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
13460 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
13461 declarations.
13462
987fbd95
VS
134632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
13466 Remove unused variable.
13467
0df363f3
VS
134682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
13471 Remove set in if.
13472
b2c0c4a6
VS
134732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 * include/grub/net.h: Remove double declarations.
13476
690c531f
VS
134772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 Remove "payload" command in ia64 Linux loader since I couldn't
13480 find any evidence of it being used for anything.
13481 Replace "relocate" command with an environment variable
13482
13483 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
13484 fields.
13485 (ia64_boot_payload): Removed.
13486 (last_payload): Likewise.
13487 (RELOCATE_OFF): Likewise.
13488 (RELOCATE_ON): Likewise.
13489 (RELOCATE_FORCE): Likewise.
13490 (relocate): Likewise.
13491 (free_pages): Don't free payloads.
13492 (grub_load_elf64): Use common error messages.
13493 Use "linux_relocate" variable.
13494 Increase the space after boot_params.
13495 (grub_cmd_payload): Removed.
13496 (grub_cmd_relocate): Likewise.
13497 (grub_cmd_fpswa): Improve messages.
13498 (cmd_payload): Removed.
13499 (cmd_relocate): Likewise.
13500 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
13501 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
13502
01783768
VS
135032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13504
13505 Convert UHCI to DMA framework.
13506
13507 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
13508 (grub_uhci_pci_iter): Fill new members
13509 (grub_alloc_td): Use P2V and V2P functions.
13510 (grub_free_queue): Likewise.
13511 (grub_alloc_qh): Likewise.
13512 (grub_uhci_setup_transfer): Likewise.
13513 (grub_uhci_check_transfer): Likewise.
13514
43206939
VS
135152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
13518 Remove assignment in if while on it.
13519
571e140e
VS
135202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13521
13522 * util/grub-mkstandalone.in: Fix modules directory.
13523
a9d96eeb
VS
135242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
13527 on i386-pc target.
13528 (argp_parser): Accept "auto" as compression specification.
13529
e4e37e8d
VS
135302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 Fix `help' with unloaded modules.
13533
13534 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
13535 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
13536 (grub_dyncmd_dispatcher): Small stylistic fix.
13537 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
13538 explicit help is requested.
13539
e1ea3ade
VS
135402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13541
13542 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
13543 Explicitly init restart while on it.
13544
27556881
VS
135452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13546
13547 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
13548 uninited variable.
13549
d65f6b36
VS
135502012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13551
13552 * util/grub-mknetdir.in: Use . rather than source for POSIX
13553 compatibility.
13554
0a1e473c
VS
135552012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
13558
ce6647c8
VS
135592012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13560
13561 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
13562 variable.
13563
66747894
VS
135642012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
13567 without quotes.
13568
71645f6e
VS
135692012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
13572
0e1c1f61
VS
135732012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
13576 iteration of partitions.
13577
9c4b5c13
VS
135782012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 Improve gettext support. Stylistic fixes and error handling fixes while
13581 on it.
13582
215c90cb
VS
135832012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
13586 part. Instead setup the correct stack in RM.
13587 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
13588 for stack.
13589 * include/grub/i386/relocator_private.h: New file.
13590
b5c1f9bf
VS
135912012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
13594 argument.
13595 * util/grub-fstest.c (options): Add missing DEVICE part.
13596
b525fd83
VS
135972012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 Clarify and unify messages.
13600
13601 * grub-core/commands/hashsum.c (options): Unify messages.
13602 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13603 literal-only message as translatable.
13604 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
13605 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
13606 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
13607 commands.
13608 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
13609 key, not the key used to unlock. Clarify what it's used for.
13610 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
13611 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
13612 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
13613 * util/grub-editenv.c (options): Unify "verbose" message.
13614 * util/grub-fstest.c (read_file): Unify error message.
13615 (fstest): Add quotes around commands.
13616 (options): Unify "verbose" message.
13617 * util/grub-install.in: Add quotes around variable name.
13618 * util/grub-kbdcomp.in: Unify error message.
13619 * util/grub-mkfont.c (main): Likewise.
13620 * util/grub-mkrescue.in: Likewise.
13621 * util/grub-mklayout.c (options): Unify "verbose" message.
13622 * util/grub-mkstandalone.in: Unify help and verbose messages.
13623 * util/grub-mount.c (options): Unify "verbose" message.
13624 * util/grub-probe.c (options): Likewise.
13625 * util/grub-script-check.c (options): Likewise.
13626 * util/grub-setup.c (setup): Unify no-terminator message.
13627 (options): Use DEVICE and not DEV.
13628 Unify "verbose" message.
13629 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
13630
0ae70393
VS
136312012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 Improve and unify messages.
13634
13635 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
13636 name. All users updated.
13637 Print filename in error.
13638 (read_device_map): Print filename in error.
13639 * util/getroot.c (grub_guess_root_devices): Print filename in error.
13640 (grub_util_get_os_disk): Likewise.
13641 (grub_util_biosdisk_get_grub_dev): Likewise.
13642 (grub_util_check_block_device): Likewise.
13643 (grub_util_check_char_device): Likewise.
13644 (grub_make_system_path_relative_to_its_root): Likewise.
13645 * util/grub-editenv.c (create_envblk_file): Likewise.
13646 (open_envblk_file): Likewise.
13647 (write_envblk): Likewise.
13648 * util/grub-fstest.c (cmd_cp): Likewise.
13649 (cmd_cat): Likewise.
13650 (cmd_cmp): Likewise.
13651 * util/grub-menulst2cfg.c (main): Likewise.
13652 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
13653 (write_font_width_spec): Likewise.
13654 (write_font_pf2): Likewise.
13655 * util/grub-mkimage.c (generate_image): New argument outname.
13656 All users updated.
13657 Remove unreacheable message.
13658 (options): Unify messages.
13659 (help_filter): Likewise.
13660 * util/grub-mklayout.c (usage): Removed (unused).
13661 (main): Print filename in error.
13662 * util/grub-mkrescue.in: Fix wrong quoting.
13663 * util/grub-setup.c (setup): Print filename in error.
13664 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
13665 (check_sas): Likewise.
13666 * util/misc.c (grub_util_get_fp_size): Removed.
13667 (grub_util_get_image_size): Print filename in error.
13668 (grub_util_read_at): Removed.
13669 (grub_util_read_image): Print filename in error.
13670 (grub_util_load_image): Likewise.
13671 (grub_util_write_image_at): New argument filename. All users updated.
13672 Print filename in error.
13673 (grub_util_write_image): New argument filename. All users updated.
13674 Print filename in error.
13675 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
13676 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
13677
0a96117d
VS
136782012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 * grub-core/Makefile.core.def (pxechain): New module.
13681 * grub-core/loader/i386/pc/pxechainloader.c: New file.
13682 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
13683 function.
13684 (grub_pc_net_config_real): Use grub_pxe_get_cached.
13685 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
13686
aca002f7
VS
136872012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
13690 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
13691 * include/grub/err.h (grub_error_saved): New struct.
13692 (grub_errmsg): Make array size explicit.
13693 * include/grub/misc.h (grub_error_save): New function.
13694 (grub_error_load): Likewise.
13695 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
13696 (grub_error_push): Update `errno' member name.
13697 (grub_error_pop): Likewise
13698 * grub-core/net/tftp.c (tftp_data): New member save_err.
13699 (tftp_receive): Save error.
13700 (tftp_open): Restore error.
13701
a51dab13
VS
137022012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13703
13704 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
13705 to real mode down to execute A20-related code in protected mode as
13706 intended.
13707
eb6e6649
GS
137082012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
13709
13710 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
13711 NULL when the argument `level' has an unexpected value.
13712
92cd0f6e
VS
137132012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 Move platform-dependent files from $prefix to $prefix/$platform.
13716
13717 * config.h.in (GRUB_TARGET_CPU): New definition.
13718 (GRUB_PLATFORM): Likewise.
13719 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
13720 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
13721 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13722 * grub-core/kern/dl.c (grub_dl_load): Likewise.
13723 * grub-core/normal/autofs.c (read_fs_list): Likewise.
13724 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
13725 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
13726 * grub-core/normal/term.c (read_terminal_list): Likewise.
13727 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
13728 $prefix/locale.
13729 (grub_gettext_init_ext): Likewise.
13730 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
13731 grub_platform.
13732 * util/grub-install.in: Update directories.
13733 * util/grub-mknetdir.in: Likewise.
13734 * util/grub-mkrescue.in: Likewise.
13735
db606889
VS
137362012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
13739 grub_error framework. All users updated.
13740
c39992a4
VS
137412012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
13744 lists (by always binsearching), improve caching (cache strings
13745 used for binsearch, not only results), improve
13746 maintainability (by using more structured binary search) and correct
13747 error handling.
13748
1e5ec32f
VS
137492012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * grub-core/script/execute.c (grub_script_return): Fix warning.
13752
ac576cde
VS
137532012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 * grub-core/script/execute.c (grub_script_return): Fix potential
13756 NULL-dereference.
13757 Reported by: Jim Meyering.
13758
498453f6
VS
137592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13760
13761 * po/POTFILES.in: Regenerate.
13762 * util/grub-install.in: Gettextize the strings missed in first pass.
13763
8be63f2e
VS
137642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13765
13766 * Makefile.util.def (grub-mkdevicemap): Removed.
13767 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
13768 * include/grub/util/deviceiter.h: Removed.
13769 * util/deviceiter.c: Likewise.
13770 * util/getroot.c (grub_util_get_os_disk): New function.
13771 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
13772 replacement for EFI.
13773 * util/grub-mkdevicemap.c: Removed.
13774 * util/grub-probe.c (probe): Handle PRINT_DISK.
13775 (argp_parser): Handle -t disk.
13776
8e1e4e39
VS
137772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13778
13779 * util/grub-mkfont.c: Migrate to argp.
13780 * util/grub-mklayout.c: Likewise.
13781 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13782 * util/grub-mkrelpath.c: Likewise.
13783 * util/grub-probe.c: Likewise.
13784 * util/grub-script-check.c: Likewise.
13785
4459819a
VS
137862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 * util/grub-reboot.in: Add missing datarootdir.
13789 Add missing newline.
13790 * util/grub-set-default.in: Add missing datarootdir.
13791 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
13792 * util/grub-mkrescue.in: Likewise.
13793
f65741c7
VS
137942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
13797
c1a33466
VS
137982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13799
13800 * util/grub-kbdcomp.in: Add decent help and gettextize.
13801 * docs/man/grub-kbdcomp.h2m: New file.
13802
c76899a0
VS
138032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 Migrate grub-mkimage.c to argp.
13806
13807 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
13808 (grub-setup): Likewise.
13809 * util/grub-setup.c (print_version): Move to ...
13810 * util/argp_common.c (print_version): ... here.
13811 * util/grub-setup.c (argp_program_version_hook): Move to ...
13812 * util/argp_common.c (argp_program_version_hook): ... here.
13813 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
13814 safety.
13815 * util/grub-mkimage.c (main): Migrate to argp.
13816
57db0757
VS
138172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * util/grub-mkrescue.in: Use same message as
13820 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
13821 for better translations.
13822
18534ad9
VS
138232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13824
13825 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
13826 options with generic grub-mkrescue.in with the goal of future
13827 merge.
13828
c84ba308
VS
138292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13830
13831 * grub-core/kern/mm.c: Add missing include of i18n.h
13832 * grub-core/lib/relocator.c: Likewise.
13833
347998c2
VS
138342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
13837 error.
13838 (allocate_pages): Check return value.
13839 Replace fatal with error.
13840 (grub_linux_boot): Replace printf with dprintf.
13841 Check find_mmap_size return value.
13842 Replace fatal with error.
13843 Don't call grub_machine_fini.
13844 (grub_load_elf64): Replace printf with dprintf.
13845 (grub_cmd_linux): Likewise.
13846 (grub_cmd_initrd): Likewise.
13847 (grub_cmd_payload): Likewise.
13848
c779226e
VS
138492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13850
13851 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
13852 message.
13853 * grub-core/video/radeon_fuloong2e.c
13854 (grub_video_radeon_fuloong2e_setup): Likewise.
13855 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
13856 * grub-core/video/video.c (grub_video_set_mode): Don't override
13857 standard out of memory message.
13858
dc87d45a
GS
138592012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13860
13861 NetBSD disk wedge support.
13862
13863 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
13864 [__NetBSD__]: Handle NetBSD disk wedges.
13865 * util/getroot.c (convert_system_partition_to_system_disk)
13866 [__NetBSD__]: Likewise.
13867
055f856f
MW
138682012-02-03 Mark Wooding <mdw@distorted.org.uk>
13869
13870 * util/grub-mkconfig.in: Use umask rather than chmod to create
13871 grub.cfg.new to avoid insecure grub.cfg.
13872
4a9f8346
VS
138732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 * grub-core/commands/ls.c: Gettextize.
13876 * grub-core/commands/setpci.c: Likewise.
13877 * grub-core/commands/videotest.c: Likewise.
13878 * grub-core/disk/geli.c: Likewise.
13879 * grub-core/kern/mm.c: Likewise.
13880 * grub-core/lib/relocator.c: Likewise.
13881 * grub-core/loader/efi/appleloader.c: Likewise.
13882 * grub-core/loader/i386/xnu.c: Likewise.
13883 * grub-core/loader/ia64/efi/linux.c: Likewise.
13884 * grub-core/loader/xnu.c: Likewise.
13885 * grub-core/net/dns.c: Likewise.
13886 * grub-core/net/net.c: Likewise.
13887 * grub-core/script/lexer.c: Likewise.
13888 * grub-core/script/parser.y: Likewise.
13889 * grub-core/script/yylex.l: Likewise.
13890 * util/getroot.c: Likewise.
13891 * util/grub-setup.c: Likewise.
13892
a646a366
VS
138932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13894
13895 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
13896 number.
13897
54e2be26
VS
138982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
13901
f7c71e68
VS
139022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13903
13904 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
13905 macro.
13906 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
13907 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
13908
a32d5c71
VS
139092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
13912 * util/grub-install.in: Gettextize.
13913 * util/grub-mkconfig.in: Likewise.
13914 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
13915 if not available.
13916 (grub_warn): Gettextize.
13917 * util/grub-mknetdir.in: Gettextize.
13918 * util/grub-mkrescue.in: Likewise.
13919 * util/grub-mkstandalone.in: Likewise.
13920 * util/grub-reboot.in: Likewise.
13921 * util/grub-set-default.in: Likewise.
13922 * util/grub.d/00_header.in: Likewise.
13923 * util/grub.d/10_hurd.in: Likewise.
13924 * util/grub.d/10_kfreebsd.in: Likewise.
13925 * util/grub.d/10_linux.in: Likewise.
13926 * util/grub.d/10_netbsd.in: Likewise.
13927 * util/grub.d/10_windows.in: Likewise.
13928 * util/grub.d/20_linux_xen.in: Likewise.
13929 * util/grub.d/30_os-prober.in: Likewise.
13930 * po/POTFILES-shell.in: Regenerate.
13931
69edd81a
RL
139322012-02-03 Richard Laager <rlaager@wiktel.com>
13933
13934 * util/grub-mkimage.c (main): Fix format-security warning.
13935 * util/grub-mkrelpath.c (main): Likewise.
13936 * util/grub-probe.c (main): Likewise.
13937
65f08dbf
RL
139382012-02-03 Richard Laager <rlaager@wiktel.com>
13939
13940 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
13941 failure.
13942 Put back lost PRINT_DRIVE.
13943
e9084abe
RL
139442012-02-03 Richard Laager <rlaager@wiktel.com>
13945
13946 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
13947 (grub_guess_root_devices): Replace strlen with sizeof.
13948 Avoid crash.
13949 (find_root_devices_from_poolname): Remove unused variable.
13950 Handle raidzN.
13951
cf5f7ee7
VS
139522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 Support install on multi-device filesystems.
13955
13956 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
13957 (grub_guess_root_devices): ...this. Return char **. All users updated.
13958 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
13959 Removed.
13960 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
13961 (find_root_devices_from_poolname): ... here.
13962 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
13963 Support zfs-fuse.
13964 (grub_guess_root_device): Rename to ...
13965 (grub_guess_root_devices): ... this. Return char **. All users updated.
13966 * util/grub-install.in: Handle multi-device filesystems.
13967 * util/grub-probe.c (probe). Make device_names a char **. Add delim
13968 argument. All users updated.
13969 Handle multi-device filesystems.
13970 Use 'delim' as separator.
13971 Remove device check to allow filesystems on file.
13972 (main): Support -0 argument. Handle multi-device.
13973 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
13974 Fix a cross-device check while on it.
13975 (arguments): Remove root_dev.
13976 (argp_parser): Remove -r.
13977 (main): Remove root_dev.
13978
2f53a9ed
VS
139792012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
13982
17e1d934
VS
139832012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13984
13985 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
13986 symbol.
13987 Reported by: NODA, Kai <nodakai>.
13988
d3e3fab5
VS
139892012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 Fix ehci on amd64.
13992
13993 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
13994 pointers.
13995 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
13996 (grub_ehci_setup_qh): Likewise.
13997 (grub_ehci_find_qh): Likewise.
13998 (grub_ehci_transaction): Likewise.
13999 (grub_ehci_setup_transfer): Likewise.
14000 (grub_ehci_check_transfer): Likewise.
14001 (grub_ehci_portstatus): Likewise.
14002 (grub_ehci_detect_dev): Likewise.
14003 (grub_ehci_transfer_controller_data): New field td_last_phys.
14004 (grub_ehci_setup_transfer): Fill td_last_phys.
14005 (grub_ehci_check_transfer): Use td_last_phys.
14006
3008675b
SG
140072012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
14008
14009 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
14010 if no submenu is present.
14011
fc9b5652
AN
140122012-02-01 Aleš Nesrsta <starous@volny.cz>
14013
14014 CBI support.
14015
14016 * include/grub/usb.h (grub_usbms_protocol_t): New values
14017 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
14018 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
14019 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
14020 (grub_usbms_dev): Add subclass, protocol and intrpt.
14021 Remove in_maxsz and out_maxsz.
14022 (grub_usbms_reset): Rename to ...
14023 (grub_usbms_bo_reset): .. this.
14024 (grub_usbms_cbi_cmd): New function.
14025 (grub_usbms_cbi_reset): Likewise.
14026 (grub_usbms_reset): Likewise.
14027 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
14028 (grub_usbms_transfer): Rename to ...
14029 (grub_usbms_transfer_bo): ... this.
14030 (grub_usbms_transfer_cbi): Likewise.
14031 (grub_usbms_transfer): Likewise.
14032
a2b81d53
AN
140332012-02-01 Aleš Nesrsta <starous@volny.cz>
140342012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14035
14036 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
14037 the support for the CS5536 modification thereos and few bugfixes.
14038
14039 * grub-core/Makefile.core.def (ehci): New module.
14040 * grub-core/bus/usb/ehci.c: New file.
14041 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
14042 port and hubaddr. All users updated.
14043 Save port and hubaddr into dev structure.
14044 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
14045 define.
14046 * include/grub/pci.h (grub_dma_phys2virt): New function.
14047 (grub_dma_virt2phys): Likewise.
14048 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
14049
b1d51f02
VS
140502012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14051
14052 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
14053 check as some mkfs implementations omit it.
14054
fc694106
VS
140552012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14056
14057 * docs/grub.texi (Unicode): Mention identifier and space limitations.
14058
6c0920e3
VS
140592012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14060
14061 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
14062 Add new member volname2.
14063 (grub_jfs_label): Use volname2 if available.
14064
d1a46f9a
VS
140652012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
14068 over last_mounted as seen in image generated by mkfs.nilfs2.
14069 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
14070
dec8ed14
VS
140712012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
14074 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
14075 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
14076
7397c69b
VS
140772012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
14080 over the sector.
14081
b3fe42ad
VS
140822012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14083
14084 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
14085 subvolume name (by removing a bogus and useless check).
14086
10476bb0
VS
140872012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
14090 sizeof while on it.
14091
9c08ad87
VS
140922012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14093
14094 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
14095 (grub_scsi_read_capacity10): ... this.
14096 (grub_scsi_read_capacity16): New function.
14097 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
14098 0xffffffff.
14099 Fix off-by-one error.
14100 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
14101 64-bit unsigned.
14102 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
14103 (grub_scsi_read_capacity10): ... this.
14104 (grub_scsi_read_capacity_data): Rename to ...
14105 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
14106 (grub_scsi_read_capacity16): New struct.
14107 (grub_scsi_read_capacity16_data): Likewise.
14108 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
14109 grub_scsi_cmd_read_capacity10.
14110 New command grub_scsi_cmd_read_capacity16.
14111
bc8d0f45
VS
141122012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14113
14114 SCSI >2TiB support.
14115
14116 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
14117 (grub_scsi_write16): Likewise.
14118 (grub_scsi_read): Use read16 when necessary.
14119 (grub_scsi_write): Likewise.
14120 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
14121 (grub_scsi_write16): Likewise.
14122 (grub_scsi_cmd_t): Add READ16 and WRITE16.
14123
cc774926
VS
141242012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14125
14126 SCSI write support (for usbms mainly).
14127
14128 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
14129 a const pointer.
14130 (grub_scsi_write): Implement.
14131 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
14132
67639fd7
VS
141332012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14134
14135 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
14136 variable.
14137
9079d3ed
VS
141382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 * grub-core/lib/posix_wrap/string.h (memchr): New function.
14141
c6a6f204
VS
141422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14143
14144 * po/POTFILES.in: Regenerate.
14145
ecbf8cd1
VS
141462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
14149 with grub_printf to avoid unnecessary fatal failure.
14150
0b3b3b38
VS
141512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14152
14153 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
14154 (INT_MAX): Likewise.
14155 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
14156 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
14157 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
14158 (strcpy): Likewise.
14159 (strstr): Likewise.
14160 (strchr): Likewise.
14161 (strncpy): Likewise.
14162 (strcat): Likewise.
14163 (strncat): Likewise.
14164 (strcoll): Likewise.
14165 * include/grub/types.h (GRUB_SHRT_MAX): New define.
14166 (GRUB_INT_MAX): Likewise.
14167
db7337a3
VS
141682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
14171 unexpected error.
14172 (optimize_utf8): Likewise.
14173 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
14174
f37c87e1
VS
141752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 * grub-core/boot/i386/pc/lnxboot.S: Use
14178 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
14179 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
14180 location.
14181 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
14182 definition.
14183 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
14184
63fe43f3
VS
141852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
14188 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
14189 now to avoid double free.
14190 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
14191 hostdisk.
14192 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
14193 * util/grub-probe.c (escape_of_path): Always return a new copy.
14194 (print_full_name): Escape path.
14195 (probe): Don't call grub_util_devname_to_ofpath on NULL.
14196 Fix hints on abstractions.
14197
ebe2c961
VS
141982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14199
14200 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
14201 Don't add "root" line if no compatibility hont is available.
14202 Suggested by: Seth Goldberg.
14203
2b5336a2
VS
142042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
14207 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
14208 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
14209 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
14210
74310bd8
VS
142112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14212
14213 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
14214
c30582ba
VS
142152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 * util/grub-pe2elf.c (ehdr): Make static.
14218 (shdr): Likewise.
14219 (num_sections): Likewise.
14220 (offset): Likewise.
14221
5f47782c
VS
142222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 Eliminate ofpath limits and possible overflows.
14225
14226 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
14227 (OF_PATH_MAX): Removed.
14228 (MAX_DISK_CAT): New const.
14229 (find_obppath): Use allocated rather than preallocated buffer.
14230 Return result. Argument of_path removed. All users updated.
14231 Add missing fdstat.
14232 (xrealpath): New function.
14233 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
14234 Allocate rather than use preallocated buffer. All users updated.
14235 (__of_path_common): Use allocated rather than preallocatecd buffer.
14236 Return result. Argument of_path removed. All users updated.
14237 (vendor_is_ATA): Read only needed part form the file.
14238 (check_sas): Allocate depending on contents rather than fixed.
14239 (main) [STANDALONE]: Handle NULL result.
14240
f990cbf9
VS
142412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14242
14243 * grub-core/normal/completion.c (iterate_dev): Close the disk.
14244
9c6e84b8
VS
142452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 Cryptodisk write support.
14248
14249 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
14250 (grub_cryptodisk_decrypt): Moved logic to ...
14251 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
14252 (grub_cryptodisk_write): Implement.
14253 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
14254 (grub_util_fd_write): ... this. Make global.
14255 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
14256
87cf9744
VS
142572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14258
14259 * include/grub/list.h (grub_list_remove): Don't crash if element is
14260 removed twice.
14261
ca8c0baf
VS
142622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 Rename ofconsole to console.
14265
14266 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
14267 as sysnonym to console.
14268 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
14269 * grub-core/term/ieee1275/console.c: ... this. All users updated.
14270 Rename grub_ofconsole_ to grub_console_. All users updated
14271 (grub_console_term_output): Rename "ofconsole" to "console".
14272 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
14273 as "console".
14274
64c8b8f6
VS
142752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14276
14277 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
14278 handling.
14279 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
14280 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
14281 GRUB_DISK_DEVICE_FILE_ID.
14282
f6c434d5
VS
142832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
14286 and improve performance.
14287
5858b42d
VS
142882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14289
14290 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
14291 missing ieee1275/ prefix on whole disk.
14292
4ed3c26b
VS
142932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14294
14295 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
14296 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14297
df71143e
VS
142982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14299
14300 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
14301
076e7c0f
VS
143022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14303
14304 Merge common RAID and LVM logic to an abstract diskfilter.
14305 Add LDM support using the same framework.
14306
14307 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
14308 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
14309 (libgrubmods): Remove grub-core/disk/raid.c and
14310 grub-core/partmap/gpt.c.
14311 * grub-core/Makefile.core.def (ldm): New module.
14312 (raid): Renamed to diskfilter. All users updated.
14313 * grub-core/disk/raid.c: Moved to ...
14314 * grub-core/disk/diskfilter.c: ... here.
14315 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
14316 (lv_num): New var.
14317 (find_array): Renamed to ...
14318 (find_lv): ... this. Support multi-LV. Skip nameless LVs
14319 (grub_is_array_readable): Renamed to ...
14320 (grub_is_lv_readable): ... this. Support multinode hierarchy.
14321 (insert_array): New argument id.
14322 (is_node_readable): New function.
14323 (scan_device): Rename to ...
14324 (scan_disk): .. this. Restrict to one disk.
14325 (scan_devices): New function.
14326 (grub_diskfilter_iterate): Support multi-LV.
14327 Skip invisible and nameless LVs.
14328 (grub_diskfilter_memberlist): Support multi-LV.
14329 (grub_diskfilter_read_node): New function.
14330 (grub_raid_read): Most of logic moved to ...
14331 (read_segment): ... here
14332 (read_lv): New function.
14333 (grub_diskfilter_get_vg_by_uuid): New function.
14334 (grub_diskfilter_make_raid): Likewise.
14335 * grub-core/disk/ldm.c: New file.
14336 * grub-core/disk/lvm.c (vg_list): Removed.
14337 (lv_count): Likewise.
14338 (scan_depth): Likewise.
14339 (is_lv_readable): Likewise.
14340 (grub_lvm_getvalue): Advance pointer past the number.
14341 (find_lv): Removed.
14342 (do_lvm_scan): Refactored into ...
14343 (grub_lvm_detect): ... this. Support raid.
14344 (grub_lvm_iterate): Removed.
14345 (grub_lvm_memberlist): Likewise.
14346 (grub_lvm_open): Likewise.
14347 (grub_lvm_close): Likewise.
14348 (read_lv): Likewise.
14349 (read_node): Likewise.
14350 (is_node_readable): Likewise.
14351 (is_lv_readable): Likewise.
14352 (grub_lvm_read): Likewise.
14353 (grub_lvm_write): Likewise.
14354 (grub_lvm_dev): Use diskfilter
14355 (GRUB_MOD_INIT): Likewise.
14356 (GRUB_MOD_FINI): Likewise.
14357 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
14358 new interface.
14359 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
14360 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14361 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
14362 grub_diskfilter_read_node.
14363 Fix a bug with xor.
14364 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
14365 grub_diskfilter_read_node.
14366 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
14367 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
14368 (grub_disk_dev_iterate): Move from here...
14369 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
14370 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
14371 Make global.
14372 (grub_hostdisk_find_partition_start): Likewise.
14373 (grub_hostdisk_os_dev_to_grub_drive): New function.
14374 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
14375 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
14376 * util/getroot.c (make_device_name): ... here.
14377 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
14378 Move to ...
14379 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
14380 * grub-core/kern/emu/hostdisk.c
14381 (convert_system_partition_to_system_disk): Move to ...
14382 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
14383 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
14384 * util/getroot.c (device_is_wholedisk): ... here.
14385 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
14386 * util/getroot.c (find_system_device): ... here.
14387 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
14388 Move to ...
14389 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
14390 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14391 Move to ...
14392 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
14393 Handle LDM.
14394 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14395 Move to ...
14396 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
14397 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
14398 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
14399 DISKFILTER.
14400 * include/grub/raid.h: Renamed to ...
14401 * include/grub/diskfilter.h: ... this.
14402 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
14403 (GRUB_RAID_LAYOUT_*): Make into array.
14404 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
14405 (grub_diskfilter_vg): New struct.
14406 (grub_diskfilter_pv_id): Likewise.
14407 (grub_raid_member): Removed.
14408 (grub_raid_array): Likewise.
14409 (grub_diskfilter_pv): New struct.
14410 (grub_diskfilter_lv): Likewise.
14411 (grub_diskfilter_segment): Likewise.
14412 (grub_diskfilter_node): Likewise.
14413 (grub_diskfilter_get_vg_by_uuid): New proto.
14414 (grub_raid_register): Inline.
14415 (grub_diskfilter_unregister): Likewise.
14416 (grub_diskfilter_make_raid): New proto.
14417 (grub_diskfilter_vg_register): Likewise.
14418 (grub_diskfilter_read_node): Likewise.
14419 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
14420 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
14421 (grub_util_is_ldm): Likewise.
14422 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
14423 (grub_hostdisk_find_partition_start): Likewise.
14424 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
14425 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
14426 New definition.
14427 (grub_gpt_partition_map_iterate): New proto.
14428 * include/grub/lvm.h (grub_lvm_vg): Removed.
14429 (grub_lvm_pv): Likewise.
14430 (grub_lvm_lv): Likewise.
14431 (grub_lvm_segment): Likewise.
14432 (grub_lvm_node): Likewise.
14433 * util/getroot.c [...]
14434 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
14435 (probe_abstraction): Likewise.
14436 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
14437 (main): Remove dead logic.
14438
8a7f9b9c
VS
144392012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
14440
14441 Simplify root device discover and don't fail when trying to open
14442 incorrect devices.
14443
14444 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
14445 function.
14446 (get_diskname_from_path): Likewise.
14447 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
14448 of iterating.
14449
30545b85
VS
144502012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14451
14452 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
14453
28ea58cf
VS
144542012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14455
14456 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
14457 pastthe end.
14458
692dabca
VS
144592012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14460
14461 * util/grub-install.in: Add missing \.
14462 Reported by: gentoofan
14463
f6e4ea70
VS
144642012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
14467 (direct_read): Use correct compressed size.
14468 (grub_squash_read_data): Likewise.
14469
144702012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
14471
14472 * docs/grub.texi (Platform limitations): New section.
14473 (Platform-specific operations): Likewise.
14474 * docs/grub-dev.texi (Porting): Likewise.
14475
76261110
VS
144762012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14477
14478 IEEE1275 disk write support.
14479
14480 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
14481 const void *.
14482 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
14483 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
14484 and seek loginc to ...
14485 (grub_ofdisk_prepare): ... here.
14486 (grub_ofdisk_write): Implement.
14487
fc36d603
VS
144882012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14489
14490 ARC disk write support.
14491
14492 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
14493 (reopen): New argument writable. All users updated.
14494 Handle required access mode.
14495 (grub_arcdisk_write): Implement.
14496 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
14497 (grub_arc_firmware_vector): Make buffer to write a const buffer.
14498
e06c2e7a
VS
144992012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
14502 (read_sblock): Don't attempt to read superblocks outside the disk size.
14503
ff447958
VS
145042012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14505
14506 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
14507 first superblock to find the second one when possible.
14508
9e88df39
VS
145092012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14510
14511 * util/grub-install.in: Fix an ARC bug.
14512 Print a warning if no platform-specific setup is available.
14513
bb26e4ff
VS
145142012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14515
14516 Use static allocation rather than scratch pointer in reed_solomon.
14517 It decreases its size significantly and avoids a variable in .text.
14518
14519 * grub-core/lib/reed_solomon.c (scratch): Removed.
14520 (chosenstat): New const or static array.
14521 (sigma): Likewise.
14522 (errpot): Likewise.
14523 (errpos): Likewise.
14524 (sy): Likewise.
14525 (mstat): Likewise.
14526 (errvals): Likewise.
14527 (eqstat): Likewise.
14528 (pol_evaluate): Replace x with log_x argument. All users updated.
14529 (syndroms): Removed.
14530 (gauss_solve): Use statically allocated arrays.
14531 (rs_recover): Likewise.
14532 Calculate syndroms directly.
14533 (decode_block): Use statically allocated arrays.
14534 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
14535 (main) [TEST]: Allow -DTEST -DSTANDALONE.
14536
2e13ede5
VS
145372012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 Eliminate fixed limit on reed solomon decoder length.
14540
14541 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
14542 rather than hardcoding the address.
14543 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
14544 no_reed_solomon_length.
14545 Move gate_a20 to no-reed-solomon part.
14546 Don't force a particular size of no reed-solomon part.
14547 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14548 Removed.
14549 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
14550 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
14551
f8a9ab12
VS
145522012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 * grub-core/commands/wildcard.c (match_files): Handle filenames
14555 without explicit device.
14556 (wildcard_expand): Don't add explicit device if not already present.
14557 * tests/grub_script_echo1.in: Add a new expansion test.
14558
87edb894
VS
145592012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14560
14561 Replace single-linked with double-linked lists. It results in more
14562 compact and more efficient code.
14563
14564 * grub-core/kern/list.c (grub_list_push): Moved from here ...
14565 * include/grub/list.h (grub_list_push): ... to here. Set prev.
14566 (grub_list_remove): Moved from here ...
14567 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
14568 (grub_prio_list_insert): Set prev.
14569 * include/grub/list.h (grub_list): Add prev. All users updated.
14570
48b391e9
VS
145712012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14572
14573 Handle newer autotools. Add some missing quotes while on it.
14574
14575 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
14576 (pkglib_DATA): Move grub-mkconfig_lib from here ...
14577 (pkgdata_DATA): ... here.
14578 * Makefile.util.def (update-grub_lib): Removed.
14579 * conf/Makefile.common (pkglib_DATA): Removed.
14580 (pkglib_SCRIPTS): Likewise.
14581 (pkgdata_DATA): New variable.
14582 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
14583 needed.
14584 Add missing quotes.
14585 Remove unused variable while on it.
14586 * tests/util/grub-shell.in: Likewise.
14587 * util/grub-install.in: Likewise.
14588 * util/grub-mkconfig.in: Likewise.
14589 * util/grub-mknetdir.in: Likewise.
14590 * util/grub-mkrescue.in: Likewise.
14591 * util/grub-mkstandalone.in: Likewise.
14592 * util/grub.d/00_header.in: Likewise.
14593 * util/grub.d/10_hurd.in: Likewise.
14594 * util/grub.d/10_illumos.in: Likewise.
14595 * util/grub.d/10_kfreebsd.in: Likewise.
14596 * util/grub.d/10_linux.in: Likewise.
14597 * util/grub.d/10_netbsd.in: Likewise.
14598 * util/grub.d/10_windows.in: Likewise.
14599 * util/grub.d/20_linux_xen.in: Likewise.
14600 * util/grub.d/30_os-prober.in: Likewise.
14601 * util/update-grub_lib.in: Removed.
14602
146032012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
14604
14605 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
14606 a workaround for intel problem.
14607
66832792
PRP
146082012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
146092012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
146102012-01-23 pfsmorigo
14611
14612 * util/grub-install.in: Support dd'in into PreP partition.
14613 * util/grub-probe.c (probe): Support discovering partition type.
14614 (main): Support -t msdos_parttype.
14615
7816a17e
VS
146162012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
14619 infinite recursion using counter.
14620 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14621 init to skip it if the magic check fails.
14622 (dec_stream_header): Init s->crc32.
14623
8f9d3a8c
ZB
146242012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
146252012-01-22 Zachary Bedell <pendorbound@gmail.com>
146262012-01-22 Richard Laager <rlaager@wiktel.com>
14627
14628 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14629 All users updated.
14630 (find_bestub): Determine correct size.
14631 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
14632 (scan_disk): Align the size down.
14633 Call check pool before find_bestub to have ashift.
14634
b055dd32
VS
146352012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
14638 dprintf in no-malloc zone.
14639
d779e9bd
ML
146402012-01-22 Mario Limonciello <mario_limonciello@dell.com>
14641
14642 * configure.ac: Add back in test for limits.h.
14643
b508af69
VS
146442012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 Support 4K-sector NTFS.
14647
14648 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
14649 (grub_ntfs_data): Remove blocksize.
14650 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
14651 Remove data argument. All users updated.
14652
dad9c8b5
VS
146532012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14654
14655 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
14656 being in .text to avoid dprel references.
14657 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
14658 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
14659 (grub_arch_highmemsize): Likewise.
14660 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
14661 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
14662 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
14663
d43a777e
VS
146642012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
14667
14668 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
14669 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
14670
34e4208f
VS
146712012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14672
14673 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
14674 GRUB_UTIL.
14675 (grub_set_datetime_cmos): Likewise.
14676
3ec0fc1c
VS
146772012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14678
14679 Make XZ compression parameters dependent on target and not host CPU.
14680
14681 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
14682 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
14683
22489834
VS
146842012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14685
14686 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
14687 set but not used variable.
14688
8502fbca
VS
146892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14690
14691 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
14692 created when no uuid support is compiled into mkfs.reiser.
14693
76df2068
VS
146942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
14697 (utf8_to_macroman): Do the opposite.
14698 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
14699
64e3f8f6
VS
147002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14701
14702 * configure.ac: Refise build qemu_mips w/o unifont.
14703
9c271078
VS
147042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14705
14706 Eliminate grub_min/grub_max prone to overflow usage.
14707
14708 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
14709 (poll_nonroot_hub): Likewise.
14710 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
14711 (grub_affs_label): Likewise.
14712 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
14713 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
14714 (grub_hfs_label): Likewise.
14715 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
14716 * grub-core/fs/zfs/zfs.c (MIN): Remove.
14717 (zap_leaf_array_equal): Use grub_size. Remove MIN.
14718 (zap_leaf_array_get): Likewise.
14719 (dnode_get_path): Likewise.
14720 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
14721 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
14722 * grub-core/script/execute.c (grub_script_break): Likewise.
14723 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
14724 grub_max.
14725 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
14726 * include/grub/misc.h (grub_min): Removed.
14727 (grub_max): Likewise.
14728
80662dbc
VS
147292012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14730
14731 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
14732 direct.inode = 0.
14733
e6da1467
VS
147342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14735
14736 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
14737
b1ac4cb1
VS
147382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14739
14740 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
14741
b4bf7c3b
VS
147422012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
14745 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
14746
8ee1101a
VS
147472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14748
14749 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
14750 rather than a hack for grub_strncasemap.
14751
147522012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 Support multiple initrds
14755 Note: part of this was accidently committed in r3739.
14756
14757 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
14758 initrd.
14759 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
14760 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
14761 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14762 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14763 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14764
4d1e2bc9
VS
147652012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14766
14767 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
14768 disks with unknown size.
14769 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
14770
75b49ebe
VS
147712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14772
14773 Remove defines pertaining to arbitrary limits not affecting GRUB
14774 anymore.
14775
14776 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
14777 (EXT2_MAX_SYMLINKCNT): Likewise.
14778 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
14779 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
14780 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
14781 (GRUB_PXE_MAX_BLKSIZE): Likewise.
14782 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
14783 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
14784 (DN_MAX_OBJECT_SHIFT): Likewise.
14785 (DN_MAX_OFFSET_SHIFT): Likewise.
14786 (DN_MAX_OBJECT): Likewise.
14787 (DNODES_PER_LEVEL_SHIFT): Likewise.
14788 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
14789 (SPA_MAXBLOCKSIZE): Likewise.
14790 (SPA_BLOCKSIZES): Likewise.
14791 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
14792 (MZAP_MAX_BLKSZ): Likewise.
14793
74a1dce7
VS
147942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
14797 handle NULL appropriately.
14798 Remove MIN.
14799
30c7d3ce
VS
148002012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14801
14802 Fix efiemu.
14803
14804 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
14805 cpu/types.h.
14806 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
14807 * configure.ac: Fix efiemu check.
14808
3c76ea0c
VS
148092012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14810
14811 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
14812 grub_probe.
14813 Reported by: adamwill
14814
7e532280
SG
148152012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
14816
14817 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
14818
30492374
VS
148192012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14820
14821 Fix handling of wide characters in gfxterm.
14822
14823 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
14824 (clear_char): Likewise.
14825 (paint_char): Skip code == NULL chars.
14826 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
14827
e70cb72f
VS
148282012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14829
14830 * grub-core/normal/charset.c: Move comment to right place.
14831
5c827cf9
VS
148322012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14833
14834 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
14835 (GRUB_AFFS_FLAG_FFS): Put back where it was.
14836 (grub_affs_mount): Revert the correct version checking.
14837
53603892
VS
148382012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14839
14840 * docs/grub.texi (Unicode): Mention several other unsupported features.
14841
ff094b9b
VS
148422011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
14845 case statements as compile-time one.
14846 (direct_read): Prevent spurious warnings.
14847 (grub_squash_read_data): Likewise.
14848
c029da8a
VS
148492011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14850
14851 Various squash4 fixes and LZO and XZ support.
14852
14853 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
14854 Add xzembed source files.
14855 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
14856 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
14857 (grub_squash_inode): New subtype long_dir.
14858 (SQUASH_TYPE_LONG_DIR): New inode type.
14859 (COMPRESSION): New enum.
14860 (XZBUFSIZ): New const.
14861 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
14862 (read_chunk): Use data->decompress.
14863 (zlib_decompress): New function.
14864 (lzo_decompress): Likewise.
14865 (xz_decompress): Likewise.
14866 (squash_mount): Set new data fields.
14867 (grub_squash_iterate_dir): Handle long dir.
14868 (squash_unmount): Free xzdec and xzbuf.
14869 (grub_squash_open): Check ino type.
14870 (direct_read): Stylistic fixes. Use data->decompress.
14871 (grub_squash_read_data): Likewise.
14872 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
14873 (get_byte): Likewise.
14874 (grub_zlib_disk_read): Removed.
14875 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
14876 (GRUB_POSIX_BOOL_DEFINED): New define.
14877 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
14878 * grub-core/lib/xzembed/xz.h: Addmissing includes.
14879 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
14880 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
14881
7a45a539
VS
148822011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14883
14884 Don't override more informative errors.
14885
14886 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
14887 * grub-core/font/font.c (open_section): Likewise.
14888 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
14889 filename. Don't override errors.
14890 (grub_cmd_openbsd_ramdisk): Don't override errors.
14891 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
14892 (grub_cmd_initrd): Likewise.
14893 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14894 (grub_cmd_initrd): Likewise.
14895 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
14896 (grub_cmd_linux): Likewise.
14897 (grub_cmd_initrd): Likewise.
14898 (grub_cmd_payload): Likewise.
14899 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14900 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
14901 (grub_cmd_module): Likewise.
14902 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14903 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14904 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
14905 (grub_cmd_xnu_mkext): Likewise.
14906 (grub_cmd_xnu_ramdisk): Likewise.
14907 (grub_xnu_check_os_bundle_required): Likewise.
14908 (grub_xnu_load_kext_from_dir): Likewise.
14909 (grub_cmd_xnu_kextdir): Likewise.
14910 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
14911
b2d004db
VS
149122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
14915 as 1024 in block size field. Found on one of my test images.
14916 Small optimisation while on it.
14917
ec000eac
VS
149182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14919
14920 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
14921 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
14922 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
14923 performance fixes while on it.
14924 (grub_sfs_close): Fix memory leak while on it.
14925 (grub_sfs_label): Convert Latin1 to UTF-8.
14926
f50e1165
VS
149272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14928
14929 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
14930 space to avoid overflows.
14931 (grub_hfs_label): Convert from macroman to UTF-8.
14932
2ae254de
VS
149332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
14936
0108f491
VS
149372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14938
14939 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
14940
f45f5f89
VS
149412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 * unicode: Import Unicode 6.0 data.
14944
4d8c4765
VS
149452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14946
63fa8ef9
VS
14947 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
14948 outside of range.
14949
149502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14951
14952 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
14953
14954 * include/grub/charset.h (grub_getend): New function.
14955 * grub-core/script/function.c (grub_script_function_find): Use
14956 grub_getend.
14957 * grub-core/normal/completion.c (add_completion): Likewise.
14958
f3cb4a4e
VS
149592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14960
14961 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
14962 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
14963 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
14964 (GRUB_UNICODE_TAG_END): Likewise.
14965 (GRUB_UNICODE_LAST_VALID): Likewise.
14966
5da8dbc5
VS
149672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14968
14969 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
14970 len and make it smaller. All users updated.
14971 * util/import_unicode.py: Put length and not end character.
14972 Check length.
14973
8569f13d
VS
149742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14975
14976 Make better Unicode-compliant and unify some UTF-8 code pathes.
14977
14978 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
14979 valid character.
14980 (grub_is_valid_utf8): Use grub_utf8_process.
14981 Check resulting code range.
14982 (grub_utf8_to_ucs4): Use grub_utf8_process.
14983 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
14984 valid character.
14985
cc4fddf5
VS
149862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14987
14988 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
14989
bbc47747
VS
149902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 * docs/grub.texi (Filesystems): Mention AFS.
14993
f63d6bf4
VS
149942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14995
14996 * docs/grub.texi (Filesystems): Clarify restrictions.
14997 (Regexp): Mention non-Unicode regexp behaviour.
14998 (Other): Mention non-Unicode matching behaviour.
14999
74bbf0db
VS
150002011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15001
f63d6bf4 15002 Make HFS implementation use MacRoman.
74bbf0db
VS
15003
15004 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
15005 (macroman): New const array.
15006 (macroman_to_utf8): New function.
15007 (utf8_to_macroman): Likewise.
15008 (grub_hfs_find_dir): Use utf8_to_macroman.
15009 (grub_hfs_dir): Use macroman_to_utf8.
15010 Set case_insensitive.
15011
4ea0316e
VS
150122011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
15015
d3c13cbd
VS
150162011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 Integrate hints into autogeneration scripts.
15019
15020 * docs/grub.texi (Filesystems): Add a hostdisk example.
15021 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
15022 (grub-probe): Add ofpath.
15023 * gentpl.py: Remove group nosparc64.
15024 * grub-core/commands/search.c (cache_entry): New struct.
15025 (cache): New var.
15026 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
15027 * grub-core/commands/search_wrap.c (options): Add platform-specific
15028 hint options.
15029 (grub_cmd_search): Handle platform-specific hints.
15030 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
15031 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
15032 (grub_util_biosdisk_data): Likewise.
15033 (grub_util_biosdisk_open): Set device_map.
15034 (read_device_map): Handle "" as indication of no map.
15035 Set device_map.
15036 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
15037 (grub_util_biosdisk_get_compatibility_hint): New function.
15038 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
15039 * include/grub/emu/hostdisk.h
15040 (grub_util_biosdisk_get_compatibility_hint): New proto.
15041 * util/grub-install.in: Don't call grub-mkdevicemap.
15042 Add platform-specific hint to load.cfg.
15043 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
15044 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15045 hints. Set root preliminary to compatibility hint, not to OS name.
15046 * util/grub-probe.c (PRINT_*): Add hints.
15047 (print): Make static.
15048 (escape_of_path): New function.
15049 (guess_bios_drive): Likewise.
15050 (guess_efi_drive): Likewise.
15051 (guess_baremetal_drive): Likewise.
15052 (print_full_name): Likewise.
15053 (probe): Handle hints.
15054 (main): Likewise.
15055 * util/ieee1275/devicemap.c: Removed.
15056 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
15057 updated.
15058 (grub_util_devname_to_ofpath): Return NULL on failure.
15059
15060 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
15061 resource leak.
15062 * util/getroot.c (grub_util_pull_device): Fix memory leak.
15063
15064 * po/POTFILES.in: Regenerated.
15065
15066 Allow purely long options
15067
15068 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
15069 (SHORT_ARG_USAGE): Likewise.
15070 (grub_arg_show_help): Compare opt with help_options.
15071 (parse_option): Receive opt as argument. If makes big simplificatons.
15072 All users updated
15073
00ce2df3
VS
150742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15075
15076 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
15077 Restructure to avoid warning.
15078
e77e325f
VS
150792011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15080
15081 * util/grub-install.in: Account for possible escaped comma in device
15082 name.
15083
165099ea
VS
150842011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15085
15086 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
15087 channel.
15088
ce4a999d
VS
150892011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
15092 allocation and zero-setting.
15093 (grub_ieee1275_get_devname): Check that alias is complete.
15094
379586ad
VS
150952011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
15098 unaligned segments.
15099
9197b0ad
VS
151002011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15101
15102 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
15103 prefix.
15104 (grub_ofdisk_open): Check and discard ieee1275 prefix.
15105 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15106 Add ieee1275 prefix.
15107
edddb7f9
VS
151082011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15109
15110 * docs/grub.texi (Filesystems): Update.
15111
a1a8b1b9
VS
151122011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15113
15114 Support odc, newc and bigendian cpio formats.
15115
15116 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
15117 * grub-core/Makefile.core.def (newc): New module.
15118 (odc): Likewise.
15119 (cpio_be): Likewise.
15120 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
15121 (MAGIC): Likewise.
15122 (MAGIC2): Likewise.
15123 (head) [MODE_ODC]: Adapt for the format.
15124 (head) [MODE_NEWC]: Likewise.
15125 (head) [!MODE_*]: Write fields of interest as arrays.
15126 (MAGIC_USTAR): Removed.
15127 (read_number) [MODE_NEWC]: Change to hex.
15128 (read_number) [!MODE_*]: Parse binary arrays.
15129 (grub_cpio_find_file): Factor out the code for better structure and
15130 always use read_number.
15131 (grub_cpio_mount): Use MAGIC and MAGIC2.
15132 (grub_cpio_dir): Exit on first hook non-0 return.
15133 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
15134 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
15135 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
15136 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
15137 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
15138 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
15139 * grub-core/fs/newc.c: New file.
15140 * grub-core/fs/odc.c: Likewise.
15141 * grub-core/fs/cpio_be.c: Likewise.
15142
58eba9ee
VS
151432011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15144
15145 Fix handling of tar numbers occupying the whole field.
15146
15147 * grub-core/fs/cpio.c (read_number): New function.
15148 (grub_cpio_find_file): Use read_number instead of strtoull.
15149
a54a0e12
VS
151502011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15151
15152 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
15153 occupying the whole field size.
15154
a6120aca
LA
151552011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
15156
15157 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
15158
a93964ce
VS
151592011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
15162
3ea1ca46
SG
151632011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
15164
15165 * grub-core/Makefile.core.def (lzma_decompress): Add missing
15166 TARGET_IMG_LDFLAGS.
15167
b87f7ef2
VS
151682011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15169
15170 * util/getroot.c (ESCAPED_PATH_MAX): New define.
15171 (mountinfo_entry): Increase the field size to take escaping into
15172 account.
15173 (find_root_device_from_libzfs): Add one byte to size of strings for
15174 security.
15175
62092395
VS
151762011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15177
15178 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
15179 an assert.
15180 * util/grub-setup.c (setup): Likewise.
15181
1f0b1a77
VS
151822011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15183
15184 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
15185 _LzmaDecodeA.
15186
8eba9997
VS
151872011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15188
15189 * docs/grub.texi (Internationalisation): New section.
15190
dd0c91e9
VS
151912011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15192
15193 * docs/grub.texi (Loopback booting): New section.
15194
151952011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
15196
15197 * util/grub-mkstandalone.in: Fix minor typo errors.
15198
198e150a
VS
151992011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15200
15201 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
15202
15203 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
15204 net/icmp.c and net/icmp6.c.
15205 (http): New module.
15206 (priority_queue): Likewise.
15207 * grub-core/io/bufio.c: Rewritten.
15208 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
15209 TYPE_WITH_CONFIGFILE_OPTION.
15210 (legacy_commands): Add bootp and dhcp.
15211 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
15212 (grub_legacy_parse): Likewise.
15213 * grub-core/lib/priority_queue.c: New file.
15214 * grub-core/net/arp.c: Add missing license header.
15215 (arp_find_entry): Removed.
15216 (arp_find_entry): Likewise.
15217 (grub_net_arp_resolve): Rename to ...
15218 (grub_net_arp_send_request): ...this.
15219 (grub_net_arp_receive): New card argument.
15220 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
15221 Set router and DNS server.
15222 (grub_net_configure_by_dhcp_ack): Handle routing information.
15223 (grub_cmd_bootp): Set checksum.
15224 (grub_bootp_init): Remove net_dhcp.
15225 * grub-core/net/dns.c: New file.
15226 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
15227 completion.
15228 (get_card_packet): Handle allocation.
15229 (grub_efinet_findcards): Set mtu.
15230 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
15231 (get_card_packet): Handle allocation.
15232 (emucard): Set mtu.
15233 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
15234 (GRUB_MOD_INIT): Set mtu.
15235 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
15236 mtu.
15237 (get_card_packet): Handle allocation.
15238 (grub_ofnet_findcards): Set mtu.
15239 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
15240 assert.
15241 (grub_net_recv_ethernet_packet): Handle IPv6.
15242 * grub-core/net/http.c: New file.
15243 * grub-core/net/icmp.c: Likewise.
15244 * grub-core/net/icmp6.c: Likewise.
15245 * grub-core/net/ip.c (ip6addr): New type.
15246 (ip6hdr): Likewise.
15247 (reassemble): Likewise.
15248 (cmp): New function.
15249 (reassembles): New variable.
15250 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
15251 (id): New variable.
15252 (send_fragmented): New function.
15253 (grub_net_send_ip_packet): Rename to ...
15254 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
15255 Handle non-UDP.
15256 (grub_net_recv_ip_packets): Rename to ...
15257 (handle_dgram): ... this. Check checksum. Handle non-UDP.
15258 (free_rsm): New function.
15259 (free_old_fragments): Likewise.
15260 (grub_net_recv_ip4_packets): New function.
15261 (grub_net_send_ip6_packet): Likewise.
15262 (grub_net_send_ip_packet): Likewise.
15263 (grub_net_recv_ip6_packets): Likewise.
15264 (grub_net_recv_ip_packets): Likewise.
15265 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
15266 (LINK_LAYER_CACHE_SIZE): New const.
15267 (link_layer_find_entry): New function.
15268 (grub_net_link_layer_add_address): Likewise.
15269 (grub_net_link_layer_resolve_check): Likewise.
15270 (grub_net_link_layer_resolve): Likewise.
15271 (grub_net_ipv6_get_slaac): Likewise.
15272 (grub_net_ipv6_get_link_local): Likewise.
15273 (grub_cmd_ipv6_autoconf): Likewise.
15274 (parse_ip): Handle one number representation.
15275 (parse_ip6): New functoion.
15276 (match_net): Handle IPv6.
15277 (grub_net_resolve_address): Handle IPv6 and DNS.
15278 (grub_net_resolve_net_address): Handle IPv6.
15279 (route_cmp): New function.
15280 (grub_net_route_address): Find best route.
15281 (grub_net_addr_to_str): Handle IPv6.
15282 (grub_net_addr_cmp): New function.
15283 (grub_net_add_addr): Register local route.
15284 (print_net_address): Handle net address.
15285 (grub_net_poll_cards): Retransmit TCP.
15286 (grub_net_poll_cards_idle_real): Likewise.
15287 (have_ahead): New function.
15288 (grub_net_seek_real): Use underlying seek.
15289 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
15290 * grub-core/net/tcp.c: New file.
15291 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
15292 (cmp): New function.
15293 (ack): Likewise.
15294 (tftp_receive): Handle unordered input.
15295 (destroy_pq): New function.
15296 (tftp_close): Close pq.
15297 * grub-core/net/udp.c: Put missing license header.
15298 (grub_net_udp_socket): New function.
15299 (udp_socket_register): Likewise.
15300 (grub_net_udp_close): Likewise.
15301 (grub_net_recv_udp_packet): Check checksum.
15302 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
15303 * include/grub/misc.h (grub_memchr): New function.
15304 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
15305 (grub_net_card_driver): Return buf in recv.
15306 (grub_net_slaac_mac_list): New struct.
15307 (grub_network_level_protocol_id): Add ipv6.
15308 (grub_net_network_level_addr): Likewise.
15309 (grub_net_network_level_net_addr): Likewise.
15310 (grub_net_app_protocol): Add seek.
15311 (grub_net_socket): Removed.
15312 (grub_net_sockets): Likewise.
15313 (grub_net_socket_register): Likewise.
15314 (grub_net_socket_unregister): Likewise.
15315 (FOR_NET_SOCKETS): Likewise.
15316 (grub_net_add_addr): Add const.
15317 (GRUB_NET_BOOTP_*): New enum.
15318 (grub_net_addr_cmp): New proto.
15319 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
15320 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
15321 (grub_net_hwaddr_to_str): NEw proto.
15322 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
15323 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
15324 (grub_dns_init): New proto.
15325 (grub_dns_fini): Likewise.
15326 (grub_net_tcp_retransmit): Likewise.
15327 (grub_net_link_layer_add_address): Likewise.
15328 (grub_net_link_layer_resolve_check): Likewise.
15329 (grub_net_link_layer_resolve): Likewise.
15330 (grub_net_dns_lookup): Likewise.
15331 (grub_net_add_dns_server): Likewise.
15332 (grub_net_remove_dns_server): Likewise.
15333 (GRUB_NET_TRIES): New const.
15334 (GRUB_NET_INTERVAL): Likewise.
15335 * include/grub/net/arp.h: Mostly rewritten.
15336 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
15337 * include/grub/net/ip.h: Mostly rewritten.
15338 * include/grub/net/netbuff.h: Indent.
15339 * include/grub/net/tcp.h: New file.
15340 * include/grub/net/udp.h: Mostly rewritten.
15341 * include/grub/priority_queue.h: New file.
15342 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
15343 (grub_swap_bytes64_compile_time): Likewise.
15344 (grub_cpu_to_be16_compile_time): Likewise.
15345 (grub_cpu_to_be32_compile_time): Likewise.
15346 (grub_cpu_to_be64_compile_time): Likewise.
15347 (grub_be_to_cpu64_compile_time): Likewise.
15348
215c1800
VS
153492011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15350
15351 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
15352 UINT_TO_PTR with cast.
15353
c17e546c
VS
153542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
15357 don't use them.
15358
ff6b18b6
VS
153592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15360
15361 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
15362 already there.
15363
70ffcc93
VS
153642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15365
15366 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
15367 confusing ipxe.
15368
e5f4d260
VS
153692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15370
15371 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
15372 Add missing const attribute.
15373 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
15374 Likewise.
15375 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
15376 Likewise.
15377
8e54b4b7
VS
153782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
15381 misaligned access.
15382 (serpent_setkey): Likewise.
15383 (serpent_encrypt_internal): Likewise.
15384 (serpent_decrypt_internal): Likewise.
15385 (serpent_encrypt): Don't put an alignment-increasing cast.
15386 (serpent_decrypt): Likewise.
15387 (serpent_test): Likewise.
15388
813c0a2b
VS
153892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
15392
f2b60fbd
VS
153932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
15396
15397 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
15398 grub_addr_t casts.
15399 (PTR_TO_UINT64): Likewise.
15400 (PTR_TO_UINT32): Likewise.
15401
5ef5c511
VS
154022011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15403
15404 * util/grub-mkimage.c (generate_image): Decrease the higher limit
15405 because of stack.
15406 * util/grub-setup.c (setup): Don't add redundancy past the higher load
15407 limit.
15408
c476e6df
VS
154092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
15412 text_width > available width a bit more gracefully.
15413
384ad7cc
VS
154142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
15417 current address calculation.
15418
96f8caf8
VS
154192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15420
15421 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
15422 stack.
15423 (encode_block): Likewise.
15424
276b7a8b
VS
154252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15426
15427 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
15428 certainety.
15429
e3fd394a
VS
154302011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
15433 non-RS part to avoid RS messing with GDT.
15434 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
15435 Increase to suit in realmode routines.
15436
154372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15438
15439 * grub-core/kern/i386/realmode.S: Increase alignment.
15440 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
15441
ee9c2e7a
VS
154422011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
15445 be deterministic.
15446 (syndroms): Compute 0 syndrom.
15447 (rs_recover): Use 0 syndrom.
15448
7a7f7cc9
VS
154492011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15450
15451 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
15452
a14b16d1
VS
154532011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15454
15455 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
15456 brackets.
15457
9f59e9fc
VS
154582011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15459
ca1b552c
VS
15460 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
15461 account.
15462 (get_top_pad): Likewise.
15463 (get_right_pad): Likewise.
15464 (get_bottom_pad): Likewise.
15465
154662011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15467
15468 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 15469
e739d698
VS
154702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15471
15472 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
15473 attribute as the structure isn't guaranteed to be properly aligned.
15474 (grub_efi_pci_device_path): Likewise.
15475 (grub_efi_pccard_device_path): Likewise.
15476 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
15477 specify the size of `memory_type'.
15478 (grub_efi_vendor_device_path): Likewise.
15479 (grub_efi_controller_device_path): Likewise.
15480 (grub_efi_acpi_device_path): Likewise.
15481 (grub_efi_expanded_acpi_device_path): Likewise.
15482 (grub_efi_atapi_device_path): Likewise.
15483 (grub_efi_scsi_device_path): Likewise.
15484 (grub_efi_fibre_channel_device_path): Likewise.
15485 (grub_efi_1394_device_path): Likewise.
15486 (grub_efi_usb_device_path): Likewise.
15487 (grub_efi_usb_class_device_path): Likewise.
15488 (grub_efi_i2o_device_path): Likewise.
15489 (grub_efi_mac_address_device_path): Likewise.
15490 (grub_efi_ipv4_device_path): Likewise.
15491 (grub_efi_ipv6_device_path): Likewise.
15492 (grub_efi_infiniband_device_path): Likewise.
15493 (grub_efi_uart_device_path): Likewise.
15494 (grub_efi_vendor_messaging_device_path): Likewise.
15495 (grub_efi_hard_drive_device_path): Likewise.
15496 (grub_efi_cdrom_device_path): Likewise.
15497 (grub_efi_vendor_media_device_path): Likewise.
15498 (grub_efi_file_path_device_path): Likewise.
15499 (grub_efi_protocol_device_path): Likewise.
15500 (grub_efi_piwg_device_path): Likewise.
15501 (grub_efi_bios_device_path): Likewise.
15502
cb8f88ea
VS
155032011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15504
15505 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
15506 (grub_ucs4_to_utf8_alloc): Likewise.
15507 (grub_ucs4_to_utf8): Likewise.
15508 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
15509 (grub_ucs4_to_utf8_alloc): Likewise.
15510
309e5352
VS
155112011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 AFFS never uses unicode.
15514
15515 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
15516 (grub_latin1_to_utf8): New inline function.
15517 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
15518
e7987e1b
VS
155192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15520
15521 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
15522 overflow.
15523
efc2616e
VS
155242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15525
15526 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
15527 (grub_squash_dirent_header): Likewise.
15528 (read_chunk): Don't double swap.
15529 (grub_squash_iterate_dir): Fix swap sizes.
15530
3c349f5a
VS
155312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15532
15533 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
15534
b453412d
VS
155352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15536
15537 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
15538 (grub_hfs_iterate_dir): Likewise.
15539
12e9d4d1
VS
155402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 Fix video on platforms where unaligned access is forbidden.
15543 Make several optimisations while on it.
15544
15545 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
15546 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15547 (grub_video_fbblit_replace_32bit_1bit): Likewise.
15548 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15549 Disable.
15550 (grub_video_fbblit_replace_16bit_1bit):
15551 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15552 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15553 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
15554 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
15555 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15556 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15557 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
15558 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
15559 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
15560 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
15561 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
15562 (grub_video_fbblit_replace_index_RGB888): Likewise.
15563 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
15564 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
15565 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
15566 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
15567 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
15568 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15569 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15570 Disable.
15571 (grub_video_fbblit_blend_XXX565_1bit):
15572 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15573 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
15574 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
15575 void *.
15576 * grub-core/video/fb/video_fb.c (common_blitter)
15577 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
15578 (grub_video_fb_create_render_target_from_pointer)
15579 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
15580 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
15581 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
15582 definition.
15583 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
15584
ace96609
VS
155852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
15588 HH22 and HM10 relocations.
15589
fd261d73
VS
155902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15591
15592 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
15593
e59b7857
VS
155942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15595
15596 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
15597 allocation succeeded.
15598
9b4baaa4
VS
155992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15600
15601 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
15602 argument a u8 pointer. All users updated.
15603 Handle unaligned buffers.
15604
dc713193
VS
156052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
15608 add_part to workaround compiler bug.
15609
30dd48c2
VS
156102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15611
15612 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
15613
0c6087a8
VS
156142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15615
15616 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
15617 Reserve alignment invariants.
15618 (grub_multiboot_load): Likewise.
15619 (retrieve_video_parameters): Likewise.
15620 (grub_multiboot_make_mbi): Likewise.
15621
c2e77777
VS
156222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
15625 incorrect pointer.
15626
b70b6d11
VS
156272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15628
15629 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
15630 (grub_pata_pio_write): Likewise.
15631
02a2bf83
VS
156322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15633
15634 Add noreturn attributes and remove unreachable code.
15635
15636 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
15637 code.
15638 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
15639 code. Mark as noreturn.
15640 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
15641 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
15642 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
15643 unreachable code.
15644 * grub-core/kern/main.c (grub_main): Mark as noreturn.
15645 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
15646 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
15647 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
15648 * include/grub/kernel.h (grub_main): Mark as noreturn.
15649 * include/grub/reader.h (grub_rescue_run): Likewise.
15650
2019d09e
VS
156512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15652
15653 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
15654 redundant declaration.
15655
d1c501ee
VS
156562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 * include/grub/net.h (grub_net_network_level_interfaces): Remove
15659 redundant declaration.
15660 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
15661
61664420
VS
156622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15663
15664 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
15665 to ensure alignment.
15666 (grub_hdparm_print_identify): Make argument uint16 * to ensure
15667 alignment. Ensure tmp alignment.
15668 (grub_cmd_hdparm): Ensure buf alignment.
15669 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
15670 to ensure alignment.
15671 (grub_ata_dumpinfo): Ensure text alignment.
15672 (grub_atapi_identify): Preserve alignment invariant.
15673 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
15674
0d51ee20
VS
156752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
15678 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
15679 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
15680 * include/grub/misc.h (grub_reboot)
15681 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
15682 (grub_halt) [__mips__]: Likewise.
15683
753ef8c1
VS
156842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15685
15686 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
15687 Remove redundant declaration.
15688 (grub_mmap_get_post64): Likewise.
15689 (grub_mmap_get_upper): Likewise.
15690 (grub_mmap_get_lower): Likewise.
15691
85c85365
VS
156922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
15695 uint32_t * to ensure alignment.
15696 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
15697
a23f2cc4
VS
156982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15699
93018f64
VS
15700 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
15701 uint16_t * to ensure alignment.
15702 (sun_pc_partition_map_iterate): Make `block' a union to ensure
15703 alignment.
15704
157052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15706
15707 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
15708 to ensure alignment.
15709 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
15710
58acccd6
VS
157112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 * grub-core/fs/ntfs.c (u16at): Make into inline function.
15714 Handle unaligned pointers.
15715 (u32at): Likewise.
15716 (u64at): Likewise.
15717 (fixup): Use byte access instead of v16at.
15718 (find_attr): Fix imporper usage of v32at.
15719 (read_data): Likewise.
15720 (list_file): Handle byte-swapping and unaligned strings.
15721 (grub_ntfs_label): Likewise.
15722
9b05cad7
VS
157232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
15726 as it's not necessarily aligned.
15727
b3950b84
VS
157282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
15731 redundant declaration.
15732 (grub_serial_init): Likewise.
15733 (grub_terminfo_init): Likewise.
15734
fcd232b7
VS
157352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
15738 function.
15739 (ZAP_HASH_IDX): Likewise.
15740 (ZAP_LEAF_HASH_SHIFT): Likewise.
15741 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
15742 (LEAF_HASH): Likewise.
15743 (ZAP_LEAF_NUMCHUNKS): Likewise.
15744 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
15745 alignment invariants. Return pointer. All users updated.
15746 (ZAP_LEAF_ENTRY): Make into inline function.
15747 (NBBY): Removed.
15748 (xor): LIkewise.
15749 (xor_out): Use grub_crypto_xor.
15750 (dnode_get_path): Use grub_get_unaligned.
15751 (nvlist_find_value): Likewise.
15752 (grub_zfs_nvlist_lookup_uint64): Likewise.
15753 (grub_zfs_nvlist_lookup_string): Likewise.
15754 (get_nvlist_size): Likewise.
15755 (grub_zfs_open): Likewise.
15756 (fill_fs_info): Likewise.
15757 (grub_zfs_dir): Likewise.
15758 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
15759 alignment invariants.
15760 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
15761 necessarily aligned.
15762
f138623a
VS
157632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
15766
564840dc
VS
157672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15768
15769 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
15770 arithmetic to conserve alignment invariants.
15771
9b40df20
VS
157722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15773
15774 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
15775 redundant declaration.
15776 (grub_efiemu_mm_obtain_request): Likewise.
15777 (grub_efiemu_prepare): Likewise.
15778
d1c930f9
VS
157792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15780
15781 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
15782 to match types.
15783
4c5f3056
VS
157842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15785
15786 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
15787 case of aunaligned recptr.
15788 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
15789 alignment.
15790 (grub_hfsplus_btree_search): Handle unaligned index.
15791
728cba91
VS
157922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
15795 to get freetag and skip.
15796
eb561f31
VS
157972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15798
15799 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
15800 array.
15801 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
15802 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
15803
20993fbb
VS
158042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15805
15806 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
15807 name for checksum and fix allocation algorithm.
15808
1f313b94
VS
158092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * include/grub/types.h (grub_properly_aligned_t): New type.
15812 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
15813 (grub_get_unaligned16): Add explicit casts.
15814 (grub_get_unaligned32): Likewise.
15815 (grub_get_unaligned64): Likewise.
15816 (grub_set_unaligned16): New function.
15817 (grub_set_unaligned32): Likewise.
15818
47ae27ec
VS
158192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15820
15821 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15822
78c2cd1c
VS
158232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15824
15825 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
15826 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
15827 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
15828
53072f9b
VS
158292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
15832 conditionals.
15833
055dc239
VS
158342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
15837 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
15838
496bd074
VS
158392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 Unify and improve RAID and crypto xor.
15842
15843 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
15844 changed to grub_crypto_xor
15845 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
15846 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
15847 Use bigger types when possible.
15848
ef6e4335
VS
158492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 * grub-core/disk/raid.c (scan_devices): Fix condition.
15852
5d048bf2
VS
158532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
15856 Make name a const ptr.
15857
ee533335
VS
158582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
15861 first argument a const pointer.
15862 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15863 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
15864 proto.
15865 (grub_children_iterate): Likewise.
15866 (grub_machine_mmap_iterate): Remove redundant declaration.
15867
cc8f3668
VS
158682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
15871 (grub_cmd_acpi) [!x86]: Disable EBDA.
15872
c5fc563a
VS
158732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 Enable UTF8 in gnulib regexp.
15876
15877 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
15878 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
15879 (isupper): Use grub_isupper.
15880 (isascii): New inline function.
15881 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
15882 * grub-core/lib/posix_wrap/wctype.h: Likewise.
15883 * grub-core/normal/charset.c (grub_utf8_process): New function.
15884 (grub_utf8_to_utf16): Use grub_utf8_process.
15885 (grub_encode_utf8_character): New function.
15886 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
15887 * include/grub/charset.h (grub_utf8_process): New declaration.
15888 (grub_encode_utf8_character): Likewise.
15889 * include/grub/misc.h (grub_islower): New inline function.
15890 (grub_isupper): Likewise.
15891 (grub_strchrsub): Moved down to fix the definitions.
15892
0af2346f
VS
158932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15894
15895 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
15896 specification.
15897
74dbd244
VS
158982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15899
15900 * include/grub/loader.h (grub_loader_register_preboot_hook):
15901 Use struct preboot * and not void * for handle. All users updated.
15902 (grub_loader_unregister_preboot_hook): Likewise.
15903
1bc8f60d
VS
159042011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15905
15906 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
15907 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
15908 UTF-16-BE. All users updated.
15909 (grub_hfsplus_cmp_catkey): Fix unicode handling.
15910 (grub_hfsplus_iterate_dir): Likewise.
15911 (grub_hfsplus_label): Likewise.
15912
48d6e456
VS
159132011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
15916
bf3a3857
VS
159172011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
15918
15919 Add missing const qualifiers.
15920
15921 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
15922 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
15923 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
15924 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
15925 (grub_lvm_check_flag): Likewise.
15926 * grub-core/efiemu/i386/coredetect.c
15927 (grub_efiemu_get_default_core_name): Likewise
15928 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
15929 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
15930 * grub-core/fs/ntfs.c (fixup): Likewise.
15931 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
15932 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
15933 (fzap_lookup): Likewise.
15934 (zap_lookup): Likewise.
15935 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
15936 * grub-core/lib/legacy_parse.c (check_option): Likewise.
15937 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
15938 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
15939 (grub_freebsd_add_meta_module): Likewise.
15940 (grub_cmd_freebsd_module): Likewise.
15941 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
15942 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
15943 (grub_xnu_writetree_get_size): Likewise.
15944 (grub_xnu_writetree_toheap_real): Likewise.
15945 (grub_xnu_find_key): Likewise.
15946 (grub_xnu_create_key): Likewise.
15947 (grub_xnu_create_value): Likewise.
15948 (grub_xnu_register_memory): Likewise.
15949 (grub_xnu_check_os_bundle_required): Likewise.
15950 (grub_xnu_scan_dir_for_kexts): Likewise.
15951 (grub_xnu_load_kext_from_dir): Likewise.
15952 * grub-core/normal/color.c (color_list): Likewise.
15953 * grub-core/normal/completion.c (current_word): Likewise.
15954 * grub-core/normal/menu_entry.c (insert_string): Likewise.
15955 * grub-core/term/serial.c (grub_serial_find): Likewise.
15956 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
15957 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
15958 Likewise.
15959 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
15960 (grub_freebsd_add_meta_module): Likewise.
15961 * include/grub/lib/arg.h (grub_arg_option): Likewise.
15962 * include/grub/net.h (grub_net_card_driver): Likewise.
15963 (grub_net_card): Likewise.
15964 (grub_net_app_protocol): Likewise.
15965 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
15966 * include/grub/serial.h (grub_serial_find): Likewise.
15967 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
15968 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
15969 (grub_xnu_create_value): Likewise.
15970 (grub_xnu_find_key): Likewise.
15971 (grub_xnu_scan_dir_for_kexts): Likewise.
15972 (grub_xnu_load_kext_from_dir): Likewise.
15973
15974 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
15975 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
15976 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
15977 Moved from here ...
15978 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
15979
112b4837
CW
159802011-11-28 Colin Watson <cjwatson@ubuntu.com>
15981
15982 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
15983
49e891ac
VS
159842011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
15985
15986 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
15987 (read_device): Fix size calculation.
15988
fd258e5c
RM
159892011-11-25 Robert Millan <rmh@gnu.org>
15990
15991 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
15992 (find_root_device_from_libzfs): Add zpool output parser to be used
15993 as fallback when libzfs isn't available.
15994
78845dc2
SG
159952011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
15996
15997 * po/Makefile.in.in: Add missing escape-continuation.
15998
adac5211
VS
159992011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
16000
16001 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
16002
10b64f1c
VS
160032011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16004
16005 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
16006
bb416954
VS
160072011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
16010
bdfe9eeb
VS
160112011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16012
16013 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
16014
581ffa8a
VS
160152011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16016
16017 * grub-core/lib/adler32.c: Add missing license specification.
16018 * grub-core/lib/crc64.c: Likewise.
16019 * grub-core/loader/i386/pc/plan9.c: Likewise.
16020 * grub-core/partmap/plan.c: Likewise.
16021
2536cf64
LK
160222011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
16023
16024 Add facility to debug GRUB with gdb under qemu.
16025
16026 * grub-core/gdb_grub.in: New file.
16027 * grub-core/gmodule.pl.in: Likewise.
16028 * grub-core/Makefile.core.def (gmodule.pl): New script.
16029 (gdb_grub): Likewise.
16030
bc108a4a
VS
160312011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16032
16033 * util/grub-mount.c (argp_parser): Accept relative pathes.
16034 * util/grub-fstest.c (argp_parser): Likewise.
16035
111c1778
VS
160362011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 Plan9 support.
16039
16040 * Makefile.util.def (libgrubmods): Add
16041 grub-core/partmap/plan.c.
16042 * docs/grub.texi: Notice Plan9 support.
16043 * grub-core/Makefile.core.def (plan9): New module.
16044 (part_plan): Likewise.
16045 * grub-core/loader/i386/pc/plan9.c: New file.
16046 * grub-core/partmap/plan.c: Likewise.
16047 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
16048 define.
16049 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
16050 * include/grub/mm.h (grub_extend_alloc): New inline function.
16051
c30be3b6
VS
160522011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 Make Reed-Solomon faster by using power of generator representation of
16055 GF(256)*.
16056
16057 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
16058 (gf_double_t): Likewise.
16059 (gf_invert): Removed.
16060 (gf_powx): New array.
16061 (gf_powx_inv): Likewise.
16062 (scratch): Move higher.
16063 (gf_reduce): Removed.
16064 (gf_mul): Use powx.
16065 (gf_invert): Likewise.
16066 (init_inverts): Replaced with ...
16067 (init_powx): ...this. All users updated.
16068 (pol_evaluate): Replace multiplications with additions.
16069 (rs_encode): Likewise.
16070 (gauss_eliminate): Call gf_invert.
16071 (grub_reed_solomon_add_redundancy): Call init_powx.
16072 (grub_reed_solomon_recover): Call init_powx unconditionally.
16073
fa5aeffc
VS
160742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
16077
a346b81c
VS
160782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16079
16080 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
16081 disk->partiton for safety.
16082
d89ee414
VS
160832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16084
16085 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
16086 Fix a memory leak.
16087 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
16088
91ee7b6d
VS
160892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
16092
91e5a33d
VS
160932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
16096
9edd7be2
VS
160972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16098
16099 Fix spaces handling in proc/self/mountinfo.
16100
16101 * util/getroot.c (unescape): New function.
16102 (grub_find_root_device_from_mountinfo): Use unescape.
16103
ba102053
VS
161042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16105
16106 Support ZFS embedding.
16107
16108 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
16109 (grub_zfs_fs): Register grub_zfs_embed.
16110
aa94b870
VS
161112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16112
16113 Fix MIPS compilation.
16114
16115 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
16116 * include/grub/offsets.h: Rename decompressor fields from
16117 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
16118 * util/grub-mkimage.c (image_targets): Use new names.
16119
5fbdac14
VS
161202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 Defer multiboot device parsing until we're in compressed part.
16123
16124 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
16125 bsd_part. setdevice has fallen into disuse.
16126 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
16127 (bsd_part): Likewise.
16128 (boot_dev): New variable.
16129 (multiboot_trampoline): Don't parse multiboot device.
16130 Pass multiboot device in %edx.
16131 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
16132 grub_boot_device.
16133 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
16134 Likewise.
16135 * grub-core/kern/i386/pc/startup.S: Save edx.
16136 (grub_boot_drive): Removed.
16137 (grub_install_dos_part): Likewise.
16138 (grub_install_bsd_part): Likewise.
16139 (grub_boot_device): New variable.
16140 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
16141 (grub_install_bsd_part): Likewise.
16142 (grub_boot_drive): Likewise.
16143 (grub_boot_device): New variable.
16144 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
16145 Removed.
16146 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16147 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
16148 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
16149 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
16150 * util/grub-install.in: Remove redundant condition.
16151
691cbb58
VS
161522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16153
16154 Fix bug introduced by previous commit.
16155
16156 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
16157
60240b8b
VS
161582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 Use decompressors framework on i386-pc. It increases core size
16161 by 46 bytes but improves compatibility and maintainability.
16162
16163 * grub-core/Makefile.core.def (lzma_decompress): New image.
16164 (kernel): Add i386_pc_ldflags.
16165 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
16166 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
16167 to real_to_prot, prot_to_real and device info.
16168 * include/grub/offsets.h: Renamed decompressor offsets.
16169 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
16170 (image_target_desc): Remove raw_size and rename decompressor fields.
16171 (compress_kernel): Handle lzma.
16172 (generate_image): Handle decompressors on i386-pc.
16173
e9d3421c
VS
161742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 * configure.ac: Add -fno-asynchronous-unwind-tables.
16177
2b23074a
VS
161782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 Move assembly code to C by using intwrap. It increases core size
16181 by 88 bytes but improves compatibility and maintainability.
16182
16183 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
16184 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
16185 ... here. Translated to C.
16186 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
16187 * grub-core/term/i386/pc/console.c (grub_console_getkey):
16188 ... here. Translated to C.
16189 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
16190 * grub-core/term/i386/pc/console.c (grub_console_getxy):
16191 ... here. Translated to C.
16192 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
16193 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
16194 ... here. Translated to C.
16195 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
16196 * grub-core/term/i386/pc/console.c (grub_console_cls):
16197 ... here. Translated to C.
16198 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
16199 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
16200 ... here. Translated to C.
16201 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
16202 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
16203 Translated to C.
16204 * grub-core/term/i386/pc/console.c (int10_9): New function.
16205 (grub_console_putchar): Likewise.
16206 * include/grub/i386/pc/console.h: Removed the not anymore shared
16207 functions.
16208
678f4b67
VS
162092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 Move grub_chainloader_real_boot out of the kernel.
16212
16213 * grub-core/Makefile.am: Remove machine/loader.h.
16214 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16215 Removed.
16216 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
16217 variable.
16218 (grub_relocator16_keep_a20_enabled): Likewise.
16219 (grub_relocator16_boot): Fill new variables.
16220 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
16221 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
16222 relocator.
16223 (grub_chainloader_unload): Likewise.
16224 (grub_chainloader_cmd): Likewise.
16225 * include/grub/i386/pc/loader.h: Removed.
16226 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
16227 and esi. All initialisers updated.
16228
4626edf6
VS
162292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
162302011-11-12 Colin Watson <cjwatson@ubuntu.com>
16231
16232 * Makefile.util.def (grub-mount): New util.
16233 * .bzrignore: Add grub-mount.
16234 * configure.ac: Check for fuse and enable grub-mount if available.
16235 * docs/man/grub-mount.h2m: New file.
16236 * util/grub-mount.c: Likewise.
16237
10f0117b
VS
162382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 * grub-core/commands/efi/fixvideo.c: Gettextize.
16241 * grub-core/commands/hashsum.c: Likewise.
16242 * grub-core/commands/i386/cmostest.c: Likewise.
16243 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16244 * grub-core/commands/i386/pc/lsapm.c: Likewise.
16245 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16246 * grub-core/commands/lsmmap.c: Likewise.
16247 * grub-core/commands/menuentry.c: Likewise.
16248 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
16249 * grub-core/commands/setpci.c: Likewise.
16250 * grub-core/loader/i386/bsd.c: Likewise.
16251 * grub-core/loader/i386/linux.c: Likewise.
16252 * util/getroot.c: Likewise.
16253 * util/grub-editenv.c: Likewise.
16254 * util/grub-fstest.c: Likewise.
16255 * util/grub-mkfont.c: Likewise.
16256 * util/grub-mkimage.c: Likewise.
16257 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16258 * util/grub-pe2elf.c: Likewise.
16259 * util/grub-probe.c: Likewise.
16260 * util/grub-setup.c: Likewise.
16261 * util/ieee1275/ofpath.c: Likewise.
16262 * util/misc.c: Likewise.
16263 * util/raid.c: Likewise.
16264
566f779b
RM
162652011-11-11 Robert Millan <rmh@gnu.org>
16266
16267 * util/getroot.c (grub_util_get_geom_abstraction): Remove
16268 __attribute__((unused)) from `os_dev', which *is* being used.
16269
b50787de
VS
162702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16271
16272 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
16273 forgotten define.
16274 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
16275 GRUB_IA64_DL_GOT_ALIGN.
16276 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
16277 GRUB_IA64_DL_TRAMP_ALIGN.
16278
119d11c8
VS
162792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 Replace grub_fatal with normal errors in i386 linux loader.
16282
16283 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
16284 (allocate_pages): Check find_efi_mmap_size return value.
16285 (grub_e820_add_region): Return error.
16286 (grub_linux_boot): Check mmap return value.
16287
6e0632e2
VS
162882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16289
16290 * grub-core/commands/acpihalt.c: Gettextized.
16291 * grub-core/commands/cacheinfo.c: Likewise.
16292 * grub-core/commands/cmp.c: Likewise.
16293 * grub-core/commands/efi/loadbios.c: Likewise.
16294 * grub-core/commands/gptsync.c: Likewise.
16295 * grub-core/commands/ieee1275/suspend.c: Likewise.
16296 * grub-core/commands/legacycfg.c: Likewise.
16297 * grub-core/commands/memrw.c: Likewise.
16298 * grub-core/commands/minicmd.c: Likewise.
16299 * grub-core/commands/parttool.c: Likewise.
16300 * grub-core/commands/time.c: Likewise.
16301 * grub-core/commands/videoinfo.c: Likewise.
16302 * grub-core/disk/geli.c: Likewise.
16303 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
16304 * grub-core/disk/luks.c: Likewise.
16305 * grub-core/disk/lvm.c: Likewise.
16306 * grub-core/font/font_cmd.c: Likewise.
16307 * grub-core/fs/zfs/zfscrypt.c: Likewise.
16308 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16309 * grub-core/gfxmenu/view.c: Likewise.
16310 * grub-core/kern/emu/hostdisk.c: Likewise.
16311 * grub-core/kern/emu/main.c: Likewise.
16312 * grub-core/kern/emu/misc.c: Likewise.
16313 * grub-core/kern/emu/mm.c: Likewise.
16314 * grub-core/kern/mips/arc/init.c: Likewise.
16315 * grub-core/kern/mips/loongson/init.c: Likewise.
16316 * grub-core/kern/partition.c: Likewise.
16317 * grub-core/lib/i386/halt.c: Likewise.
16318 * grub-core/lib/mips/arc/reboot.c: Likewise.
16319 * grub-core/lib/mips/loongson/reboot.c: Likewise.
16320 * grub-core/loader/i386/pc/chainloader.c: Likewise.
16321 * grub-core/loader/i386/xnu.c: Likewise.
16322 * grub-core/loader/multiboot.c: Likewise.
16323 * grub-core/net/bootp.c: Likewise.
16324 * grub-core/net/net.c: Likewise.
16325 * grub-core/normal/term.c: Likewise.
16326 * grub-core/partmap/bsdlabel.c: Likewise.
16327 * grub-core/parttool/msdospart.c: Likewise.
16328 * grub-core/term/gfxterm.c: Likewise.
16329 * grub-core/term/terminfo.c: Likewise.
16330 * grub-core/video/i386/pc/vbe.c: Likewise.
16331 * util/grub-menulst2cfg.c: Likewise.
16332 * util/grub-mkdevicemap.c: Likewise.
16333 * util/grub-mklayout.c: Likewise.
16334 * util/grub-mkrelpath.c: Likewise.
16335 * util/grub-script-check.c: Likewise.
16336 * util/ieee1275/grub-ofpathname.c: Likewise.
16337 * util/resolve.c: Likewise.
16338
073aa7a9
VS
163392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16340
16341 Support %1$d syntax.
16342
16343 * tests/printf_unit_test.c: New file.
16344 * Makefile.util.def (printf_test): New test.
16345 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
16346
c76b5417
VS
163472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16348
16349 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
16350 fix.
16351
df067ad1
VS
163522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16353
16354 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
16355 dprintf.
16356 * grub-core/font/font.c (grub_font_load): Likewise.
16357
5b289bc5
VS
163582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16359
16360 * util/grub-macho2img.c: Add comment concerning gettext.
16361 * grub-core/lib/legacy_parse.c: Likewise.
16362
c1860f87
VS
163632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16364
16365 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
16366 (grub_xvasprintf): Likewise.
16367
d35d0d37
VS
163682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16369
16370 Add const keyword to grub_env_get and gettextize week days.
16371
16372 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
16373 (grub_read_hook_datetime): Return const char *.
16374 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
16375 updated.
16376 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16377 Mark for gettext.
16378 (grub_get_weekday_name): Return const char *. Call gettext.
16379 * grub-core/script/argv.c (grub_script_argv_append): Receive const
16380 char * and len as the argument. All users updated.
16381 (grub_script_argv_split_append): Receive const char *.
16382 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
16383 * include/grub/env.h (grub_env_get): Likewise.
16384 (grub_env_read_hook_t): Return const char *.
16385 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
16386 (grub_script_argv_split_append): Likewise.
16387
9aed8a71
VS
163882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16389
16390 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
16391
067fdf00
VS
163922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16393
16394 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
16395 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
16396
a8bd9d39
VS
163972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16398
16399 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
16400 Fix prototype.
16401
f7ce5baf
VS
164022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16403
16404 Fix mips compilation.
16405
16406 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
16407 normal decoder.
16408 (hashes): Use in embed decoder as well (for sizes).
16409 (dec_stream_header): Fix embed decompressor logic.
16410 (dec_stream_footer): Likewise.
16411
9bb182f3
VS
164122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16413
16414 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
16415 an error and not a fatal on unrecognised relocation types.
16416
63a9e6f6
VS
164172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16418
16419 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16420 Issue error rather than printf on unknown arguments.
16421
4c458569
VS
164222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16423
16424 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
16425 Make buf a const.
16426
e2d22baf
VS
164272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16428
16429 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
16430 Fix module name.
16431
53dc8590
VS
164322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16433
16434 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
16435 leftover debug printf.
16436
6c189294
VS
164372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16438
16439 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
16440
f7688369
VS
164412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16442
16443 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
16444 A stylistic fix.
16445
11a775a3
VS
164462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16447
16448 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
16449
33f784e8
SL
164502011-11-10 Shea Levy <slevy@tieronedesign.com>
16451
16452 Allow all modules to perform serial IO
16453
16454 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
16455 * include/grub/serial.h (grub_serial_port_configure): New inline
16456 function.
16457 (grub_serial_port_fetch): Likewise.
16458 (grub_serial_port_put): Likewise.
16459 (grub_serial_port_fini): Likewise.
16460 (grub_serial_find): New proto.
16461
f6276525
VS
164622011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16463
16464 Put symlink at the end of the node and fix a potential
16465 memory corruption.
16466
16467 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
16468 Make symlink into an array.
16469 (set_rockridge): Set have_symlink and alloc_dirents.
16470 (grub_iso9660_read_symlink): Use new layout.
16471 (grub_iso9660_iterate_dir): Fix memory corruption.
16472 Use new layout.
16473 (grub_iso9660_dir): Set have_symlink.
16474 (grub_iso9660_open): Likewise.
16475
c3591189
VS
164762011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16477
16478 Remove local keyword.
16479
16480 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
16481 (version_test_gt): Likewise.
16482 (version_find_latest): Likewise.
16483 (gettext_printf): Likewise.
16484 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
16485
cb544caa
VS
164862011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
16489
45bd824d
VS
164902011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16491
16492 Fix ZFS memory and resource leaks.
16493
16494 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
16495 All users updated.
16496 Free type on exit.
16497 (fill_vdev_info): New parameter inserted. All users updated.
16498 (check_pool_label): Likewise.
16499 (scan_disk): Likewise.
16500 (scan_devices): Close non-inserted disks.
16501 (fzap_iterate): Free l.
16502 (unmount_device): Free children descripto memory.
16503
ad9a2f44
VS
165042011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16505
16506 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
16507 argument (access out of bounds).
16508
6b68db81
VS
165092011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16510
16511 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
16512 >= 6 drives.
16513
28840fda
VS
165142011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16515
16516 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
16517 Fix declaration.
16518
8a5a3a5b
VS
165192011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16520
16521 Fix several memory leaks.
16522
16523 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
16524 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
16525 (grub_cpio_dir): Likewise.
16526 * grub-core/fs/fat.c (grub_fat_label): Likewise.
16527 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
16528 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
16529 (grub_romfs_label): Likewise.
16530 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
16531 (squash_unmount): New function.
16532 (grub_squash_dir): Fix memory leak.
16533 (grub_squash_open): Likewise.
16534 (grub_squash_read): Likewise.
16535 (grub_squash_mtime): Likewise.
16536 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
16537 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
16538 * util/grub-fstest.c (fstest): Likewise.
16539
57b01250
VS
165402011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16541
16542 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
16543 avoid accessing beyond the array.
16544
19e81ba7
VS
165452011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16546
16547 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
16548
52b656c0
VS
165492011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16550
16551 Several AFFS fixes.
16552
16553 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
16554 (GRUB_AFFS_FLAG_FFS): Removed.
16555 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
16556 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
16557 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
16558 (grub_fshelp_node): Make block 32-bit.
16559 Add block_cache and last_block_cache.
16560 (grub_affs_read_block): Fill and use block cache.
16561 (grub_affs_read_file): Removed.
16562 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
16563 boot block.
16564 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
16565 safety.
16566 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
16567 space.
16568 (grub_affs_close): Free block cache.
16569 (grub_affs_read): Use grub_fshelp_read_file directly.
16570
438a746a
VS
165712011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16572
16573 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
16574 with no error set.
16575
49a45021
VS
165762011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16577
16578 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
16579 used variable.
16580 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16581 Likewise.
16582
3ae17eb8
VS
165832011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16584
16585 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
16586
16587 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
16588 byteswap when needed.
16589
27610c38
VS
165902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16591
16592 Fix FreeBSD compilation.
16593
16594 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
16595 to avoid circular dependency.
16596 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
16597 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
16598 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
16599
4a19b601
VS
166002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 Fix ZFS crypto error types.
16603
16604 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
16605 (grub_gcm_decrypt): Likewise.
16606 (grub_zfs_load_key_real): Fix error code type. Handle possible error
16607 from PBKDF2.
16608
958ee221
VS
166092011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16610
16611 Illumos support.
16612
16613 * Makefile.util.def (10_illumos): New script.
16614 * configure.ac: Set COND_HOST_ILLUMOS.
16615 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
16616 Support Illumos calls.
16617 (find_partition_start) [__sun__]: Likewise.
16618 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
16619 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
16620 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
16621 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
16622 device.
16623 * util/grub-probe.c (probe) [__sun__]: Do character check.
16624 * util/grub.d/10_illumos.in: New file.
16625
cac14fb6
VS
166262011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16627
16628 Support escaped commas in hostdisk.
16629
16630 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
16631 (find_grub_drive): Use unescape_cmp.
16632 (make_device_name): Escape commas.
16633
78e08dc3
VS
166342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16635
16636 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
16637
9f421dd1
VS
166382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16639
16640 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
16641 variable.
16642
ed64e9e2
VS
166432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16644
16645 Support trampoline jumps on powerpc.
16646
16647 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
16648 __ia64__ path.
16649 (grub_dl_load_segments): Set mod->sz.
16650 (grub_dl_flush_cache): Flush whole space occupied by module, not just
16651 segments.
16652 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
16653 (jump): Likewise.
16654 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
16655 function.
16656 (trampoline): New struct.
16657 (trampoline_template): New const.
16658 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
16659 * include/grub/dl.h (grub_dl): Add sz element.
16660 [__powerpc__]: Follow __ia64__.
16661 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
16662 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
16663 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
16664 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
16665
3084ede4
VS
166662011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16667
16668 ZFS crypto support.
16669
16670 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
16671 * grub-core/Makefile.core.def (zfscrypt): New module.
16672 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
16673 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
16674 it. All users updated.
16675 (grub_zfs_decrypt): New var.
16676 (grub_zfs_load_key): Likewise.
16677 (zio_checksum_functions): Add SHA256+MAC.
16678 (zio_checksum_verify): Handle incomplete comparison due to MAC.
16679 (zio_read): Handle encrypted blocks.
16680 (zap_verify): Remove incorrect check.
16681 (fzap_iterate): Handle non-standard fzap.
16682 (zap_iterate): Likewise.
16683 (zap_iterate_u64): New function.
16684 (dnode_get_fullpath): Load keys.
16685 * grub-core/fs/zfs/zfscrypt.c: New file.
16686 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
16687 (grub_crypto_ecb_encrypt): Make input const.
16688 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
16689 (grub_crypto_ecb_encrypt): Make input const.
16690 (GRUB_CIPHER_AES): New macro.
16691 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
16692 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
16693 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
16694 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
16695 prefix. All users updated.
16696 (grub_zfs_add_key): New proto.
16697 (grub_zfs_decrypt): Likewise.
16698 (grub_zfs_load_key): Likewise.
16699 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
16700 * util/grub-fstest.c (options): Add -K option.
16701 (argp_parser): Likewise.
16702
b632b404
VS
167032011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16704
16705 Support zle compression on ZFS.
16706
16707 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
16708 (decomp_table): Add zle.
16709 * include/grub/zfs/zio.h (zio_compress): Add zle.
16710
c7ba4f69
VS
167112011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16712
16713 Support BtrFS embedding.
16714
16715 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
16716 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
16717 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
16718 * util/grub-setup.c (setup): Use fs embedding if available.
16719 Add additional sanity check.
16720
455377d9
VS
167212011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16722
16723 * util/grub-install.in: Fix condition for config_opt.
16724
c2fd16ca
VS
167252011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16726
16727 Support third redundancy strip on raidz3.
16728
16729 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
16730 Return error on singularity. All users updated.
16731 (read_device): Don't stop on 3rd failure on raidz3.
16732
8622923b
VS
167332011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16734
16735 Support case-insensitive ZFS subvolumes.
16736
16737 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
16738 All users updated.
16739 (zap_hash): Likewise.
16740 (name_cmp): New function.
16741 (zap_leaf_array_equal): New parameter case_insensitive.
16742 All users updated.
16743 (zap_leaf_lookup): Likewise.
16744 (fzap_lookup): Likewise.
16745 (zap_lookup): Likewise.
16746 (dnode_get_path): New parameter case_insensitive. Retrieve case
16747 sensitiviness of a volume. All users updated.
16748 (dnode_get_fullpath): New parameter case_insensitive.
16749 All users updated.
16750 (grub_zfs_dir): Set info.case_insensitiveness.
16751
95f2e860
VS
167522011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16753
16754 Support second redundancy strip on raidz(2,3).
16755
16756 * grub-core/fs/zfs/zfs.c (powx): New array.
16757 (powx_inv): Likewise.
16758 (poly): New const.
16759 (xor_out): New function.
16760 (gf_mul): Likewise.
16761 (recovery): Likewise.
16762 (read_device): Use second redundancy strip.
16763
11ee4389
VS
167642011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16765
16766 Use a power of generator representation of GF(256) multiplication group
16767 to save space time and complexity.
16768
16769 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
16770 (raid6_table2): Likewise.
16771 (powx): New array.
16772 (powx_inv): Likewise.
16773 (poly): New const.
16774 (grub_raid_block_mul): Replace with ...
16775 (grub_raid_block_mulx): ...this.
16776 (grub_raid6_init_table): Rewritten.
16777 (grub_raid6_recover): Use power of generator representation.
16778
09e2763f
VS
167792011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16780
16781 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
16782 for the right device.
16783
8bec9a28
VS
167842011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16785
16786 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
16787 expected by grub-mkimage and it's more clear since there is no implicit
16788 padding.
16789
dbd3a32e
VS
167902011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16791
16792 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
16793 disk.
16794 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16795
182c872a
PMH
167962011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
16797
16798 * util/grub-mkrescue.in: Fix handling xorriso option.
16799
1e51cabd
VS
168002011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16801
16802 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
16803 NULL.
16804
9cc3581d 168052011-11-03 crocket <crockabiscuit@gmail.com>
16806
16807 * util/grub.d/10_linux.in: Add Slackware initrd naming.
16808
158dc1ea
VS
168092011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16810
16811 XZ CRC64 and SHA256 support.
16812
16813 * Makefile.util.def (libgrubmods): Add crc64.c.
16814 * grub-core/Makefile.core.def (crc64): New module.
16815 * grub-core/lib/crc64.c: New file.
16816 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
16817 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
16818 Fix the type.
16819 (MAX_HASH_SIZE): New define.
16820 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
16821 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
16822 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16823 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16824 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
16825 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
16826 Handle non-crc32 hashes.
16827 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
16828 (dec_stream_header): Handle non-crc32 hashes.
16829 (dec_stream_footer): Likewise.
16830 (dec_block_header): Likewise.
16831 (dec_main): Likewise.
16832 (xz_dec_init): Likewise.
16833 (xz_dec_reset): Likewise.
16834 (xz_dec_end): Likewise.
16835 * util/import_gcry.py: Add CRC64 line.
16836
9d9b3d2f
VS
168372011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16838
16839 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
16840 as well.
16841
7d0ac931
VS
168422011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16843
16844 Make reiserfs label retrieval similar to other *_label functions.
16845
16846 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
16847 (REISERFS_MAX_LABEL_LENGTH): Removed.
16848 (REISERFS_LABEL_OFFSET): Likewise.
16849 (grub_reiserfs_label): Rewritten.
16850
168512011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16852
16853 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
16854 field.
16855
cf5ba824
VS
168562011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16857
16858 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
16859
17744004
VS
168602011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16861
16862 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
16863 drive failure on both raidz and raidz2.
16864
aca5aefc
VS
168652011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16866
16867 Fix RAIDZ(2) for >= 5 devices.
16868
16869 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
16870 asize argument. All users updated.
16871
ce8ca56e
VS
168722011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16873
16874 Fix RAIDZ(2).
16875
16876 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
16877 (fill_vdev_info_real): Set ashift.
16878 (read_device): Rewrite RAIDZ part based on reverse engineering.
16879
7c01e783
VS
168802011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
16883 don't report potentially unavialiable fields in debug output.
16884 (find_path): Fix double-free and memory leak.
16885
ce109e84
VS
168862011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16887
16888 Read label on UFS1.
16889
16890 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
16891 (grub_ufs_fs): Always set .label.
16892
87661123
VS
168932011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 Use shifts in UFS.
16896
16897 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
16898 (grub_ufs_data): New field log2_blksz.
16899 (grub_ufs_read_file): Use shifts.
16900 (grub_ufs_mount): Check block size and logarithm it.
16901
46bc1dc2
VS
169022011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
16905 long symlinks.
16906
19ee2987
VS
169072011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16908
16909 Handle symlinks and long names on tar and cpio.
16910
16911 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
16912 (ATTR_FILE): Likewise.
16913 (ATTR_DIR): Likewise.
16914 (ATTR_LNK): Likewise.
16915 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
16916 (grub_cpio_find_file): Fill mode, handle linkname field as well as
16917 L and K entries.
16918 (grub_cpio_mount): Zero-fill data.
16919 (handle_symlink): New function.
46bc1dc2
VS
16920 (grub_cpio_dir): Handle symlinks.
16921 (grub_cpio_open): Likewise.
16922 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 16923
c83a08d8
VS
169242011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16925
16926 Fix iso9660 filename limitations and fix memory leaks.
16927
16928 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
16929 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
16930
45cdd3ea
VS
169312011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16932
16933 Fix JFS file name length limitations.
16934
16935 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
16936 (grub_jfs_diropen): Fix maximum filename length.
16937 (grub_jfs_getent): Fix filename length.
16938 (grub_jfs_lookup_symlink): Fix size checks.
16939
94ef05c2
VS
169402011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16941
16942 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
16943 string.
16944
785ab8c7
VS
169452011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16946
eb0b6b45
VS
16947 Leverage BFS implementation to read AFS.
16948
16949 * Makefile.util.def (libgrubmods): Add afs.c.
16950 * grub-core/Makefile.core.def (afs): New module
16951 * grub-core/fs/afs.c: New file.
16952 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
16953
169542011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16955
16956 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 16957
c4a1628f
VS
169582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16959
16960 * grub-core/fs/bfs.c: Run indent.
16961
5825b379
VS
169622011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16963
16964 BFS implementation based on the specification.
16965
16966 * grub-core/fs/bfs.c: New file.
16967 * Makefile.util.def (libgrubmods): Add bfs.c.
16968 * grub-core/Makefile.core.def (bfs): New module.
16969
42b2a706
VS
169702011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16971
16972 * util/grub-fstest.c (cmd_cp): Clarify error message.
16973 (cmd_cmp): Likewise.
16974
61b99bfc
YB
169752011-10-30 Yves Blusseau <blusseau@zetam.org>
16976
16977 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
16978 and befs_be.
16979
faba3d16
VS
169802011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
16981
16982 Remove afs and befs because of copyright problem.
16983
16984 * grub-core/fs/afs.c: Removed.
16985 * grub-core/fs/afs_be.c: Removed.
16986 * grub-core/fs/befs.c: Removed.
16987 * grub-core/fs/befs_be.c: Removed.
16988 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
16989 * grub-core/Makefile.core.def (afs): Removed.
16990 (afs_be): Likewise.
16991 (befs): Likewise.
16992 (befs_be): Likewise.
16993
c39224b0
VS
169942011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16995
16996 Prefer rockridge over Joliet.
16997
16998 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
16999 to ...
17000 (set_rockridge): ... here.
17001 (grub_iso9660_mount): Check rockridge on the primary label when
17002 discovering. Ignore Joliet if Rockridge is present.
17003
e551115a
VS
170042011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17005
17006 Use shifts in nilfs2.
17007
17008 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
17009 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
17010 (grub_nilfs2_palloc_entries_per_group): Replace with ...
17011 (grub_nilfs2_log_palloc_entries_per_group): ... this.
17012 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
17013 (grub_nilfs2_entries_per_block): Replaced with ...
17014 (grub_nilfs2_log_entries_per_block_log): ... this.
17015 (grub_nilfs2_blocks_per_group): Replaced with ...
17016 (grub_nilfs2_blocks_per_group_log): ... this.
17017 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
17018 (grub_nilfs2_blocks_per_desc_block_log): ... this.
17019 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
17020 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
17021 (grub_nilfs2_palloc_entry_offset): Replaced ...
17022 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
17023 (grub_nilfs2_dat_translate): Use shifts.
17024 (grub_nilfs2_read_inode): Likewise.
17025 (GRUB_MOD_INIT): Ensure that logs are correct.
17026
564dd58c
VS
170272011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17028
17029 Use shifts in minix filesystem.
17030
17031 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
17032 (GRUB_MINIX_ZONE2SECT): Likewise.
17033 (grub_minix_data): Replace block_size with log_block_size.
17034 (grub_minix_read_file): Use shifts.
17035 (grub_minix_mount): Check block size and take a logarithm.
17036
ed9ba06d
VS
170372011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17038
17039 Use shifts in squash4.
17040
17041 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
17042 (squash_mount): Check block size and take logarithm.
17043 (direct_read): Use shifts.
17044
ad03fe76
VS
170452011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17046
17047 Correct befs block counting logic.
17048
17049 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
17050 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
17051 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
17052 (grub_afs_read_inode): Use block_shift.
17053 (RANGE_SHIFT): New definition.
17054 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
17055 unexpected conditions, use shifts and appropriate types.
17056 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
17057
6563f63d
VS
170582011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17059
17060 * grub-core/disk/raid.c (scan_devices): Check partition.
17061 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
17062
5b1ae25f
VS
170632011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17064
17065 Support BFS (befs) UUID.
17066
17067 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
17068 (grub_afs_small_data_element_header): New struct.
17069 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
17070 (grub_afs_read_attribute) [MODE_BFS]: New function.
17071 (grub_afs_iterate_dir): Allocate for complete inode.
17072 (grub_afs_mount): Likewise.
17073 (grub_afs_uuid) [MODE_BFS]: New function.
17074 (grub_afs_fs) [MODE_BFS]: Add .uuid.
17075
f8d82408
VS
170762011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
17079 (zfs_unmount): Fix memory leak.
17080
5773fb64
VS
170812011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 Support NTFS reparse points.
17084
17085 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
17086 (symlink_descriptor): New struct.
17087 (grub_ntfs_read_symlink): New function.
17088 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
17089 (grub_ntfs_open): Likewise.
17090
91c3fdde
VS
170912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17092
17093 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
17094
3be82e10
VS
170952011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17096
17097 fstest xnu_uuid subcommand.
17098
17099 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
17100 grub-core/commands/xnu_uuid.c.
17101 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
17102 (fstest): Handle xnu_uuid.
17103 (options): Document xnu_uuid.
17104 (argp_parser): Parse xnu_uuid.
17105
8e32442e
VS
171062011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17107
17108 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
17109 -l argument. Add newline at the end if printing.
17110 (GRUB_MOD_INIT): Document -l.
17111
52a05075
VS
171122011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17113
17114 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
17115
1869edb5
VS
171162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17117
17118 ZFS multi-device and version 33 support.
17119
17120 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
17121 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
17122 (grub_zfs_data): Add multidev-ice-related fields.
17123 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
17124 (dva_get_offset): Make dva const.
17125 (zfs_fetch_nvlist): New function.
17126 (fill_vdev_info_real): Likewise.
17127 (fill_vdev_info): Likewise.
17128 (check_pool_label): Likewise.
17129 (scan_disk): Likewise.
17130 (scan_devices): Likewise.
17131 (read_device): Likewise.
17132 (read_dva): Likewise.
17133 (zio_read_gang): Use read_dva.
17134 (zio_read_data): Likewise.
17135 (zap_leaf_lookup): Add missing endian conversion.
17136 (zap_verify): Add missing endian conversion. All users updated.
17137 (fzap_lookup): Likewise.
17138 (fzap_iterate): Likewise.
17139 (dnode_get_path): Handle SA bonus.
17140 (nvlist_find_value): Make input const. All users updated.
17141 (unmount_device): New function.
17142 (zfs_unmount): Use unmount_device.
17143 (zfs_mount): Use scan_disk.
17144 (zfs_mtime): New function.
17145 (grub_zfs_open): Handle system attributes.
17146 (fill_fs_info): Likewise.
17147 (grub_zfs_dir): Likewise.
17148 (grub_zfs_fs): Add mtime.
17149 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
17150 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
17151 (SA_MTIME_OFFSET): Likewise.
17152 (SA_SYMLINK_OFFSET): Likewise.
17153 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
17154 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
17155 (fstest): Support zfsinfo.
17156 (argp_parser): Likewise.
17157
186b4028
VS
171582011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17159
17160 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
17161 error.
17162
171632011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
17164
17165 ZFS fixes.
17166
17167 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
17168 sharing the same block. Iterate over correct number of indices.
17169 (dnode_get_path): Handle symlinks correctly.
17170
c0584900
VS
171712011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17172
17173 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
17174
67e2bd71
VS
171752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17176
17177 Read label on HFS+.
17178
17179 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
17180 (grub_hfsplus_btree_search): Fix types.
17181 (grub_hfsplus_label): Implement.
17182
e9cc6b7b
VS
171832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17184
17185 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
17186
19832ddb
VS
171872011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
17190
66b40850
VS
171912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17192
17193 Fix symlink handling on iso9660.
17194
17195 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
17196 All users updated.
17197 (grub_iso9660_susp_iterate): Accept zero-size iterate.
17198 (grub_iso9660_read_symlink): Moved most of code ...
17199 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
17200
db821363
VS
172012011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17202
17203 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17204 Use union to avoid breaking strict-aliasing rules.
17205
e1211949
VS
172062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17207
17208 Support multi-extent iso files.
17209
17210 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
17211 Add node.
17212 (grub_fshelp_node): Revamp. All users updated.
17213 (FLAG_*): New enum.
17214 (read_node): New function.
17215 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
17216 All users updated.
17217 (grub_iso9660_mount): Don't attempt to read sua when there is none.
17218 (get_node_size): New function.
17219 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
17220 entries.
17221 Fix memory leak on . and ..
17222 (grub_iso9660_read): Use read_node.
17223 (grub_iso9660_close): Free node.
17224
d4888031
VS
172252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17226
17227 Fix tar 4G limit and handle paths containing dot.
17228
17229 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
17230 (canonicalize): New function.
17231 (grub_cpio_find_file): Use canonicalize. Store offs in
17232 grub_disk_addr_t.
17233 (grub_cpio_dir): Use grub_disk_addr_t.
17234 (grub_cpio_open): Likewise.
17235
9f12e664
VS
172362011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17237
17238 Fix handling of uncompressed blocks on squashfs and break 4G limit.
17239
17240 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
17241 unused flags.
17242 (grub_squash_inode): Add long_file and block_size.
17243 (grub_squash_cache_inode): New struct.
17244 (grub_squash_dirent): Make types into enum.
17245 (SQUASH_TYPE_LONG_REGULAR): New type.
17246 (grub_squash_frag_desc): Add field size.
17247 (SQUASH_BLOCK_FLAGS): New enum.
17248 (grub_squash_data): Use grub_squash_cache_inode.
17249 (grub_fshelp_node): Make ino_chunk 64-bit.
17250 (read_chunk): Minor argument change. All users updated.
17251 (squash_mount): Use correct le_to_cpu.
17252 (grub_squash_open): Handle LONG_REGULAR.
17253 (direct_read): New function.
17254 (grub_squash_read_data): Handle blocks correctly.
17255
9f326fba
VS
172562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17257
17258 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
17259
f4d9b64b
VS
172602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17261
17262 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
17263
5bbd28b8
VS
172642011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17265
17266 Fix 2G limit on ZFS.
17267
17268 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
17269 types.
17270 (uberblock_verify): Likewise.
17271 (dmu_read): Likewise.
17272 (grub_zfs_read): Likewise. Remove invalid cast.
17273
68c72069
VS
172742011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17275
17276 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
17277 (grub_jfs_blkno): Fix incorrect shift.
17278 (grub_jfs_read_file): Use more appropriate types.
17279
6e536dc8
VS
172802011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17281
17282 Support triple indirect on minix2 and minix3.
17283
17284 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
17285 Declare triple_indir_zone.
17286 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
17287 indirect.
17288
e0864e7a
VS
172892011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17290
17291 Minix FS fixes.
17292
17293 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
17294 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
17295 Rename ctime to mtime. All users updated.
17296 (grub_minix_get_file_block): Fix types and double indirect computations.
17297
89481cab
VS
172982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
17301 if no label is found.
17302 (grub_fat_iterate_dir): Fix file size type.
17303 (grub_fat_iterate_dir): Likewise.
17304
f646e143
VS
173052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
17308 save some space.
17309 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17310 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17311
534d769e
VS
173122011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17313
17314 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
17315
e084ba18
VS
173162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17317
17318 * util/import_gcry.py: Accept space between # and include.
17319
3471ecdf
VS
173202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17321
17322 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
17323
124df5f6
VS
173242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17325
17326 Fine grainely disable warnings on lexer. Remove Wno-error on it.
17327
17328 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
17329 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
17330 yylex_strncpy.
17331 * grub-core/script/yylex.l: Add fine-grained #pragma.
17332
4defb8d5
VS
173332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17334
17335 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
17336 New inline function.
17337 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
17338 Likewise.
17339 (memset) [GRUB_UTIL]: Likewise.
17340 (memcmp) [GRUB_UTIL]: Likewise.
17341
4e94ae65
VS
173422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17343
17344 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
17345 inline function rather than a define.
17346
18c575e5
VS
173472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 * util/grub-setup.c: Add missing include.
17350
f8bc22a8
VS
173512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17352
17353 * util/ieee1275/grub-ofpathname.c: Add missing include.
17354
3ce69fc9
VS
173552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17356
17357 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
17358 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
17359 Likewise.
17360
d1e293bb
VS
173612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17362
17363 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
17364 grub_memcmp usage.
17365
7a5c54a4
VS
173662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17367
17368 * util/grub-install.in: Add datarootdir as per automake manual
17369 suggestion.
17370 * util/grub-mknetdir.in: Likewise.
17371
173722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
17373
17374 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
17375 suggestion.
17376 * util/grub.d/10_kfreebsd.in: Likewise.
17377 * util/grub.d/10_linux.in: Likewise.
17378 * util/grub.d/10_netbsd.in: Likewise.
17379 * util/grub.d/10_windows.in: Likewise.
17380 * util/grub.d/20_linux_xen.in: Likewise.
17381
766f7d08
VS
173822011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
17383
17384 Remove redundant grub_kernel_image_size.
17385
17386 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
17387 _edata and _start.
17388 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
17389 the small code. It moves it only by few bytes but simplifies the code.
17390 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
17391 _start.
17392 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
17393 (grub_kernel_image_size): Removed.
17394 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
17395 (grub_kernel_image_size): Removed.
17396 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
17397 compiled with Apple toolchain.
17398 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
17399 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
17400 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
17401 (grub_total_module_size): Likewise.
17402 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
17403 Removed.
17404 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
17405 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
17406 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
17407 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
17408 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
17409 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
17410 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
17411 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
17412 Removed.
17413 (grub_total_module_size): Removed.
17414 * util/grub-mkimage.c (image_target_desc): Remove image_size.
17415 (image_targets): Likewise.
17416 Set .compressed_size to no field on sparc.
17417 (generate_image): Remove kernel_image_size handling.
17418
fcf1d672
SJ
174192011-10-19 Szymon Janc <szymon@janc.net.pl>
17420
17421 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
17422 NULL pointer dereference.
17423
de9c615e
VS
174242011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
17427 done with a dedicated section.
17428
17429 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
17430 Ensure the correct position of boot_path.
17431 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
17432 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
17433 other fields.
17434 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
17435 * include/grub/boot.h: Removed. All references removed.
17436 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17437 Removed.
17438 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
17439
e55599dc
VS
174402011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
17443 name.
17444
36dd20ad
VS
174452011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17446
17447 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
17448
f8f72eb8
VS
174492011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17450
17451 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17452 Don't add the bogus brackets.
17453
a374751b
VS
174542011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17455
17456 ExFAT support.
17457
17458 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
17459 * grub-core/Makefile.core.def (exfat): New module.
17460 * grub-core/fs/exfat.c: New file.
17461 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
17462 (GRUB_FAT_ATTR_*): Make into an enum.
17463 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
17464 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
17465 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
17466 (GRUB_FAT_MAXFILE): Removed.
17467 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
17468 (grub_current_fat_bpb_t): New type.
17469 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
17470 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
17471 (grub_fat_dir_node_t): New type.
17472 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
17473 (fat_log2) [MODE_EXFAT]: Removed.
17474 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
17475 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
17476 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
17477 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
17478 (grub_fat_label) [MODE_EXFAT]: New function.
17479 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
17480 reserved_first_sector to 0.
17481
544c2487
VS
174822011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17483
17484 Move grub_reboot out of the kernel.
17485
17486 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
17487 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
17488 * grub-core/lib/efi/reboot.c: ... here.
17489 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
17490 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17491 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
17492 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
17493 * grub-core/lib/i386/reboot_trampoline.S: ... here.
17494 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
17495 * grub-core/lib/ieee1275/reboot.c: ... here.
17496 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
17497 * grub-core/lib/mips/arc/reboot.c: ... here.
17498 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
17499 * grub-core/lib/mips/loongson/reboot.c: ...here.
17500 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
17501 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
17502 * include/grub/emu/misc.h (grub_reboot): New function declaration.
17503 * include/grub/i386/reboot.h: New file.
17504 * include/grub/mips/loongson/ec.h: Fix includes.
17505 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
17506 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
17507 * grub-core/lib/i386/reboot.c: New file.
17508
a97501d2
VS
175092011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
17510
17511 Make grub_prefix into module to fix the arbitrary limit and save
17512 some space.
17513
17514 * grub-core/kern/emu/main.c (grub_prefix): Removed.
17515 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
17516 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
17517 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
17518 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
17519 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
17520 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
17521 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
17522 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17523 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
17524 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
17525 * include/grub/ia64/efi/kernel.h: Removed.
17526 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
17527 (grub_prefix): Removed.
17528 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
17529 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
17530 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
17531 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
17532 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
17533 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
17534 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
17535 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
17536 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
17537 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
17538 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17539 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17540 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17541 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17542 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
17543 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
17544 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
17545 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17546 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
17547 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
17548 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
17549 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
17550 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
17551 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
17552 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
17553 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
17554 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
17555 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
17556 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
17557 from module.
17558 * util/grub-mkimage.c (image_target_desc): Removed prefix and
17559 prefix_end.
17560 (image_targets): Likewise.
17561 (generate_image): Put prefix as a module.
17562
39705fad
VS
175632011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17564
17565 Replace grub_module_iterate with FOR_MODULES.
17566
17567 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
17568 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
17569 (grub_efi_modules_addr): ...this.
17570 * grub-core/kern/efi/init.c (grub_modbase): New variable.
17571 (grub_efi_init): Set grub_modbase.
17572 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
17573 (grub_modbase): New variable.
17574 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
17575 (grub_modbase): New variable.
17576 (grub_machine_init): Set grub_modbase.
17577 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
17578 (grub_modbase): New variable.
17579 (grub_machine_init): Set grub_modbase.
17580 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
17581 (grub_modbase): New variable.
17582 (grub_machine_init): Set grub_modbase.
17583 * grub-core/kern/main.c (grub_module_iterate): Remove.
17584 (grub_modules_get_end): Use grub_modbase.
17585 (grub_load_modules): Use FOR_MODULES.
17586 (grub_load_config): Likewise.
17587 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
17588 (grub_modbase): New variable.
17589 (grub_machine_init): Set grub_modbase.
17590 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
17591 (grub_modbase): New variable.
17592 (grub_machine_init): Set grub_modbase.
17593 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
17594 Removed.
17595 (grub_modbase): New variable.
17596 (grub_machine_init): Set grub_modbase.
17597 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
17598 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
17599 (grub_module_iterate): Likewise.
17600 (grub_modbase): New variable declaration.
17601 (FOR_MODULES): New macro.
17602
2afb7f6c
VS
176032011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17604
17605 * configure.ac: Check for __ctzdi2 and __ctzsi2.
17606 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
17607
366e34fa
VS
176082011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17609
17610 Fix few obvious type discrepancies.
17611
17612 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
17613 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
17614 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
17615 variable.
17616 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
17617 and connected types.
17618 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
17619 offset.
17620 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
17621 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
17622 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
17623 and connected types.
17624
177b960e
VS
176252011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17626
17627 Fix python 3.x incompatibilities.
17628
17629 * gentpl.py: Put brackets around print strings.
17630 * util/import_gcry.py: Open explicitly as utf-8.
17631 Use in instead of has_key.
17632
3b619ae1
VS
176332011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17634
17635 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
17636 (GRUB_XFS_INO_AGBITS): Make into inline function.
17637 (GRUB_XFS_INO_INOINAG): Likewise.
17638 (GRUB_XFS_INO_AG): Likewise.
17639 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17640 (GRUB_XFS_EXTENT_OFFSET): Likewise.
17641 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17642 (GRUB_XFS_EXTENT_SIZE): Likewise.
17643 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
17644 (GRUB_XFS_NEXT_DIRENT): Likewise.
17645 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
17646 (grub_xfs_read_file): Fix offset type.
17647
8bcebcb8
RM
176482011-10-15 Robert Millan <rmh@gnu.org>
17649
17650 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
17651
0017e5ef
RM
176522011-10-15 Robert Millan <rmh@gnu.org>
17653
17654 Fix build problem on FreeBSD and GNU/kFreeBSD.
17655
17656 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
17657
d8919552
VS
176582011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17659
17660 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
17661
17662 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
17663 types.
17664 (grub_hfsplus_btree_recoffset): Likewise.
17665 (grub_hfsplus_btree_recptr): Likewise.
17666 (grub_hfsplus_find_block): Likewise.
17667 (grub_hfsplus_btree_search): Likewise.
17668 (grub_hfsplus_read_block): Likewise.
17669 (grub_hfsplus_read_file): Likewise.
17670 (grub_hfsplus_mount): Likewise.
17671 (grub_hfsplus_btree_iterate_node): Likewise.
17672 (grub_hfsplus_btree_search): Likewise.
17673 (grub_hfsplus_iterate_dir): Likewise.
17674 (grub_hfsplus_read): A small code simplification.
17675
c81296b6
VS
176762011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17677
17678 * grub-core/kern/emu/hostdisk.c
17679 (convert_system_partition_to_system_disk): Don't assume that children
17680 of mapper nodes are mapper nodes.
17681
0eb8ffb1
VS
176822011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17683
17684 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
17685 * include/grub/misc.h (grub_isxdigit): New function.
17686 * grub-core/video/colors.c (my_isxdigit): Removed. All users
17687 switched to grub_isxdigit.
17688 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
17689 number starting with a letter.
17690
a98f4a08
RM
176912011-10-09 Robert Millan <rmh@gnu.org>
17692
17693 LVM support for FreeBSD and GNU/kFreeBSD.
17694
17695 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
17696 GNU/kFreeBSD.
17697 (LVM_DEV_MAPPER_STRING): Move from here ...
17698 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
17699 * util/getroot.c: Include `<grub/util/lvm.h>'.
17700 (grub_util_get_dev_abstraction): Enable
17701 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
17702 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
17703 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
17704 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
17705 support it.
17706 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
17707 GNU/kFreeBSD.
17708 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
17709 when LVM abstraction is required for ${GRUB_DEVICE}.
17710
050e8e90
SJ
177112011-10-06 Szymon Janc <szymon@janc.net.pl>
17712
17713 Add support for LZO compression in GRUB:
17714 - import of minilzo library,
17715 - LZO decompression for btrfs,
17716 - lzop files decompression.
17717
17718 * grub-core/io/lzopio.c: New file.
17719 * grub-core/lib/adler32.c: Likewise.
17720 * grub-core/lib/minilzo/lzoconf.h: Likewise.
17721 * grub-core/lib/minilzo/lzodefs.h: Likewise.
17722 * grub-core/lib/minilzo/minilzo.c: Likewise.
17723 * grub-core/lib/minilzo/minilzo.h: Likewise.
17724 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
17725 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
17726 grub-core/lib/minilzo/minilzo.c to common.
17727 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
17728 cflags in cppflags.
17729 * grub-core/Makefile.core.def (btrfs): Likewise.
17730 * grub-core/Makefile.core.def (lzopio): New module.
17731 (adler32): Likewise.
17732 * grub-core/fs/btrfs.c: Include minilzo.h.
17733 (GRUB_BTRFS_COMPRESSION_LZO): New define.
17734 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
17735 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
17736 (grub_btrfs_lzo_decompress): New function.
17737 (grub_btrfs_extent_read): Add support for LZO compression type.
17738 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
17739 (GRUB_USHRT_MAX): Likewise.
17740 (GRUB_UINT_MAX): Likewise.
17741 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
17742 (UINT_MAX): Likewise.
17743 (CHAR_BIT): Likewise.
17744 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
17745 grub-core/lib/posix_wrap/limits.h
17746 (UCHAR_MAX): Likewise.
17747 * include/grub/file.h (grub_file_filter_id): New compression filter
17748 GRUB_FILE_FILTER_LZOPIO.
17749 * include/grub/file.h (grub_file_filter_id): Set
17750 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
17751 * include/grub/types.h (grub_get_unaligned16): New function.
17752 (grub_get_unaligned32): Likewise.
17753 (grub_get_unaligned64): Likewise.
17754 * util/import_gcry.py (cryptolist): Add adler32.
17755
0eb8ffb1
VS
177562011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
17757
17758 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
17759 in perspective decreases the complexity of build system and fixes
17760 compilation right now.
17761
ce79cc99 177622011-10-01 Ales Nesrsta <starous@volny.cz>
17763
17764 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
17765 (fixed problem related to using UHCI with coreboot).
17766
8667a314
BC
177672011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17768
17769 * gentpl.py: Use Autogen macros so that the output template file
17770 (Makefile.tpl) size is reduced.
17771
fc5efcc0
MK
177722011-09-29 Mads Kiilerich <mads@kiilerich.com>
17773
17774 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
17775 extra_dist.
17776
d1ab689d
ML
177772011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17778
17779 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
17780 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
17781
c05de032
ML
177822011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17783
17784 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
17785 _fullpath.
17786
cca7ccd8
ML
177872011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17788
17789 Remove extra declaration of sleep for mingw32.
17790
17791 * util/misc.c (sleep) [__MINGW32__]: Removed.
17792 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
17793
e0b0dc83
GS
177942011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
17795
17796 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
17797 type and packname.
17798 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
17799 Resurrected.
17800 (NETBSD_BTINFO_BOOTWEDGE): New definition.
17801 (grub_netbsd_btinfo_bootwedge): New struct.
17802 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17803 New function.
17804 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
17805
91a1a164
TH
178062011-09-28 Thomas Haller <thomas.haller@fen-net.de>
17807
17808 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
17809 loader.
17810
2ded951e
AB
178112011-09-28 Andreas Born <futur.andy@googlemail.com>
17812
17813 Fix incorrect identifiers in bash-completion.
17814
17815 * util/bash-completion.d/grub-completion.bash.in
17816 (_grub_mkpasswd-pbkdf2): Rename to ...
17817 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
17818 (_grub_script-check): Rename to ...
17819 (_grub_script_check): ... this. All users updated.
17820
69915030
VS
178212011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17822
17823 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
17824 Return 0 if disk isn't biosdisk.
17825
20fd15f9
GS
178262011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17827
17828 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
17829 on NetBSD.
17830 * Makefile.util.def (grub-fstest): Likewise.
17831
1a7d7db9
GS
178322011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17833
17834 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
17835 Get sector size from disk label.
17836
2221ab6c
CW
178372011-09-05 Colin Watson <cjwatson@ubuntu.com>
17838
17839 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
17840 */README* as well as README*.
17841 Reported by: Axel Beckert.
17842
ca51c4a0
VS
178432011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17844
17845 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
17846 case of less than 256 MiB of RAM.
17847
ab80f326
VS
178482011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17849
17850 * grub-core/commands/wildcard.c (make_regex): Handle @.
17851
4155e697
VS
178522011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 * util/grub-install.in: Move cryptodisk logic to appropriate place.
17855
ab178c08
SJ
178562011-08-21 Szymon Janc <szymon@janc.net.pl>
17857
17858 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
17859 AC_LANG_CONFTEST macros.
17860
7dc3c686
SJ
178612011-08-20 Szymon Janc <szymon@janc.net.pl>
17862
17863 Add grub-fstest option to uncompress data for commands.
17864
17865 * util/grub-fstest.c (uncompress): New var.
17866 (options): New option -u.
17867
fe8d4a7b
SJ
178682011-08-20 Szymon Janc <szymon@janc.net.pl>
17869
17870 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
17871 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
17872
a5219af1
SJ
178732011-08-20 Szymon Janc <szymon@janc.net.pl>
17874
17875 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
17876 file type was not recognized correctly (not gzip or corrupted).
17877
f87abff5
VS
178782011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17879
17880 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
17881 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
17882
d94497ea
VS
178832011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17884
17885 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
17886 loongson.
17887 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17888 video_radeon_fuloong2e.
17889 * grub-core/video/radeon_fuloong2e.c: New file.
17890 * include/grub/video.h (grub_video_id_t): Add new ID
17891 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
17892
0d1fd011
VS
178932011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17894
17895 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
17896 define.
17897 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
17898 that PRID matches the detected subplatform and reset the subplatform
17899 if it doesn't.
17900
84beb0ee
VS
179012011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17902
17903 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
17904
1227c133
VS
179052011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17906
17907 Fix PCI iterating on functions >= 4.
17908
17909 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
17910 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
17911 Removed.
17912 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
17913 (grub_pci_read): Fix bitmask.
17914 (grub_pci_read_word): Likewise.
17915 (grub_pci_read_byte): Likewise.
17916 (grub_pci_write): Likewise.
17917 (grub_pci_write_word): Likewise.
17918 (grub_pci_write_byte): Likewise.
17919
9594c689
VS
179202011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17921
17922 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
17923 can still be specified in TARGET_CFLAGS)
17924
14a2562c
VS
179252011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17926
17927 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
17928
17929 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
17930 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
17931 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
17932 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
17933 (FULOONG): Rename to ...
17934 (FULOONG2F): ... this. All users updated.
17935 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
17936 (machtype_fuloong2f_str): ... this.
17937 (machtype_fuloong2e_str): New string.
17938 Check for machtype_fuloong2e_str.
17939 * grub-core/loader/mips/linux.c (loongson_machtypes)
17940 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
17941 * grub-core/term/serial.c (loongson_defserial)
17942 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
17943 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
17944 loongson_defserial.
17945 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
17946 Rename to ...
17947 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
17948 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
17949 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
17950 to IMAGE_FULOONG2F_FLASH. All users updated.
17951 (image_targets): Rename images.
17952 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
17953
b526cbb6
SJ
179542011-08-19 Szymon Janc <szymon@janc.net.pl>
17955
17956 Make enable of disk cache statistics code configurable.
17957
17958 * configure.ac: --enable-cache-stats added.
17959 * config.h.in (DISK_CACHE_STATS): New define.
17960 * grub-core/Makefile.core.def (cacheinfo): New command.
17961 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
17962 * grub-core/commands/cacheinfo.c: New file.
17963 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
17964 moved to cacheinfo.c.
17965 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
17966 debug code.
17967 * include/grub/disk.h: Likewise.
17968
fb739ccd
SJ
179692011-08-19 Szymon Janc <szymon@janc.net.pl>
17970
17971 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
17972 * grub-core/Makefile.am: Likewise.
17973
2bba8cfd
VS
179742011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17975
17976 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
17977 non-zero pull.
17978
43526629
VS
179792011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17980
17981 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
17982 All users updated.
17983 (grub_jfs_lookup_symlink): Use correct starting inode.
17984
5c144cc8
VS
179852011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 * util/grub-setup.c (main): Add missing gcry initialisation.
17988
b1257f65
VS
179892011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17990
17991 Don't accept text modes on EFI when booting Linux.
17992
17993 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
17994 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
17995
828bc390
ML
179962011-08-15 Mario Limonciello <mario_limonciello@dell.com>
179972011-08-15 Colin Watson <cjwatson@ubuntu.com>
17998
17999 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
18000 use of "/path/.." as in grub-install for EFI as well as handling
18001 symlinks correctly.
18002 Fixes Debian bug #637768.
18003
5f60ccac
CW
180042011-08-15 Colin Watson <cjwatson@ubuntu.com>
18005
18006 * util/grub-probe.c: Remove duplicate #include.
18007
6dc212f9
RM
180082011-08-10 Robert Millan <rmh@gnu.org>
18009
18010 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
18011
18012 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
18013 function.
18014 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
18015 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
18016
66816d85
RM
180172011-08-03 Robert Millan <rmh@gnu.org>
18018
18019 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
18020 la_array as packed.
18021 Reported by: Zachary Bedell
18022
20168fca
CW
180232011-07-26 Colin Watson <cjwatson@ubuntu.com>
18024
18025 * configure.ac: The Loongson port requires grub-mkfont due to its
18026 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
18027 be built.
18028
303b6246
CW
180292011-07-26 Colin Watson <cjwatson@ubuntu.com>
18030
18031 * util/grub-install.in: Don't source grub-mkconfig_lib until after
18032 processing arguments (otherwise help2man fails when GRUB has not yet
18033 been installed).
18034
6795300e
VS
180352011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18036
41aa28ea
VS
18037 New script grub-mkstandalone.
18038
18039 * Makefile.util.def (grub-mkstandalone): New script.
18040 * docs/man/grub-mkstandalone.h2m: New file.
18041 * util/grub-mkstandalone.in: Likewise.
18042
180432011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 Support ATA disks with 4K sectors.
6795300e
VS
18046
18047 * include/grub/ata.h (grub_ata): New member log_sector_size.
18048 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
18049 (grub_ata_identify): Read sector size.
18050 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
18051
92227597
VS
180522011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18053
18054 * util/grub-install.in: Don't use uhci outside of x86.
18055
c77069f5
VS
180562011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 * util/grub-mkrescue.in: Add missing quotes.
18059
180602011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
18061
18062 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
18063 dereference.
18064
583168a2
VS
180652011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18066
18067 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
18068
6be1c01f
VS
180692011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18070
18071 * include/grub/video.h: add missing EXPORT_FUND on
18072 grub_video_edid_checksum and grub_video_edid_preferred_mode.
18073
a1167439
VS
180742011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18075
18076 * include/grub/mips/kernel.h: Fix define conflict.
18077
bf66054f
VS
180782011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18079
18080 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
18081 all four ways.
18082
8fc4fa45
CW
180832011-07-21 Colin Watson <cjwatson@ubuntu.com>
18084
18085 Preferred resolution detection for VBE.
18086
18087 * grub-core/video/video.c (grub_video_edid_checksum): New function.
18088 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
18089 the Flat Panel extension, in line with the X.org VESA driver.
18090 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
18091 New function.
18092 (grub_vbe_bios_get_ddc_capabilities): Likewise.
18093 (grub_vbe_bios_read_edid): Likewise.
18094 (grub_vbe_get_preferred_mode): Likewise.
18095 (grub_video_vbe_setup): When the mode is "auto", try to get the
18096 preferred mode from VBE, and use the largest mode that is no larger
18097 than the preferred mode (some BIOSes expose a preferred mode that is
18098 not in their mode list!). If this fails, fall back to 640x480 as a
18099 safe conservative choice.
18100 (grub_video_vbe_get_edid): New function.
18101 (grub_video_vbe_adapter): Add get_edid.
18102 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
18103 (struct grub_video_adapter): Add get_edid.
18104 (grub_video_edid_checksum): Add prototype.
18105 (grub_video_edid_preferred_mode): Likewise.
18106 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
18107 structure.
18108
18109 * grub-core/commands/videoinfo.c (print_edid): New function.
18110 (grub_cmd_videoinfo): Print EDID if available.
18111
18112 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
18113 is more appropriate on a wider range of platforms than 640x480.
18114 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
18115 documentation.
18116
ca5572a9
VS
181172011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
18120
e4bcf625
VS
181212011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 * po/POTFILES.in: Regenerate.
18124
c4edd548
VS
181252011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18126
18127 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
18128 incorrect memory usage.
18129
16a2bab0
VS
181302011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18131
18132 * util/grub-install.in: Source grub-mkconfig_lib.
18133
2e418de6
VS
181342011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18135
18136 Remove getroot.c from core on emu platform.
18137
18138 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
18139 kern/emu/raid.c.
18140 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
18141 useless.
18142 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
18143 * util/getroot.c (get_win32_path): ... here.
18144 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
18145 * util/getroot.c (fini_libzfs): ... here.
18146 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
18147 * util/getroot.c (grub_get_libzfs_handle): ... here.
18148 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
18149 Moved from here...
18150 * util/getroot.c (grub_find_zpool_from_dir): ... here.
18151 * grub-core/kern/emu/misc.c
18152 (grub_make_system_path_relative_to_its_root): Moved from here...
18153 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
18154 * grub-core/kern/emu/getroot.c: Moved from here ...
18155 * util/getroot.c: ... here. All users updated.
18156 * grub-core/kern/emu/raid.c: Moved from here ...
18157 * util/raid.c: ... here. All users updated.
18158
def9832a
VS
181592011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18160
18161 * po/POTFILES.in: Regenerate.
18162
cd8fe79a
VS
181632011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18164
18165 Fix compilation on GNU/Linux.
18166
18167 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
18168 Disable geli.
18169 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
18170 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
18171 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
18172
a251b719
VS
181732011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
181742011-07-07 Michael Gorven <michael@gorven.za.net>
181752011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
18176
18177 LUKS and GELI support.
18178
18179 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
18180 grub-core/disk/luks.c, grub-core/disk/geli.c,
18181 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
18182 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
18183 grub-core/lib/arg.c.
18184 (libgrubmods.a): Remove gcrypts cflags and cppflags.
18185 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
18186 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
18187 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
18188 (grub-bin2h): Add libgcry.a.
18189 (grub-mkimage): Likewise.
18190 (grub-mkrelpath): Likewise.
18191 (grub-script-check): Likewise.
18192 (grub-editenv): Likewise.
18193 (grub-mkpasswd-pbkdf2): Likewise.
18194 (grub-pe2elf): Likewise.
18195 (grub-fstest): Likewise.
18196 (grub-mkfont): Likewise.
18197 (grub-mkdevicemap): Likewise.
18198 (grub-probe): Likewise.
18199 (grub-ofpath): Likewise.
18200 (grub-mklayout): Likewise.
18201 (example_unit_test): Likewise.
18202 (grub-menulst2cfg): Likewise.
18203 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
18204 * grub-core/Makefile.core.def (cryptodisk): New module.
18205 (luks): Likewise.
18206 (geli): Likewise.
18207 * grub-core/disk/AFSplitter.c: New file.
18208 * grub-core/disk/cryptodisk.c: Likewise.
18209 * grub-core/disk/geli.c: Likewise.
18210 * grub-core/disk/luks.c: Likewise.
18211 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
18212 grub_util_is_lvm.
18213 (grub_util_get_dm_abstraction): New function.
18214 (grub_util_follow_gpart_up): Likewise.
18215 (grub_util_get_geom_abstraction): Likewise.
18216 (grub_util_get_dev_abstraction): Use new functions.
18217 (grub_util_pull_device): Pull GELI and LUKS.
18218 (grub_util_get_grub_dev): Handle LUKS and GELI.
18219 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
18220 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
18221 (follow_geom_up): Removed.
18222 (grub_util_fd_seek): New function.
18223 (open_device): Use grub_util_fd_seek.
18224 (nread): Rename to ..
18225 (grub_util_fd_read): ... this. All users updated.
18226 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
18227 (grub_crypto_cbc_decrypt): Likewise.
18228 (grub_crypto_hmac_write): Likewise.
18229 (grub_crypto_hmac_buffer): Likewise.
18230 (grub_password_get): Extend to util.
18231 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
18232 New member modname.
18233 (gcry_md_spec) [GRUB_UTIL]: Likewise.
18234 * include/grub/cryptodisk.h: New file.
18235 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
18236 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
18237 LUKS and GELI.
18238 (grub_util_follow_gpart_up): New proto.
18239 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
18240 (grub_util_fd_read): Likewise.
18241 (grub_cryptodisk_cheat_mount): Likewise.
18242 (grub_util_cryptodisk_print_uuid): Likewise.
18243 (grub_util_get_fd_sectors): Likewise.
18244 * util/grub-fstest.c (mount_crypt): New var.
18245 (fstest): Mount crypto if requested.
18246 (options): New option -C.
18247 (argp_parser): Parse -C.
18248 (main): Init and fini gcry.
18249 * util/grub-install.in: Support cryptodisk install.
18250 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
18251 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
18252 cryptodisk.
18253 (prepare_grub_to_access_device): Likewise.
18254 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
18255 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
18256 (probe_cryptodisk_uuid): New function.
18257 (probe_abstraction): Likewise.
18258 (probe): Use new functions.
18259 * util/import_gcry.py: Create Makefile.utilgcry.def.
18260 Add modname member.
18261
9bfdcbbc
VS
182622011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18263
18264 Lazy device scanning.
18265
18266 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
18267 (grub-setup): Remove util/raid.c.
18268 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
18269 * grub-core/disk/lvm.c (scan_depth): New variable.
18270 (grub_lvm_iterate): Rescan if necessary.
18271 (find_lv): New function based on grub_lvm_open.
18272 (grub_lvm_open): Use find_lv. Rescan on error.
18273 (is_node_readable): New function.
18274 (is_lv_readable): Likewise.
18275 (grub_lvm_scan_device): Skip already found disks.
18276 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
18277 Stop if searched device is found and readable.
18278 * grub-core/disk/raid.c (inscnt): New variable.
18279 (scan_depth): Likewise.
18280 (scan_devices): New function based on grub_raid_register. Abort if
18281 looked for device is found.
18282 (grub_raid_iterate): Rescan if needed.
18283 (find_array): NEw function based on -grub_raid_open.
18284 (grub_raid_open): Use find_array and rescan.
18285 (insert_array): Set became_readable_at.
18286 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
18287 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
18288 New function.
18289 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
18290 (grub_util_pull_device): New function.
18291 (grub_util_get_grub_dev): Call grub_util_pull_device.
18292 * util/raid.c: Moved to ..
18293 * grub-core/kern/emu/raid.c: ... here.
18294 (grub_util_raid_getmembers): New parameter "bootable".
18295 All users updated. Support 1.x.
18296 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
18297 All users updated.
18298 * include/grub/disk.h (grub_disk_pull_t): New enum.
18299 (grub_disk_dev): Change iterate prototype.
18300 All users updated.
18301 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
18302 New proto.
18303 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
18304 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
18305 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
18306 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
18307 All users updated.
18308 * include/grub/util/raid.h: Removed.
18309
1c358e59
VS
183102011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18311
18312 * po/POTFILES.in: Regenerate.
18313
abee94ed
VS
183142011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18315
18316 Unify sparc init with other ieee1275.
18317
18318 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
18319 instead of kern/sparc64/ieee1275/init.c.
18320 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
18321 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
18322 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
18323 grub/machine/kernel.h.
18324 (grub_ieee1275_original_stack) [__sparc__]: New variable.
18325 (grub_claim_heap) [__sparc__]: Use sparc version.
18326 (grub_machine_init): Moved args parsing to
18327 (grub_parse_cmdline): ...this.
18328 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
18329 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
18330 New definition.
18331 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
18332
18333 Move BOOTP to separate file.
18334
18335 * grub-core/Makefile.core.def (net): Add net/bootp.c.
18336 * grub-core/net/net.c: Move all BOOTP functions to
18337 * grub-core/net/bootp.c: ... here.
18338
18339 Use frame interface on PXE.
18340
18341 * grub-core/Makefile.core.def (pxecmd): Removed.
18342 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
18343 * grub-core/commands/i386/pc/pxecmd.c: Removed.
18344 * grub-core/i386/pc/pxe.c: Moved from here ...
18345 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
18346 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
18347 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
18348
18349 EFI network support.
18350
18351 * grub-core/Makefile.core.def (efinet): New module.
18352 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
18353 here...
18354 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
18355 All users updated.
18356 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
18357 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
18358 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
18359 * grub-core/net/drivers/efi/efinet.c: New file.
18360 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
18361 (grub_efi_net_config): New extern var.
18362
18363 Various cleanups and bugfixes.
18364
18365 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
18366 error.
18367 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
18368 disk declared as partition.
18369 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
18370 leak on failure.
18371 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
18372 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
18373 (grub_debug_zalloc): Likewise.
18374 (grub_debug_realloc): Likewise.
18375 (grub_debug_memalign): Likewise.
18376 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
18377 Check that target is IPv4.
18378 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
18379 local-mac-address as fallback.
18380 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
18381 memory leak.
18382 * grub-core/net/ip.c (ipchksum): Rename to ...
18383 (grub_net_ip_chksum): ... this. All users updated.
18384 (grub_net_recv_ip_packets): Special handling for DHCP.
18385 * util/grub-mkimage.c (generate_image): Zero-out aout header.
18386
18387 Unify prefix handling
18388
18389 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
18390 (grub_machine_get_bootlocation): ... this.
18391 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
18392 (grub_machine_get_bootlocation): ... this.
18393 (grub_prefix): New variable.
18394 (prefix): Removed.
18395 (root_dev): New variable.
18396 (dir): Likewise.
18397 (main): Use new variables.
18398 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
18399 Revamped into ...
18400 (grub_machine_get_bootlocation): ... this.
18401 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
18402 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
18403 (grub_machine_get_bootlocation): ... this.
18404 (grub_machine_set_prefix): Removed.
18405 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
18406 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
18407 Revamped into ...
18408 (grub_machine_get_bootlocation): ... this.
18409 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
18410 (grub_set_prefix_and_root): ... this. All users updated.
18411 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
18412 Revamped into ...
18413 (grub_machine_get_bootlocation): ... this.
18414 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
18415 (grub_machine_get_bootlocation): New proto.
18416 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
18417
18418 Less intrusive and more reliable seek on network implementation.
18419
18420 * grub-core/kern/file.c (grub_file_net_seek): Removed.
18421 (grub_file_seek): Don't call grub_file_net_seek.
18422 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
18423 (grub_net_fs_read_real): .. this.
18424 (grub_net_seek_real): Use net->offset.
18425 (grub_net_fs_read): Seek if necessary.
18426
18427 Unify IEEE1275 netwotk config with the other platforms.
18428
18429 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
18430 New variable.
18431 (grub_machine_get_bootlocation): Support network.
18432 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
18433 Support type and device parsing.
18434 (grub_ieee1275_get_device_type): New function.
18435 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
18436 into ...
18437 (grub_ieee1275_net_config_real): ... this.
18438 (grub_ofnet_probecards): Removed.
18439 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
18440 * include/grub/ieee1275/ofnet.h: Removed.
18441 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
18442 extern var.
18443 (grub_ieee1275_get_device_type): New function.
18444
18445 Unify network device closing across platforms and make more robust.
18446
18447 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
18448 grub_grubnet_fini.
18449 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
18450 already.
18451 * grub-core/net/net.c (grub_net_network_level_interface_register):
18452 Update num_ifaces.
18453 (grub_net_card_unregister): Close all interfaces.
18454 (receive_packets): Don't poll if no iterfaces are registered.
18455 Open if necessary.
18456 (grub_net_fini_hw): New function.
18457 (grub_net_restore_hw): Likewise.
18458 (fini_hnd): New variable.
18459 (GRUB_MOD_INIT): Register preboot hook.
18460 (GRUB_MOD_FINI): Run and unregister preboot hook.
18461
18462 Poll network cards when idle.
18463
18464 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
18465 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
18466 * grub-core/net/net.c (receive_packets): Save last poll time.
18467 (grub_net_poll_cards_idle_real): New function.
18468 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
18469 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
18470 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
18471
18472 Rename ofnet interfaces.
18473
18474 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
18475 (grub_ofnet_findcards): Use ofnet_%s names.
18476
18477 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
18478
18479 Cleanup socket opening.
18480
18481 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
18482 (grub_net_fs_close): Likewise.
18483 (grub_net_fs_read_real): Use eof member.
18484 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
18485 (+grub_net_udp_close): New inline function.
18486
18487 * include/grub/net/tftp.h: Moved to the top of ...
18488 * grub-core/net/tftp.c: ... here.
18489 * include/grub/net/ip.h: Moved mostly to the top of ...
18490 * grub-core/net/ip.c: ... here.
18491 * include/grub/net/ethernet.h: Moved mostly to the top of ...
18492 * grub-core/net/ethernet.c: ... here.
18493
18494 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
18495
18496 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
18497 FS name.
18498
18499 * include/grub/net/ip.h (ipv4_ini): Removed.
18500 (ipv4_fini): Likewise.
18501
18502 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
18503 (grub_net_send_ip_packets): Likewise.
18504
cf1337aa
VS
185052011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18506
18507 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
18508 grub_read_cmos prototype.
18509
93c06ff9
VS
185102011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18511
18512 VGA text support in qemu-mips
18513
18514 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
18515 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
18516 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
18517 text.
18518 * grub-core/kern/i386/qemu/init.c: Renamed to ...
18519 * grub-core/kern/vga_init.c: ... this.
18520 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
18521 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
18522 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
18523 Adjust.
18524 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
18525 GRUB_MACHINE_PCI_IO_BASE.
18526
748ccabe
VS
185272011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18528
18529 MIPS qemu flash support.
18530
18531 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
18532 magic.
18533 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
18534 (grub_machine_init): Probe memory if its size isn't known.
18535 * util/grub-mkimage.c (image_targets): Add flash targets.
18536 (generate_image): Handle flash targets.
18537
d7345994
VS
185382011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18539
18540 MIPS qemu at_keyboard support.
18541
18542 * gentpl.py (videoinkernel): Add qemu-mips.
18543 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
18544 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
18545 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
18546 modules.
18547 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
18548 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
18549 * grub-core/term/serial.c (grub_serial_register)
18550 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
18551
a07a81b3
VS
185522011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18553
18554 CMOS support on sparc.
18555
18556 * gentpl.py (cmos): Add powerpc and sparc.
18557 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
18558 powerpc and sparc.
18559 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
18560 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
18561 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
18562 grub_set_datetime_cmos.
18563 * grub-core/lib/ieee1275/cmos.c: New file.
18564 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
18565 (find_rtc): Set no_ieee1275_rtc on error.
18566 (grub_get_datetime): Call grub_get_datetime_cmos on error.
18567 (grub_set_datetime): Call grub_set_datetime_cmos on error.
18568 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
18569 fail. Move value to argument. All users updated
18570 (grub_cmos_write): Likewise.
18571 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
18572 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
18573 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
18574 grub_get_datetime_cmos and grub_set_datetime_cmos.
18575
77546584
GS
185762011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18577
18578 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
18579 sourcing grub-mkconfig_lib.
18580 * util/update-grub_lib.in: Likewise.
18581 * util/grub.d/00_header.in: Likewise.
18582 * util/grub.d/10_hurd.in: Likewise.
18583 * util/grub.d/10_kfreebsd.in: Likewise.
18584 * util/grub.d/10_linux.in: Likewise.
18585 * util/grub.d/10_netbsd.in: Likewise.
18586 * util/grub.d/10_windows.in: Likewise.
18587 * util/grub.d/20_linux_xen.in: Likewise.
18588 * util/grub.d/30_os-prober.in: Likewise.
18589
54894791
CW
185902011-06-28 Colin Watson <cjwatson@ubuntu.com>
18591
18592 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
18593 default_bg_color rather than black.
18594 (grub_gfxterm_fullscreen): Likewise.
18595 (grub_gfxterm_background_color_cmd): Save new background color in
18596 default_bg_color.
18597
8d5d8444
VS
185982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18599
18600 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
18601
5afeb5bd
VS
186022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18603
18604 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
18605 mismerge.
18606
ba7df45e
VS
186072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18608
18609 Chainloading on coreboot support.
18610
18611 * grub-core/Makefile.core.def (chain): Add coreboot.
18612 * grub-core/loader/i386/coreboot/chainloader.c: New file.
18613
d0b526b2
VS
186142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18615
18616 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
18617 if it happens.
18618
5ff1d945
VS
186192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18620
18621 Implement time command.
18622
18623 * grub-core/Makefile.core.def (time): New module.
18624 * grub-core/commands/time.c: New file.
18625 * grub-core/script/parser.y: Remove "time" keyword.
18626 * grub-core/script/yylex.l: Likewise.
18627
5ebaad7e
VS
186282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18629
18630 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
18631
bdea3798
VS
186322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18633
18634 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
18635 when handling leftovers.
18636
b28c5655
VS
186372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18638
18639 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
18640 so that help2man doesn't fail.
18641
b6f945dc
VS
186422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18643
18644 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
18645 type in pointers on sparc64.
18646 (get_card_packet): Likewise.
18647
f9b75e8a
CW
186482011-06-27 Colin Watson <cjwatson@ubuntu.com>
18649
18650 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
18651 with `*'.
18652 (grub_cmd_videoinfo): Fetch current video mode.
18653
1e3d9b86
VS
186542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18655
18656 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
18657 because of underlying system restrictions.
18658
efff4b1c
VS
186592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18660
18661 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
18662 necessary.
18663
9fc9ce37
VS
186642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18665
18666 Coreboot video support.
18667
18668 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
18669 (vbe): Likewise.
18670 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
18671 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
18672 here ...
18673 * grub-core/kern/i386/int.S: ... here.
18674 * grub-core/video/i386/pc/vbe.c: Updated includes.
18675 * grub-core/video/i386/pc/vga.c: Likewise.
18676 * include/grub/i386/coreboot/memory.h
18677 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
18678 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
18679 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
18680 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
18681 Disable interrupts.
18682 * include/grub/i386/pc/vga.h: Removed. All users updated.
18683
41bec7fe
VS
186842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18685
18686 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
18687 definitions for dprintf.
18688 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
18689
ca80309d
VS
186902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18691
18692 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
18693 prototype.
18694 (get_card_packet): Likewise.
18695
9e322ce8
YB
186962011-06-26 Yves Blusseau <blusseau@zetam.org>
18697
18698 Display the path of the file when file is not found
18699
18700 * grub-core/fs/fat.c: Display the filename when file is not found.
18701 * grub-core/fs/fshelp.c: Likewise.
18702 * grub-core/fs/hfs.c: Likewise.
18703 * grub-core/fs/jfs.c: Likewise.
18704 * grub-core/fs/minix.c: Likewise.
18705 * grub-core/fs/ufs.c: Likewise.
18706 * grub-core/fs/btrfs.c: Likewise.
18707 * grub-core/commands/i386/pc/play.c: Likewise.
18708
cbf597af
SJ
187092011-06-26 Szymon Janc <szymon@janc.net.pl>
18710
18711 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
18712 pointer checks before calling grub_free().
18713 * grub-core/commands/wildcard.c (match_devices): Likewise.
18714 * grub-core/commands/wildcard.c (match_files): Likewise.
18715 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
18716 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
18717 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
18718 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
18719 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
18720 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
18721 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
18722 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18723 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
18724
6295b32f
P
187252011-06-25 Patrick <p55@mailinator.com>
18726
18727 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
18728
77c0840b
VS
187292011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
18730
18731 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
18732 (grub_pxe_send): Likewise.
18733 (GRUB_MOD_INIT): Fix types.
18734
40ea05de
SJ
187352011-06-24 Szymon Janc <szymon@janc.net.pl>
18736
18737 * grub-core/io/xzio.c: Fix code style issues
18738
90162423
MRA
187392011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
187402011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
18741
18742 Network infrastructure.
18743 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
18744
18745 * include/grub/net/arp.h: New file.
90162423
MRA
18746 * include/grub/net/device.h: Likewise.
18747 * include/grub/net/ethernet.h: Likewise.
18748 * include/grub/net/ip.h: Likewise.
18749 * include/grub/net/netbuff.h: Likewise.
18750 * include/grub/net/tftp.h: Likewise.
18751 * include/grub/net/udp.h: Likewise.
18752 * include/grub/ieee1275/ofnet.h: Likewise.
18753 * include/grub/emu/export.h: Likewise.
18754 * include/grub/net.h: Likewise.
18755 * grub-core/net/arp.c: Likewise.
18756 * grub-core/net/ethernet.c: Likewise.
18757 * grub-core/net/ip.c: Likewise.
18758 * grub-core/net/udp.c: Likewise.
18759 * grub-core/net/tftp.c: Likewise.
18760 * grub-core/net/netbuff.c: Likewise.
18761 * grub-core/net/net.c: Likewise.
18762 * grub-core/net/drivers/emu/emunet.c: Likewise.
18763 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
18764 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
18765 export.h.
18766 * grub-core/Makefile.core.def (net): New module.
18767 (tftp): Likewise.
18768 (ofnet): Likewise.
18769 (emunet): Likewise.
18770 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
18771 network protocols.
18772 * grub-core/kern/device.c (grub_net_open) : New variable.
18773 (grub_device_open): Handle network device.
18774 (grub_device_close): Likewise.
18775 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
18776 (grub_grubnet_fini): Likewise.
18777 (grub_file_seek): Seek in network device.
18778 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
18779 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
18780 network root.
18781 (grub_machine_fini): Call grub_grubnet_fini.
18782 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
18783 network.
18784 (grub_ieee1275_get_aliasdevname): New function.
18785 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18786 Add unofficial Solaris network info.
18787 (grub_multiboot_make_mbi): Likewise.
18788 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
18789 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
18790 * include/grub/device.h (grub_fs): Removed.
18791 * include/grub/err.h (grub_err_t): Add network-related values.
18792 * include/grub/i386/pc/pxe.h: Removed bootp parts.
18793 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
18794 (grub_ieee1275_get_aliasdevname): New proto.
18795 * include/grub/net.h: Rewritten.
423a1849 18796
031f22a0
VS
187972011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18798
18799 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
18800 names.
18801
4388ca72
VS
188022011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18803
18804 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
18805 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
18806 it truncates the output.
18807 Reported by: Ximin Luo.
18808
98e2f506
VS
188092011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18810
18811 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
18812
2a5e94d8
VS
188132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18814
18815 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18816 partmap before abstraction.
18817
535c1910
AK
188182011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
18819
18820 * util/grub-mkconfig_lib.in: Add missing quotes.
18821
bc09e1a2
VS
188222011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18823
18824 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
18825 old method if mountinfo would return /dev/root and /dev/root doesn't
18826 exist.
18827
290766fb
VS
188282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 ZFS zlib support
18831
18832 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
18833 (decomp_table): Add zlib entries.
18834 (zio_read): USe 8 bits for compression function rather than 3.
18835 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
18836
188372011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18838
18839 * grub-core/disk/ahci.c: Add missing license statements.
18840 * grub-core/fs/romfs.c: Likewise.
18841 * grub-core/lib/ia64/setjmp.S: Likewise.
18842 * grub-core/loader/i386/pc/freedos.c: Likewise.
18843 * grub-core/loader/ia64/efi/linux.c: Likewise.
18844 * grub-core/video/colors.c: Likewise.
18845 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
18846
5ab3f48a
VS
188472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18848
18849 AHCI support.
18850
18851 * grub-core/Makefile.core.def (ata_pthru): Removed.
18852 (ahci): New module.
18853 (pata): Likewise.
18854 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
18855 on unload.
18856 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
18857 readwrite.
18858 (grub_hdparm_do_check_powermode_cmd): Likewise.
18859 (grub_hdparm_do_smart_cmd): Likewise.
18860 (grub_hdparm_set_val_cmd): Likewise.
18861 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
18862 * grub-core/disk/ahci.c: New file.
18863 * grub-core/disk/ata.c: Factor out the low-level part into ...
18864 * grub-core/disk/pata.c: ... here.
18865 * grub-core/disk/ata_pthru.c: Contents moved to ...
18866 * grub-core/disk/pata.c: ... here.
18867 * grub-core/disk/scsi.c (grub_scsi_names): New array.
18868 (grub_scsi_iterate): Use grub_scsi_names.
18869 (grub_scsi_open): Likewise.
18870 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
18871 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
18872 (grub_ata_regs_t): New struct.
18873 (grub_disk_ata_pass_through_parms): Likewise.
18874 (grub_ata_device): Renamed to ...
18875 (grub_ata): ... this.
18876 (grub_ata_dev): New struct.
18877 Removed all low-level inline functions.
18878 * include/grub/scsi.h: Add PATA and AHCI subsystems.
18879 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
18880 iterate hooks and open. All users updated.
18881 * util/grub-install.in: Handle AHCI disk module.
18882
c31dc5f5
SJ
188832011-06-23 Szymon Janc <szymon@janc.net.pl>
18884
18885 Add support for DRI and RSTn markers in JPEG files.
18886
18887 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
18888 (JPEG_MARKER_RST0): Likewise.
18889 (JPEG_MARKER_RST1): Likewise.
18890 (JPEG_MARKER_RST2): Likewise.
18891 (JPEG_MARKER_RST3): Likewise.
18892 (JPEG_MARKER_RST4): Likewise.
18893 (JPEG_MARKER_RST5): Likewise.
18894 (JPEG_MARKER_RST6): Likewise.
18895 (JPEG_MARKER_RST7): Likewise.
18896 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
18897 (grub_jpeg_decode_dri): New function.
18898 (grub_jpeg_decode_sos): Move image data related part into
18899 grub_jpeg_decode_data function.
18900 (grub_jpeg_decode_data): New function.
18901 (grub_jpeg_reset): New function.
18902 (grub_jpeg_decode_jpeg): Handle new markers.
18903
fe12fd5b
VS
189042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18905
18906 * util/ieee1275/ofpath.c (check_sas): Close fd.
18907 (main): Free of_path.
18908 Reported by: David Volgyes <dvolgyes>.
18909
03147f46
VS
189102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18911
18912 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
18913 Reported by: David Volgyes <dvolgyes>.
18914
cad3237f
VS
189152011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18916
18917 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
18918 file after stat.
18919 Reported by: David Volgyes <dvolgyes>.
18920
13548d26
VS
189212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
18924
18925 Reported by: David Volgyes <dvolgyes>.
18926
e061a1b5
VS
189272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18928
18929 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
18930 Prevent memory leak.
18931
1abe47dc
VS
189322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18933
18934 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
18935 (main): Close file.
e061a1b5 18936 Reported by: David Volgyes <dvolgyes>.
1abe47dc 18937
fbc62666
VS
189382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18939
18940 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
18941 to continue if allocation is failed.
18942
18943 Reported by: David Volgyes <dvolgyes>.
18944
e98c83e9
DV
189452011-06-23 David Volgyes <dvolgyes>
18946
18947 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
18948 dereference.
18949
a199a8cd
VS
189502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 Fix spurious warning.
18953
18954 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
18955 (acorn_partition_map_find): Use .bin member.
18956
e2d1dba0
VS
189572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18958
18959 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
18960 /dev/root as a valid device.
18961
8a5d6919
JM
189622011-06-23 Jim Meyering <meyering@redhat.com>
18963
e2d1dba0
VS
18964 Avoid NULL deref in grub_device_open.
18965
8a5d6919
JM
18966 * grub-core/kern/device.c (grub_device_open): Don't dereference
18967 a NULL pointer upon failed grub_env_get.
18968
f7db6f4a
VS
189692011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18970
18971 Support non-512B sectors and agglomerate reads.
18972
18973 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
18974 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
18975 (disk_io_guid): Removed.
18976 (make_devices): Locate solely by BlockIO.
18977 (grub_efidisk_open): Fill log_sector_size and total_sectors.
18978 (grub_efidisk_read): Use read_blocks.
18979 (grub_efidisk_write): Use write_blocks.
18980 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
18981 log_sector_size.
18982 (get_safe_sectors): Handle non-512B sectors.
18983 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
18984 sectors.
18985 (grub_biosdisk_write): Handle non-512B sectors.
18986 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
18987 (grub_scsi_read): Remove special non-512B block handling (now handled
18988 one level up).
18989 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
18990 and do sanity checks.
18991 (grub_disk_adjust_range): Handle non-512B sectors.
18992 (transform_sector): New function.
18993 (grub_disk_read_small): Likewise.
18994 (grub_disk_read): Rewritten.
18995 (grub_disk_write): Handle non-512B sectors.
18996 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
18997 log_sector_size.
18998 (open_device): Use log_sector_size.
18999 (grub_util_biosdisk_read): Likewise.
19000 (grub_util_biosdisk_write): Likewise.
19001 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
19002 non-512B sectors.
19003 (pc_partition_map_embed): Likewise.
19004 * include/grub/disk.h (grub_disk): New field log_sector_size.
19005 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
19006 (GRUB_DISK_CACHE_BITS): Increased to 6.
19007 * util/grub-fstest.c (fstest): New command testload.
19008 (argp_parser): Likewise.
19009
881ac815
RM
190102011-06-16 Robert Millan <rmh@gnu.org>
19011
19012 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
19013 `ata' driver on kernel of FreeBSD 9.
19014
19015 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
19016 (get_ataraid_disk_name): New functions.
19017 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
19018 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
19019 get_ataraid_disk_name() and get_ada_disk_name().
19020
1e9aef7d
CW
190212011-06-13 Colin Watson <cjwatson@ubuntu.com>
19022
19023 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
19024 input format.
19025
351c7c8a
CW
190262011-05-29 Colin Watson <cjwatson@ubuntu.com>
19027
19028 * docs/grub.texi (Obtaining and Building GRUB): Substitute
19029 `ftp.gnu.org' for `alpha.gnu.org'.
19030
6b4e6430
CW
190312011-05-27 Colin Watson <cjwatson@ubuntu.com>
19032
19033 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
19034 partitions under /dev/disk/by-id/.
19035
c64db050
CW
190362011-05-27 Colin Watson <cjwatson@ubuntu.com>
19037
19038 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
19039 after ten consecutive open failures. Scanning all the way up to
19040 10000 is excessive and can cause serious performance problems in
19041 some configurations.
19042 Fixes Ubuntu bug #787461.
19043
245f4aba
VS
190442011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19045
19046 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
19047 opening new one.
19048
f767c929
VS
190492011-05-21 Colin Watson <cjwatson@ubuntu.com>
190502011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19051
19052 Don't stat devices unless we have to.
19053
19054 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
19055 dir == /dev/mapper.
19056 (grub_guess_root_device): Use already known os_dev if possible.
19057 * grub-core/kern/emu/hostdisk.c
19058 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
19059 if device is known to be a dm one.
19060
f35fa3a6
CW
190612011-05-20 Colin Watson <cjwatson@ubuntu.com>
19062
19063 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
19064 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
19065 Reported by: Pawel Tecza.
19066
9a79fcf2
VS
190672011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
19068
19069 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
19070 (lsefisystab): Likewise.
19071 (lssal): Likewise.
19072 (lsefimmap): Likewise.
19073 (hdparm): Enable on qemu-mips.
19074 (setjmp): Add ia64 nodist.
19075 (serial): Simplify tags.
19076
63e3eea9
CW
190772011-05-18 Colin Watson <cjwatson@ubuntu.com>
19078
19079 * Makefile.util.def (grub-ofpathname): Install manual page.
19080
09728256
CW
190812011-05-18 Colin Watson <cjwatson@ubuntu.com>
19082
19083 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
19084
8b63a142
CW
190852011-05-18 Colin Watson <cjwatson@ubuntu.com>
19086
19087 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
19088
e775d8ed
VS
190892011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19090
19091 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
19092 into dprintf.
19093
bf947d36
VS
190942011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19095
19096 Use full 64-bit division.
19097
19098 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
19099 (grub_divmod64): ... this.
19100 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
19101 version.
19102
b84f26c5
CW
191032011-05-18 Colin Watson <cjwatson@ubuntu.com>
19104
19105 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
19106 `source'.
19107
5626056f
CW
191082011-05-18 Colin Watson <cjwatson@ubuntu.com>
19109
19110 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
19111 to avoid accidents when debugging with 'sh -x'.
19112 * grub-core/gensyminfo.sh.in: Likewise.
19113 * tests/example_scripted_test.in: Likewise.
19114 * tests/grub_cmd_regexp.in: Likewise.
19115 * tests/grub_script_blanklines.in: Likewise.
19116 * tests/grub_script_dollar.in: Likewise.
19117 * tests/grub_script_expansion.in: Likewise.
19118 * tests/grub_script_final_semicolon.in: Likewise.
19119 * tests/partmap_test.in: Likewise.
19120 * tests/util/grub-shell-tester.in: Likewise.
19121 * tests/util/grub-shell.in: Likewise.
19122
e2965f4a
CW
191232011-05-18 Colin Watson <cjwatson@ubuntu.com>
19124
19125 Move gfxmenu color handling to video, so that gfxterm can use it
19126 too.
19127
19128 * grub-core/gfxmenu/named_colors.c: Move to ...
19129 * grub-core/video/colors.c: ... here. Rename
19130 grub_gui_get_named_color to grub_video_get_named_color.
19131 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
19132 * grub-core/video/colors.c (my_isxdigit): ... here.
19133 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
19134 Move to ...
19135 * grub-core/video/colors.c (parse_hex_color_component): ... here.
19136 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
19137 to ...
19138 * grub-core/video/colors.c (grub_video_parse_color): ... here.
19139
19140 * include/grub/gui.h (grub_gui_color_t): Move to ...
19141 * include/grub/video.h (grub_video_rgba_color_t): ... here.
19142 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
19143 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
19144 * include/grub/gui.h (grub_gui_map_color): Move to ...
19145 * include/grub/video.h (grub_video_map_rgba_color): ... here.
19146 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
19147 to ...
19148 * include/grub/video.h (grub_video_get_named_color): ... here.
19149 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
19150 * include/grub/video.h (grub_video_parse_color): ... here.
19151
19152 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
19153 video/colors.c.
19154 (gfxmenu): Remove gfxmenu/named_colors.c.
19155 (video) [videomodules]: Add video/colors.c.
19156
19157 Add a background_color command.
19158
19159 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
19160 function.
19161 (GRUB_MOD_INIT): Register background_color command.
19162 (GRUB_MOD_FINI): Unregister background_color command.
19163 (redraw_screen_rect): Allow blend/replace of text layer to be
19164 controlled independently from whether there is a background bitmap.
19165 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
19166 changing bitmap.
19167
1e4b4390
VS
191682011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19169
26618ff0
VS
19170 Patch BPB in ntldr and chainloader --bpb.
19171
1e4b4390
VS
19172 * grub-core/fs/fat.c: Include grub/fat.h.
19173 (grub_fat_bpb): Moved to ...
19174 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
19175 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
19176 grub/ntfs.h.
19177 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
19178 Moved from here...
19179 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
19180 here.
19181 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
19182 New function.
19183 (grub_chainloader_cmd): Patch BPB if --bpb is given.
19184 (GRUB_MOD_INIT): Show --bpb.
19185 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
19186 * grub-core/normal/main.c (features): New variable.
19187 (GRUB_MOD_INIT): Set feature_* variables.
19188 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
19189 proto.
19190 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
19191
cf02731e
VS
191922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19193
19194 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
19195 for cleanness.
19196
e3a1073f
VS
191972011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 FreeDOS direct loading support.
19200
19201 * docs/grub.texi (Supported OS): Add FreeDOS.
19202 * grub-core/Makefile.core.def (freedos): New module.
19203 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
19204 variable.
19205 (grub_relocator16_boot): Handle %ebx.
19206 * grub-core/lib/i386/relocator16.S: Likewise.
19207 * grub-core/loader/i386/pc/freedos.c: New file.
19208
05caa461
VS
192092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19210
19211 Long Linux command line support.
19212
19213 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19214 (maximal_cmdline_size): New variable.
19215 (allocate_pages): Use maximal_cmdline_size.
19216 (grub_cmd_linux): Set and use maximal_cmdline_size.
19217 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19218 (allocate_pages): Use maximal_cmdline_size.
19219 (grub_cmd_linux): Set and use maximal_cmdline_size.
19220 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
19221 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
19222 and cmdline_size.
19223
a2491e23
VS
192242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
192252011-05-18 Colin Watson <cjwatson@ubuntu.com>
19226
19227 Improve devmapper support
19228
19229 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
19230 (grub_util_is_lvm): New function.
19231 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
19232 than lvm if not dmraid.
19233 Handle mapped md nodes.
19234 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
19235 (grub_util_device_is_mapped): ... this. Make always available. All users
19236 updated.
19237 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
19238 (convert_system_partition_to_system_disk): Handle lvm, mpath and
19239 dmraid nodes.
19240 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
19241
6ad6223e
VS
192422011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19243
19244 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
19245
19246 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
19247 * grub-core/modinfo.sh.in: New file.
19248 * grub-core/Makefile.core.def (modinfo.sh): New script.
19249 * util/grub-mknetdir.in: Use modinfo.sh.
19250 * util/grub-mkrescue.in: Likewise.
19251
543a8f6e
VS
192522011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19253
19254 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
19255 Fix potential usage of Elf32 instead of Elf64 when compiling on
19256 32-bit architecture. Add endianness macros while on it.
19257
4959e111
VS
192582011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19259
19260 Use mipsel- rather than mips- in directories involving mipsel ports to
19261 allow both endiannesses coexist.
19262
19263 * configure.ac: proparate target_cpu=mipsel rather than resetting to
19264 mips. All conditions adjusted.
19265 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
19266 variable.
19267 * util/grub-install.in: Adjust conditions to take renaming into account.
19268 * util/grub-mkimage.c (image_targets): Likewise. New target
19269 mips-qemu_mips-elf for bigendian mips.
19270
35341bbc
VS
192712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19272
19273 Avoid unnecessary copying on MIPS.
19274
19275 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
19276 early if src == dest.
19277 * util/grub-mkimage.c (generate_image): Arange for src == dest if
19278 compression is none.
19279
b772baed
VS
192802011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19281
19282 Reduce memory footprint on SGI by putting modules before the kernel
19283 as opposed to after.
19284
19285 * grub-core/Makefile.core.def (kernel): Increase linking address.
19286 (none_decompress): Likewise.
19287 (xz_decompress): Likewise.
19288 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
19289 address.
19290 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
19291 layout change.
19292 (grub_arch_modules_addr): New function.
19293 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
19294 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
19295 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
19296 here.
19297 * grub-core/kern/mips/startup.S (total_size): Rename to ...
19298 (grub_total_modules_size): ... this. Make global.
19299 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
19300 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
19301 New definition.
19302 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
19303 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
19304 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
19305 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
19306 * util/grub-mkimage.c (image_target_desc): New flag
19307 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
19308 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
19309 (generate_image): Handle images with modules before kernel.
19310
566a1917
VS
193112011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19312
19313 Prevent potential loss of memory map by overwrite on qemu-mips.
19314
19315 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19316 Save ram size in $s4.
19317 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
19318 All users changed to grub_arch_memsize.
19319 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
19320 Loongson.
19321 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
19322 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
19323 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
19324 external variable.
19325
5d420cd9
CW
193262011-05-17 Colin Watson <cjwatson@ubuntu.com>
19327
19328 * .bzrignore: Remove grub-dumpbios.
19329
d064b830
CW
193302011-05-17 Colin Watson <cjwatson@ubuntu.com>
19331
19332 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
19333 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
19334 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
19335 existing options which append).
19336 * docs/grub.texi (Simple configuration): Document new options.
19337 Reported by: Ian Jackson. Fixes Debian bug #617538.
19338
3ca2b466
CW
193392011-05-17 Colin Watson <cjwatson@ubuntu.com>
19340
19341 * util/grub-fstest.c (cmd_cat): New function.
19342 (fstest): Handle CMD_CAT.
19343 (options): Add cat.
19344 (argp_parser): Handle cat.
19345
24c9143a
CW
193462011-05-17 Colin Watson <cjwatson@ubuntu.com>
19347
19348 * Makefile.util.def (grub-bin2h): Don't install.
19349 * docs/man/grub-bin2h.h2m: Remove.
19350
90f7ac19
VS
193512011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19352
19353 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
19354 place.
19355
8d4a5178
VS
193562011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19357
19358 Reenable qemu-mips port.
19359
19360 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
19361 Fix small arc bug while on it.
19362 * gentpl.py: Handle qemu_mips.
19363 * grub-core/Makefile.am: Likewise.
19364 * grub-core/Makefile.core.def: Likewise.
19365 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
19366 inappropriate includes.
19367 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
19368 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
19369 * grub-core/kern/main.c (grub_modules_get_end)
19370 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
19371 * grub-core/kern/mips/qemu-mips: Moved to ..
19372 * grub-core/kern/mips/qemu_mips: ... this.
19373 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
19374 (grub_machine_init): Call terminfo_init and serial_init.
19375 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
19376 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19377 New variable.
19378 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
19379 parameter passing.
19380 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
19381 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
19382 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
19383 * include/grub/mips/qemu_mips/cmos.h: New file.
19384 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
19385 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
19386 Removed.
19387 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
19388 Use correct mips-style address.
19389 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
19390 (GRUB_TICKS_PER_SECOND): Removed.
19391 (grub_get_rtc): Likewise.
19392 (grub_cpu_idle): Likewise.
19393 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
19394 New definition.
19395 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
19396 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
19397 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
19398 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
19399 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
19400 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
19401 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
19402 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
19403
400b9371
VS
194042011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19405
19406 SGI ARCS port.
19407
19408 * Makefile.util.def (libgrubmods.a): Add dvh.c.
19409 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
19410 platforms.
19411 * configure.ac: New target mips-arc.
19412 * gentpl.py: Likewise.
19413 * grub-core/Makefile.am: Likewise.
19414 * grub-core/Makefile.core.def: Likewise.
19415 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
19416 (none_decompress): Likewise.
19417 (lsdev): New module.
19418 (datetime): Use lib/arc/datetime.c on ARC.
19419 (part_dvh): New module.
19420 * grub-core/commands/arc/lsdev.c: New file.
19421 * grub-core/disk/arc/arcdisk.c: Likewise.
19422 * grub-core/kern/mips/arc/init.c: Likewise.
19423 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
19424 aligned addresses.
19425 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
19426 support.
19427 (grub_arch_dl_relocate_symbols): Likewise.
19428 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
19429 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
19430 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
19431 platforms.
19432 * grub-core/lib/arc/datetime.c: New file.
19433 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
19434 pci.h on non-loongson.
19435 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
19436 (grub_linux_boot): Set unused registers to 0.
19437 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
19438 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
19439 * grub-core/mmap/mips/uppermem.c: ...here.
19440 * grub-core/partmap/dvh.c: New file.
19441 * grub-core/term/arc/console.c: Likewise.
19442 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
19443 (grub_terminfo_set_current): Add terminal "arc".
19444 (grub_terminfo_readkey): Support ARC sequences.
19445 * include/grub/arc/arc.h: New file.
19446 * include/grub/arc/console.h: Likewise.
19447 * include/grub/disk.h (grub_disk_dev_id): Add
19448 GRUB_DISK_DEVICE_ARCDISK_ID.
19449 * include/grub/mips/arc/kernel.h: New file.
19450 * include/grub/mips/arc/memory.h: Likewise.
19451 * include/grub/mips/arc/time.h: Likewise.
19452 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
19453 * include/grub/mips/kernel.h (grub_halt): ... here.
19454 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
19455 here...
19456 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
19457 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
19458 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
19459 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
19460 proto.
19461 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
19462 from here ...
19463 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
19464 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
19465 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
19466 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
19467 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
19468 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
19469 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
19470 (grub_phys_addr_t): Moved from here ...
19471 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
19472 (grub_vtop): Moved from here ...
19473 * include/grub/mips/memory.h (grub_vtop): ... here.
19474 (grub_map_memory): Moved from here ...
19475 * include/grub/mips/memory.h (grub_map_memory): ... here.
19476 (grub_unmap_memory): Moved from here ...
19477 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
19478 (grub_machine_mmap_iterate): Moved from here ...
19479 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
19480 (grub_mmap_get_lower): Moved from here ...
19481 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
19482 (grub_mmap_get_upper): Moved from here ...
19483 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
19484 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19485 here ...
19486 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19487 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
19488 here ...
19489 * include/grub/mips/time.h (grub_get_rtc): ... here.
19490 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19491 here ...
19492 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19493 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
19494 here ...
19495 * include/grub/mips/time.h (grub_cpu_idle): ... here.
19496 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
19497 definition.
19498 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
19499 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
19500 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
19501 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
19502 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
19503 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
19504 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
19505 (GRUB_MACHINE_LINK_ADDR): Likewise.
19506 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
19507 to 6.
19508 * util/grub-install.in: Run dvhtool on ARC.
19509 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 19510 (generate_image): Handle ECOFF output for mips-arc.
400b9371 19511
c8ecc840
VS
195122011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
19515 blocks.
19516
153a4b55
VS
195172011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19518
19519 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
19520 after enabling port.
19521
ff44d107
VS
195222011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19523
19524 Skip incorrect USB devices.
19525
19526 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
19527 configcnt == 0.
19528 * include/grub/usb.h (grub_usb_err_t): New enum value
19529 GRUB_USB_ERR_BADDEVICE.
19530
638dbe4f
VS
195312011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19532
19533 Fuloong video init support.
19534
19535 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
19536 well.
19537 (grub_vga_read_arx): New function.
19538 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
19539 definition.
19540 (framebuffer): New members io, mmioptr and mmiobase.
19541 (read_sis_cmd): New function.
19542 (write_sis_cmd): Likewise.
19543 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
19544 rather than 640x400.
19545 * grub-core/video/sis315_init.c: New file.
19546
c3fc520c
VS
195472011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19548
19549 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
19550 non-loongson.
19551 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
19552 to grub_dl_register_symbol.
19553
67b1e5c9
VS
195542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19555
19556 Fix compilation errors.
19557
19558 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
19559 potentially unused.
19560 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
19561 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
19562 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
19563 to loongson machines.
19564
b756f75f
VS
195652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19566
19567 Several FS mtime support.
19568
19569 * grub-core/fs/affs.c (grub_affs_time): New struct.
19570 (grub_affs_file): New field mtime.
19571 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
19572 type. Removed 'size'. New field 'di'. All users updated.
19573 (grub_affs_mount): Simplify checsum checking.
19574 (grub_affs_iterate_dir): New helper grub_affs_create_node.
19575 (grub_affs_dir): Handle mtime.
19576 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
19577 (grub_cpio_dir): Likewise.
19578 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
19579 (grub_hfs_filerec): New field mtime.
19580 (grub_hfs_dir): Handle mtime.
19581 (grub_hfs_mtime): New function.
19582 (grub_hfs_fs): Register grub_hfs_mtime.
19583 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
19584 (grub_iso9660_dir): New field mtime.
19585 (grub_fshelp_node): New field dirent.
19586 (iso9660_to_unixtime): New function.
19587 (iso9660_to_unixtime2): Likewise.
19588 (grub_iso9660_read_symlink): Use node->dirent.
19589 (grub_iso9660_iterate_dir): Likewise.
19590 (grub_iso9660_dir): Set mtime.
19591 (grub_iso9660_mtime): New function.
19592 (grub_iso9660_fs): Register grub_iso9660_mtime.
19593 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
19594 (grub_jfs_inode): New fields atime, ctime and mtime.
19595 (grub_jfs_dir): Set mtime.
19596 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19597 * grub-core/fs/ntfs.c (list_file): Set mtime.
19598 (grub_ntfs_dir): Likewise.
19599 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
19600 (grub_reiserfs_iterate_dir): Set mtime.
19601 (grub_reiserfs_dir): Likewise.
19602 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
19603 (grub_fshelp_node): Likewise.
19604 (grub_sfs_iterate_dir): Set mtime.
19605 (grub_sfs_dir): Likewise.
19606 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
19607 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
19608 (grub_xfs_inode): New fields atime, mtime, ctime.
19609 (grub_xfs_dir): Set mtime.
19610 * include/grub/datetime.h (grub_datetime2unixtime): New function.
19611 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
19612 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
19613
19614 Support UDF symlinks.
19615
19616 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
19617 (grub_ufs_read_symlink): New function. All users updated.
19618
19619 Check amiga partmap checksum.
19620
19621 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
19622 (grub_amiga_partition): Likewise.
19623 (amiga_partition_map_checksum): New function.
19624 (amiga_partition_map_iterate): Check checksum.
19625
5470225d
VS
196262011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 ROMFS support.
19629
19630 * Makefile.util.def (libgrubmods.a): Add romfs.
19631 * grub-core/Makefile.core.def (romfs): New module.
19632 * grub-core/fs/romfs.c: New file.
19633
d4680a35
VS
196342011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19635
19636 Squashfs v4 support.
19637
19638 * Makefile.util.def (libgrubmods.a): Add squash4.
19639 * grub-core/Makefile.core.def (squash4): New module.
19640 * grub-core/fs/squash4.c: New file.
19641 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
19642 disk_input_start, disk_input.
19643 (get_byte): Handle disk_input.
19644 (grub_zlib_disk_read): New function.
19645 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
19646
bcb18e74
FZ
196472011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
196482011-05-15 Feiran Zheng <famcool@gmail.com>
19649
19650 * Makefile.util.def (libgrubmods.a): Add minix3.
19651 * grub-core/Makefile.core.def (minix3): New module.
19652 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
19653 (GRUB_MINIX_BSIZE): Removed.
19654 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
19655 (grub_minix_ino_t): New type.
19656 (grub_minix_le_to_cpu_ino): New macro.
19657 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
19658 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
19659 (grub_minix_data): New field block_size.
19660 (grub_minix_read_file): Handle 64-bit correctly.
19661 * grub-core/fs/minix3.c: New file.
19662
32297d5f
TG
196632011-05-15 Tristan Gingold <gingold@free.fr>
196642011-05-15 Robert Millan <rmh.grub@aybabtu.com>
196652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19666
19667 IA64 support.
19668
19669 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
19670 * configure.ac: Add ia64-efi target.
19671 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
19672 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
19673 * gentpl.py: Add ia64_efi platform.
19674 Rename x86_efi to efi and Add ia64-efi. All users updated.
19675 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
19676 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
19677 Remove kern/generic/rtc_get_time_ms.c on EFI.
19678 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
19679 kern/ia64/dl_helper.c on ia64-efi.
19680 Add kern/emu/cache.c on emu.
19681 (linux): Use on loader/ia64/efi/linux.c on ia64.
19682 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
19683 whether symbol is a function.
19684 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
19685 (grub_symbol): New field 'isfunc'.
19686 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
19687 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
19688 (grub_dl_load_segments): Place all sections into the same region.
19689 [__ia64__]: Create trampolines and got.
19690 [GRUB_MACHINE_EMU]: Call mprotect.
19691 (grub_dl_resolve_symbols): Resolve symbol type as well.
19692 [__ia64__]: Create function descriptors.
19693 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
19694 (grub_rtc_get_time_ms): ... this. Expressions simplified.
19695 (grub_get_rtc): New function.
19696 * grub-core/kern/emu/cache.c [__ia64__]: New file.
19697 * grub-core/kern/emu/cache.S: Renamed to ...
19698 * grub-core/kern/emu/cache_s.S: ... this.
19699 [__ia64__]: Add a nop.
19700 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
19701 [__ia64__]: New function.
19702 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
19703 * grub-core/kern/ia64/dl.c: New file.
19704 * grub-core/kern/ia64/dl_helper.c: Likewise.
19705 * grub-core/kern/ia64/efi/init.c: New file.
19706 * grub-core/kern/ia64/efi/startup.S: Likewise.
19707 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
19708 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
19709 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
19710 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
19711 * grub-core/loader/ia64/efi/linux.c: New file.
19712 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
19713 (GRUB_MOD_DEP): Likewise.
19714 (grub_dl) [__ia64__]: New fields got and tramp.
19715 (grub_dl): New field 'base'.
19716 (grub_dl_register_symbol): New argument isfunc. All users updated.
19717 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
19718 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
19719 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
19720 (grub_ia64_dl_get_tramp_got_size): New proto.
19721 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
19722 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
19723 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
19724 * include/grub/efi/api.h: Skip call wrappers on ia64.
19725 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
19726 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
19727 * include/grub/elf.h (ELF_ST_INFO): New definition.
19728 * include/grub/ia64/efi/kernel.h: New file.
19729 * include/grub/ia64/efi/memory.h: Likewise.
19730 * include/grub/ia64/efi/time.h: Likewise.
19731 * include/grub/ia64/kernel.h: Likewise.
19732 * include/grub/ia64/setjmp.h: Likewise (from glibc).
19733 * include/grub/ia64/time.h: New file.
19734 * include/grub/ia64/types.h: Likewise.
19735 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
19736 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
19737 New protos.
19738 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
19739 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
19740 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
19741 * util/grub-mkimage.c (image_target_desc): New field pe_target.
19742 All users updated.
19743 (EFI64_HEADER_SIZE): New definition. All users updated.
19744 (image_targets): Add ia64-efi.
19745 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
19746 jumpers_addr. All users updated.
19747 Create function descriptors.
19748 (count_funcs): New function.
19749 (unaligned_uint32): New struct.
19750 (MASK20): New definition.
19751 (MASK19): Likewise.
19752 (MASKF21): Likewise.
19753 (add_value_to_slot_20b): New function.
19754 (add_value_to_slot_21_real): Likewise.
19755 (add_value_to_slot_21): Likewise.
19756 (ia64_kernel_trampoline): New struct.
19757 (nopm): New variable.
19758 (jump): Likewise.
19759 (make_trampoline): New function.
19760 (relocate_addresses): Handle ia64.
19761 (make_reloc_section): Likewise.
19762 (load_image): Likewise.
19763
983b414d
VS
197642011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19765
19766 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
19767 warning. Move variables before code while on it.
19768
5d063cdc
VS
197692011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19770
19771 Fuloong support.
19772
19773 * configure.ac: Rename yeeloong platform to loongson. All users updated.
19774 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
19775 * grub-core/boot/mips/loongson/fuloong.S: New file.
19776 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
19777 Explicitly init CS5536.
19778 [FULOONG]: Don't use serial until CS5536 is available.
19779 Set GPIO based on dumps.
19780 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
19781 [FULOONG]: Handle GPIO and memory controller differences.
19782 Parse machine type in $a2.
19783 * grub-core/boot/mips/startup_raw.S: Determine and save the
19784 architecture.
19785 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
19786 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
19787 init on architecture type.
19788 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
19789 SIS315E. Don't init at_keyboard on fuloong.
19790 (grub_halt): Support Fuloong.
19791 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
19792 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
19793 (loongson_machtypes): New array.
19794 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
19795 type.
19796 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
19797 config. All users updated. Handle CS5536 serial.
19798 * grub-core/term/serial.c (grub_serial_register): Conditionalise
19799 default port on machine type. Register serial as inactive.
19800 * grub-core/video/sis315pro.c: New file.
19801 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
19802 definition.
19803 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
19804 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
19805 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
19806 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
19807 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
19808 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
19809 to ...
19810 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
19811 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
19812 definition.
19813 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
19814 (grub_arch_machine): New extern var.
19815 * include/grub/mips/loongson/serial.h
19816 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
19817 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
19818 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
19819 (GRUB_MACHINE_SERIAL_PORT0): ... this.
19820 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
19821 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
19822 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
19823 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
19824 * include/grub/term.h (grub_term_register_input_inactive): New inline
19825 function.
19826 (grub_term_register_output_inactive): Likewise.
19827 * include/grub/video.h (grub_video_driver_id): New value
19828 GRUB_VIDEO_DRIVER_SIS315PRO.
19829 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
19830 New field "names". All users updated.
19831 New field value IMAGE_FULOONG_FLASH.
19832 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
19833
6ada82d1
JU
198342011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
19835
19836 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
19837 and add some clarification.
19838
90c571a4
VS
198392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19840
19841 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
19842 platforms if kernel is compressed.
19843
de04eecf
VS
198442011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19845
19846 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
19847 unused modules since currently referrence counter isn't reliable and
19848 there isn't much memory to recover there anyway.
19849
57688121
VS
198502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
19853 rather than resetting it to allow modules to reference themselves
19854 in init.
19855
3d2c7e35
VS
198562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
19859 counter on dependencies since grub_dl_unref already handles this.
19860
b25db218
VS
198612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19862
19863 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
19864 on error if not already done.
19865
25a45338
VS
198662011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19867
19868 Fix few potential memory misusage.
19869
19870 * grub-core/font/font.c (load_font_index): Don't free char_index to
19871 avoid double free.
b25db218
VS
19872 (grub_font_load): Zero-fill font at alloc for safety.
19873 Close file on error.
19874 (free_font): Free bmp_idx.
25a45338 19875
0cac83df
VS
198762011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19877
19878 * docs/grub.texi (Installation): Fix several outdated claims.
19879
2217a143
VS
198802011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19881
19882 Handle module_license on windows.
19883
19884 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
19885 sections shifted.
19886 (insert_string): Make argument const char * instead of char *.
19887 (write_section_data): Handle long section names.
19888 Handle module_license.
19889
d4de6b01
VS
198902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19891
19892 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
19893 handle class-free menuentries.
19894 (grub_normal_add_menu_entry): Add a check to be sure.
19895
4c2a3b43
VS
198962011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19897
19898 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
19899 PgUp and PgDown.
19900
85c6210f
VS
199012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19902
19903 * configure.ac: Bump version to 1.99.
19904
36084912
VS
199052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19906
19907 Give ATA device a bit more time on first try in order to allow disks
19908 to spin up.
19909
19910 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
19911 if dev->present is 1. Reset dev->present on failure.
19912 (grub_ata_device_initialize): Set dev->present to 1.
19913 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
19914 (grub_ata_device): New member 'present'.
19915
bda0e219
VS
199162011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19917
19918 * util/grub-mkimage.c (generate_image): Update hash.
19919
19e1c41b
VS
199202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19921
19922 Flush caches on DMA memory.
19923
19924 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
19925 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
19926 (grub_dma_free): Likewise.
19927 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
19928
91bbcc0c
VS
199292011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19930
19931 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
19932 to avoid asm treating ld and sd as macros.
19933
60ddfad3
VS
199342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19935
19936 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
19937 decompressor.
19938
a298aa04
VS
199392011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19940
19941 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
19942 grub_decompress_core since later would fail if grub_decompress_core
19943 is too far.
19944
9b44feca
VS
199452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19946
19947 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
19948 R_MIPS_JALR since it's used by newer compiler.
19949
56dbe7b4
VS
199502011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
19951
19952 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
19953
52856af2
VS
199542011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19955
19956 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
19957 file_path to 0 for surety.
19958 (grub_chainloader_boot): Set exit_data to NULL.
19959 Unset the loader once done.
19960 (grub_cmd_chainloader): Fix confusing error message if file is empty.
19961
9c9bfc6d
VS
199622011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19963
19964 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
19965 unknown key into a dprintf.
19966
dd94a3df
VS
199672011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19968
19969 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
19970 on first non-existant partition.
19971
fa68d99c
VS
199722011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19973
19974 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
19975 openning fails.
19976 Reported by: Mark Korenberg.
19977
157effb7
VS
199782011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19979
19980 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
19981 overflow.
19982
ea75312f
VS
199832011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19984
19985 * util/grub-mkimage.c (main): Explicitely flush and sync the output
19986 before closing to ensure that it will be readable by grub-setup.
19987
072b5d31
VS
199882011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19989
19990 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
19991 (devpath_1): Use MAKE_PIWG_PATH.
19992 (devpath_2): Likewise.
19993 (devpath_3): Likewise.
19994 (devpath_4): Likewise.
19995 (devpath_5): Likewise.
19996 (devpath_6): Likewise.
19997
19998 The appleldr.mod was checked that to be binary identical to previous
19999 version.
20000
7fae0051
Z
200012011-05-05 Zach <mikezackles>
20002
20003 Support 2010 Macbooks.
20004
20005 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
20006 (devs): Add devpath_6.
20007
7c515bee
VS
200082011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20009
20010 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
20011 /dev/random. /dev/urandom is good enough for our purposes (salting).
20012
ed660bd8
VS
200132011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20014
20015 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
20016
ee5614b7
VS
200172011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20018
20019 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
20020 hexadecimal.
20021
664889a6
VS
200222011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20023
20024 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
20025 and not 0 on failure.
20026
bd405bbc
CW
200272011-05-03 Colin Watson <cjwatson@ubuntu.com>
20028
20029 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
20030 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
20031 disk; otherwise grub_fs_probe will not fall back to the next
20032 filesystem.
20033 (grub_pxefs_open): Likewise, for consistency.
20034 Reported and tested by: Ezekiel Grave.
20035
4ebff753
CW
200362011-05-03 Colin Watson <cjwatson@ubuntu.com>
20037
20038 * tests/partmap_test.in: Don't hardcode path to parted.
20039 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
20040
8f942553
CW
200412011-05-01 Colin Watson <cjwatson@ubuntu.com>
20042
20043 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
20044 of `ls' to find out which devices are available.
20045
3c62402d
VS
200462011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20047
20048 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
20049 than source address for efi mmap buffer.
20050
723f63f2
VS
200512011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
20054 wrong action on non-detecting the magic.
20055
68797f92
VS
200562011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20057
20058 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
20059 already supplied by another part of the module (fixes compilation on
20060 FreeBSD).
20061
6be8715d
VS
200622011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20063
20064 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
20065 match the one used by mdadm.
20066
e91dba5b
CW
200672011-04-21 Colin Watson <cjwatson@ubuntu.com>
20068
20069 * po/README: Add instructions for creating po/LINGUAS.
20070
c85140b3
CW
200712011-04-21 Colin Watson <cjwatson@ubuntu.com>
20072
20073 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
20074 #551428.
20075
20076 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
20077 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
20078 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
20079 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
20080 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
20081 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
20082 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
20083 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
20084 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
20085 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
20086 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
20087 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
20088 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
20089 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
20090 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
20091 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
20092 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
20093 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
20094 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
20095 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
20096 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
20097 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
20098
92051871
CW
200992011-04-21 Colin Watson <cjwatson@ubuntu.com>
20100
20101 * grub-core/kern/emu/getroot.c
20102 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
20103 test that was incorrectly reintroduced in r3214.
20104 Reported by: Ian Dall. Fixes Savannah bug #33133.
20105
b13f79a4
CW
201062011-04-21 Colin Watson <cjwatson@ubuntu.com>
20107
20108 Fix stack pointer handling in 16-bit relocator.
20109
20110 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
20111 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
20112 Fixes Ubuntu bug #683904.
20113
9b710a88
VS
201142011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20115
20116 * configure.ac: Bump version to 1.99~rc2.
20117
d97e7b59
VS
201182011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20119
20120 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
20121 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
20122 * grub-core/lib/x86_64/setjmp.S: Likewise.
20123 * grub-core/lib/mips/setjmp.S: Likewise.
20124 * grub-core/lib/powerpc/setjmp.S: Likewise.
20125 * grub-core/lib/sparc64/setjmp.S: Likewise.
20126
0624551c
VS
201272011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20128
20129 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
20130 * grub-core/lib/efi/datetime.c: Likewise.
20131
e8f28d4c
VS
201322011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
20135 New function.
20136 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
20137 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
20138 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
20139
bba79a15
VS
201402011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20141
20142 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
20143 bitmap.
20144 (grub_gfxterm_term_init): Likewise.
20145
abc474ef
VS
201462011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20147
20148 Take into account the decorations the computing menu entry width.
20149
20150 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
20151 (grub_gfxmenu_create_box): Register get_border_width.
20152 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
20153 if available.
20154 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
20155 get_border_width.
20156
e74b3947
EP
201572011-04-18 Endres Puschner <code@e7p.de>
20158
20159 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
20160 Don't skip first class.
20161
34faa595
VS
201622011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20163
20164 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
20165 chunks.
20166 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
20167
93a777e3
VS
201682011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20169
20170 Complete 64-bit division support.
20171
20172 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
20173 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
20174 * include/grub/misc.h (grub_divmod64): Rename to ...
20175 (grub_divmod64_full): ... this.
20176 (grub_divmod64): New inline function.
20177
a5102d94
VS
201782011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20179
20180 * util/grub-mkimage.c (generate_image): Add forgotten comma.
20181
f3fb7b36
VS
201822011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20183
20184 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
20185 performing the necessary test.
20186
9ac718b0
VS
201872011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20188
20189 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
20190 (kfreebsd.elf): Likewise.
20191 (pc-chainloader.elf): Likewise.
20192 (ntldr.elf): Likewise.
20193
50d2cc5a
VS
201942011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20195
20196 Identify RAID by its UUID rather than (guessed) name.
20197
20198 * grub-core/disk/raid.c (ascii2hex): New function.
20199 (grub_raid_open): Accept mduuid/%s specification.
20200 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
20201 (get_mdadm_uuid): ... this.
20202 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
20203
e03f7bea
VS
202042011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
20205
20206 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
20207 to negative size.
20208
e74c3112
CW
202092011-04-13 Colin Watson <cjwatson@ubuntu.com>
20210
20211 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
20212 btrfs subvolume.
20213 * util/grub.d/20_linux_xen.in: Likewise.
20214
78fa584f
CW
202152011-04-13 Colin Watson <cjwatson@ubuntu.com>
20216
20217 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
20218 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
20219
20220 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20221 Build a list of relevant visible mounts using the mnt_id and
20222 parent_mnt_id fields, and then scan that list at the end.
20223
9d5f8162
CW
202242011-04-12 Colin Watson <cjwatson@ubuntu.com>
20225
20226 * docs/grub.texi (normal): New section.
20227 (normal_exit): New section.
20228 (Embedded configuration): Add reference to normal.
20229 (GRUB only offers a rescue shell): Likewise.
20230 * docs/grub-dev.texi (Error Handling): Fix typo.
20231
09a9d66f
CW
202322011-04-12 Colin Watson <cjwatson@ubuntu.com>
20233
20234 * NEWS: Drop obsolete entry about probe-only btrfs support.
20235
0c676933
CW
202362011-04-12 Colin Watson <cjwatson@ubuntu.com>
20237
20238 * util/import_gcry.py: Fix typo.
20239
ec9f5e0d
VS
202402011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20241
20242 * NEWS: Add btrfs support.
20243
fe6b2cba
VS
202442011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
202452011-04-11 Colin Watson <cjwatson@ubuntu.com>
20246
20247 BtrFS support. Written by me (Vladimir) with important bugfixes and
20248 even more important testing by Colin.
20249
20250 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
20251 * grub-core/Makefile.core.def (btrfs): Add crc.c.
20252 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
20253 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
20254 mem_input_off and mem_input. All users updated to accept in-RAM input.
20255 (gzio_seek): New function.
20256 (test_zlib_header): Likewise.
20257 (grub_gzio_read): Likewise.
20258 (grub_zlib_decompress): Likewise.
20259 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
20260 Accept partial and non-virtual mounts.
20261 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
20262 avoid receiving /dev/dm-X as device.
20263 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
20264 Handle bind and partial mounts.
20265 * grub-core/lib/crc.c: New file.
20266 * include/grub/deflate.h: Likewise.
20267 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
20268 proto.
20269 * include/grub/lib/crc.h: New file.
20270
e745cf0c
VS
202712011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20272
20273 Implement automatic module license checking according to new GNU
20274 guidelines.
20275
20276 * grub-core/kern/dl.c (grub_dl_check_license): New function.
20277 (grub_dl_load_core): Use grub_dl_check_license.
20278 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
20279 (GRUB_MOD_LICENSE): Likewise.
20280 (GRUB_MOD_DUAL_LICENSE): Likewise.
20281 All modules updated.
20282
2a9bc016
CW
202832011-04-11 Colin Watson <cjwatson@ubuntu.com>
20284
20285 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
20286 reserved_first_sector to 1. btrfs reserves plenty of space for boot
20287 loaders.
20288 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
20289
8a3bc88e
VS
202902011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20291
20292 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
20293
af869a4a
VS
202942011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20295
20296 * util/grub-fstest.c (read_file): Report GRUB error if file opening
20297 failed.
20298
9ee8d94f
VS
202992011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20300
20301 * grub-core/kern/file.c (grub_file_open): Don't take into account the
20302 parenthesis in the middle of the filename.
20303
b01abe3e
VS
203042011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20305
20306 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
20307 rather than trying to put initrd way too high.
20308 Reported by: Ryan Lortie <desrt@desrt.ca>
20309
335bda1e
VS
203102011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20311
20312 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
20313 improperly removed string.
20314
5ca1a64d
VS
203152011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20316
20317 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
20318 is_disk.
20319 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
20320 (open_device) Likewise.
20321 (grub_util_biosdisk_close): Likewise.
d8ce9995 20322 Reported by: Mark Korenberg.
5ca1a64d 20323
cbac5b1e
AK
203242011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
20325
20326 * util/grub-mkconfig_lib.in: Add missing quotes.
20327
088cdb65
CW
203282011-04-10 Colin Watson <cjwatson@ubuntu.com>
20329
20330 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
20331 is NULL.
20332
8b8a81fa
VS
203332011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20334
20335 Dynamically count the number of lines for the lower banner.
20336
20337 * grub-core/normal/menu_entry.c (per_term_screen): New member
20338 num_entries.
20339 (print_down): Use num_entries.
20340 (update_screen): Likewise.
20341 (grub_menu_entry_run): Set num_entries.
20342 * grub-core/normal/menu_text.c (menu_viewer_data): New member
20343 num_entries.
20344 (grub_print_message_indented): Move real part to ...
20345 (grub_print_message_indented_real): ... here. Additional argument
20346 dry_run.
20347 (draw_border): Additional argument num_entries.
20348 (print_message): Additional argument dry_run.
20349 (print_entries): Receive menu viewer data.
20350 (grub_menu_init_page): New argment num_entries.
20351 (menu_text_set_chosen_entry): Use num_entries.
20352 (grub_menu_try_text): Likewise.
20353 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
20354 All users updated.
20355 (grub_ucs4_count_lines): New function.
20356 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
20357 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
20358 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
20359 (grub_term_border_height): Likewise.
20360 (grub_term_num_entries): Likewise.
20361
277f955b
VS
203622011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20363
20364 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
20365 Remove now unused string.
20366
536ce85a
CW
203672011-04-09 Colin Watson <cjwatson@ubuntu.com>
20368
20369 * docs/grub-dev.texi (Finding your way around): Update for 1.99
20370 build system.
20371 (Getting started): GRUB is developed in Bazaar now, not Subversion.
20372
20373 (Comment): Fix typo.
20374 (Getting started): General copy-editing.
20375 (Typical Development Experience): Likewise.
20376 (Error Handling): Likewise.
20377 (Video API): Likewise.
20378
2cf09e32
CW
203792011-04-09 Colin Watson <cjwatson@ubuntu.com>
20380
20381 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
20382 throughout.
20383
1ec652f4
VS
203842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20385
20386 * util/grub-mkimage.c (main): Handle special naming of yeeloong
20387 directory.
20388
2c583728
CW
203892011-04-08 Colin Watson <cjwatson@ubuntu.com>
20390
20391 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
20392 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
20393 "development".
20394
d7a565e9
VS
203952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20396
20397 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
20398 grub_strcpy since the lines aren't necessarily 0-terminated.
20399
7c2e4909
VS
204002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20401
20402 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
20403 root on legacy.
20404
34c09785
VS
204052011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20406
20407 * grub-core/commands/probe.c (options): Argument to set isn't optional.
20408 (GRUB_MOD_INIT): DEVICE isn't optional.
20409
6a6f8058
VS
204102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20411
20412 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
20413 word on new line if it's too long anyway. Fixes a hang.
20414
2e335e90
VS
204152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20416
20417 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
20418 const.
20419 * util/grub-setup.c (main): Reuse md device name if available.
20420 * util/raid.c (grub_util_raid_getmembers): Receive device name and
20421 not GRUB name as argument.
20422 Based on patch by: Florian Wagner <fwagner>.
20423
10a7a867
VS
204242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20425
20426 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20427 Place mbi on low memory for better compatibility.
20428
7a3d6cd9
VS
204292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20430
20431 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
20432
18dd6b47
VS
204332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
204342011-04-08 Colin Watson <cjwatson@ubuntu.com>
20435
20436 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 20437 * conf/Makefile.common: Likewise.
18dd6b47 20438
3c0e3f14
VS
204392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20440
f7148863
VS
20441 * grub-core/normal/menu.c: Add missing include.
20442
204432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20444
20445 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 20446
6d1fa41f
MZ
204472011-04-08 Martin Zuther <mzuther@mzuther.de>
20448
20449 * util/grub-mkconfig.in: Ignore emacsen backup.
20450
478182a8
VS
204512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20452
20453 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
20454 on open.
20455 (grub_util_biosdisk_close): Likewise.
20456
72a89a54
VS
204572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20458
20459 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
20460 const attribute and use grub_isdigit.
20461
b5ebecfa
A
204622011-04-06 Andrey <dev_null@ukr.net>
20463
20464 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
20465 gcc warning.
20466
7755f66e
VS
204672011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20468
20469 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
20470 useful grub_dprintf's.
20471
461121ff
VS
204722011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20473
20474 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
20475
2a961775
VS
204762011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20477
20478 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
20479
adf594cc
VS
204802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20481
20482 Output errors if theme loading failed.
20483
20484 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
20485 grub_gfxterm_fullscreen on error paths to ...
20486 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
20487 theme loading error.
20488
665900a3
VS
204892011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
20492 space for older compilers.
20493 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20494
a562b479
VS
204952011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20496
20497 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
20498 and report them as not RAID members since they are useless for GRUB.
20499 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20500
850e9373
VS
205012011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20502
20503 Increase LVM implementation robustness in order not to crash on
20504 configurations like pvmove. Previously code assumed that in some places
20505 only lvs or only pvs are used whereas it seems that they are used
20506 interchangeably.
20507
20508 * grub-core/disk/lvm.c (read_node): New function.
20509 (read_lv): Use read_node.
20510 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
20511 Match volumes only at the end when all lvs are found. Take both
20512 pvs (first) and lvs (second) into account.
20513 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
20514 mirror_* into node_*. All users updated.
20515 (grub_lvm_stripe): Merge this ...
20516 (grub_lvm_mirror): ... and this ...
20517 (grub_lvm_node): ... into this. All users updated.
20518
6f332153
VS
205192011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20520
20521 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
20522 of function to allow further scanning for LVMs.
20523
829ea451
VS
205242011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20525
20526 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
20527 on failed seek as it breaks open fd reusage.
20528
09ceb9a5
VS
205292011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20530
20531 * util/grub-install.in: Add a recommendation to use --recheck before
20532 reporting bugs.
20533
67e11623
VS
205342011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20535
20536 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
20537 are obtained.
20538
caee5efd
VS
205392011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20540
20541 GRUB developper manual based on existing Internals section and
20542 contributions by the various authors with active copyright assignment.
20543
20544 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
20545 * docs/font_char_metrics.png: New file.
20546 * docs/font_char_metrics.txt: Likewise.
20547 * docs/grub-dev.texi: Likewise.
20548 * docs/grub.texi (Internals): Move from here ...
20549 * docs/grub-dev.texi: ... here.
20550
2cccc747
CW
205512011-04-01 Colin Watson <cjwatson@ubuntu.com>
20552
20553 Store the loopback device as data on loopback grub_disk structures,
20554 rather than the file it points to. This fixes use of freed memory
20555 if an existing loopback device is replaced.
20556
20557 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
20558 disk->data, not dev->file.
20559 (grub_loopback_read): Adjust file assignment to match.
20560 Fixes Ubuntu bug #742967.
20561
186ae367
CW
205622011-04-01 Colin Watson <cjwatson@ubuntu.com>
20563
20564 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
20565 when replacing an existing device.
20566
cfed2ad0
VS
205672011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
20568
20569 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
20570 memory corruptions.
20571
20572 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
20573 unsigned.
20574 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
20575 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
20576 (grub_jfs_read_inode): Likewise.
20577 (grub_jfs_opendir): Likewise. Remove now useless casts.
20578 (grub_jfs_getent): Likewise.
20579 Make ino a grub_uint32_t rather than int.
20580 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
20581 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
20582 division and module with bit operations.
20583 (grub_jfs_find_file): Make ino a grub_uint32_t.
20584 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
20585
05d2ed32
CW
205862011-04-01 Colin Watson <cjwatson@ubuntu.com>
20587
20588 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
20589 warning. (This was in fact always initialised before use, but GCC
20590 wasn't smart enough to prove that.)
20591 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
20592
91dc6073
VS
205932011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20594
20595 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
20596 stack alignment.
20597 (efi_wrap_1): Likewise.
20598 (efi_wrap_2): Likewise.
20599 (efi_wrap_3): Likewise.
20600 (efi_wrap_4): Likewise.
20601 (efi_wrap_5): Likewise.
20602 (efi_wrap_6): Likewise.
20603 (efi_wrap_10): Likewise.
20604 Based on information by: Red Hat/Peter Jones.
20605
a8afc1d1
CW
206062011-03-31 Colin Watson <cjwatson@ubuntu.com>
20607
20608 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
20609 set-but-not-used variable.
20610
a826cc7d
CW
206112011-03-31 Colin Watson <cjwatson@ubuntu.com>
20612
20613 * docs/grub.texi (Simple configuration): Be more explicit about
20614 GRUB_DEFAULT, and add an example.
20615 Reported by: Leslie Rhorer.
20616
875b67ba
CW
206172011-03-30 Colin Watson <cjwatson@ubuntu.com>
20618
20619 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
20620 shell".
20621
fd7cd914
AS
206222011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20623
20624 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
20625 * util/grub.d/20_linux_xen.in: Likewise.
20626
090b1b6a
VS
206272011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20628
20629 * util/grub.d/10_linux.in: Try alternative config filenames where
20630 we parse config file.
20631 * util/grub.d/20_linux_xen.in: Likewise.
20632
baad885c
AS
206332011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20634
20635 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
20636 * util/grub.d/20_linux_xen.in: Likewise.
20637
241e41f5
VS
206382011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20639
20640 * grub-core/disk/raid.c (insert_array): Add few potentially
20641 useful grub_util_info.
20642 (grub_raid_register): Likewise.
20643
56445fb2
VS
206442011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20645
20646 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
20647 Preserve partition number in mdadm code path.
20648
c871b1c6
VS
206492011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20650
20651 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
20652 few potentially useful grub_util_info.
20653
5e631b4f
CW
206542011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20655
20656 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
20657
2d5d0333
CW
206582011-03-30 Colin Watson <cjwatson@ubuntu.com>
20659
20660 * docs/grub.texi (default): Use @example rather than nested
20661 itemized lists to avoid breaking gendocs.
20662
3d7ed04e
CW
206632011-03-30 Colin Watson <cjwatson@ubuntu.com>
20664
20665 * docs/grub.texi (Future): Update.
20666
abf04200 206672011-03-30 Colin Watson <cjwatson@ubuntu.com>
20668
20669 * docs/grub.texi (Environment): New chapter.
20670 (Changes from GRUB Legacy): Link to "Environment block" section for
20671 details of limitations.
20672 (Simple configuration): Likewise. Link to documentation of gfxmode
20673 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
20674 respectively.
20675 (Shell-like scripting): Note that normal variables are stored in the
20676 environment.
20677 (gettext): Link to documentation of lang and locale_dir.
20678 (list_env): New section.
20679 (load_env): New section.
20680 (save_env): New section.
20681
20682 (Reporting bugs): Fix typo.
20683
e1ad0edd
VS
206842011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20685
20686 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
20687 the example.
20688
5d803174
VS
206892011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20690
20691 * grub-core/term/at_keyboard.c (set_scancodes)
20692 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
20693
2a2da1d0
CW
206942011-03-30 Colin Watson <cjwatson@ubuntu.com>
20695
20696 * docs/grub.texi (Menu-specific commands): Remove some semantics
20697 that were true in GRUB Legacy but not in GRUB 2.
20698 (submenu): New section.
20699 (false): New section.
20700 (read): New section.
20701 (true): New section.
20702
a7527639
CW
207032011-03-30 Colin Watson <cjwatson@ubuntu.com>
20704
20705 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
20706
207072011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
20708
20709 * docs/grub.texi (Simple configuration): Explain some of the
20710 current limitations of grub-mkconfig.
8a748df2 20711 Reported by: Leslie Rhorer.
e30af029 20712
fc858482
VS
207132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20714
20715 Old macs search for boot.efi rather than for bootia32.efi.
20716
20717 * util/grub-install.in: Copy bootia32.efi to boot.efi.
20718 * util/grub-mkrescue.in: Likewise.
20719 Suggested by: Peter Jones.
20720
e1eb511d
VS
207212011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20722
20723 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
20724
70e75364
VS
207252011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20726
20727 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
20728 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
20729 (grub_lvm_mirror): New struct.
20730 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
20731 (grub_lvm_iterate): Iterate only visible volumes.
20732 (grub_lvm_read): Factor out to ..
20733 (read_lv): ... this. Support mirrors.
20734 (grub_lvm_read): New wrapper function.
20735 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
20736 stripped or mirrored.
20737
fc18f6a3
VS
207382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20739
20740 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
20741
5c650f4c
CW
207422011-03-29 Colin Watson <cjwatson@ubuntu.com>
20743
20744 * docs/grub.texi (loopback): New section.
20745
61d7156b
CW
207462011-03-29 Colin Watson <cjwatson@ubuntu.com>
20747
20748 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
20749 removed -p option.
20750
994b8264
CW
207512011-03-29 Colin Watson <cjwatson@ubuntu.com>
20752
20753 * docs/grub.texi (BIOS installation): New section, partly based on
20754 previous text in other sections.
20755 (Installing GRUB using grub-install): Replace BIOS discussion with a
20756 cross-reference.
20757 (Images): Likewise.
20758
9e4d19e0
VS
207592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20760
20761 * grub-core/kern/emu/hostdisk.c (find_partition_start)
20762 [HAVE_DIOCGDINFO]: Add safety checks.
20763
a307c0b2
VS
207642011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20765
20766 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
20767 per default compiled in kernel and prior to 8.0 isn't shipped at all.
20768
b4db4f39
CW
207692011-03-29 Colin Watson <cjwatson@ubuntu.com>
20770
20771 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
20772 real_sb->size is zero (e.g. RAID-0), get the disk size from
20773 real_sb->data_size instead.
20774 Fixes Ubuntu bug #743136.
20775
35e5f84c
VS
207762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20777
20778 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
20779 printf clauses for printing size and start.
20780
d2e29d81
VS
207812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20782
20783 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
20784 Reported and tested by: Timothy Nikkel.
20785
ed5587af
VS
207862011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20787
20788 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
20789 (dirty_region_add_real): ... this.
20790 (dirty_region_add): Don't discard margin refresh when performing
20791 scheduled repaint.
20792
a1dc717c
VS
207932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20794
20795 * grub-core/lib/relocator.c (allocate_regstart)
20796 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
20797 terminals are capabple of malloc-free operation.
20798 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20799 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20800
9f3677d3
VS
208012011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
20802
20803 * util/grub-setup.c: Copy the partition table zone if floppy support
20804 is disabled, even if no partition table is found.
20805
20806 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
20807 during POST if an invalid partition table is contained in the PBR
20808 of the active partition when GRUB is installed to a partition.
20809
24148725
CW
208102011-03-28 Colin Watson <cjwatson@debian.org>
20811
20812 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
20813 comment.
20814
f329eda7
CW
208152011-03-28 Colin Watson <cjwatson@debian.org>
20816
20817 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
20818 to be specific about what kind of RAID device we're scanning for.
20819
c482ad98
SG
208202011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
20821
20822 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
20823 return freed string.
20824
5ee04984
VS
208252011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20826
20827 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
20828
f4727da9
VS
208292011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20830
20831 Use libgeom on FreeBSD to detect partitions.
20832
20833 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
20834 (grub-mkrelpath): Likewise.
20835 (grub-script-check): Likewise.
20836 (grub-editenv): Likewise.
20837 (grub-mkpasswd-pbkdf2): Likewise.
20838 (grub-fstest): Likewise.
20839 (grub-mkfont): Likewise.
20840 (grub-mkdevicemap): Likewise.
20841 (grub-probe): Likewise.
20842 (grub-setup): Likewise.
20843 (grub-ofpathname): Likewise.
20844 (grub-mklayout): Likewise.
20845 (example_unit_test): Likewise.
20846 (grub-menulst2cfg): Likewise.
20847 * grub-core/Makefile.core.def (grub-emu): Likewise.
20848 (grub-emu-lite): Likewise.
20849 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
20850 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
20851 define HAVE_DIOCGDINFO.
20852 (follow_geom_up) [FreeBSD]: New function.
20853 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
20854 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
20855 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
20856 unconditionally of HAVE_DIOCGDINFO.
20857
82fe6c75
VS
208582011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20859
20860 Fix FreeBSD compilation problem.
20861
20862 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
20863 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
20864
4c6c9431
CW
208652011-03-24 Colin Watson <cjwatson@ubuntu.com>
20866
20867 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
20868 Switch back to page zero before loading a kernel, since some kernel
20869 drivers expect that.
20870 Thanks to: Felix Kuehling.
20871
c7064d94
VS
208722011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20873
20874 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
20875 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
20876 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
20877
3f71cded
VS
208782011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20879
20880 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
20881 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
20882
ef6de21a
VS
208832011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20884
20885 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
20886 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
20887 malloc is disabled.
20888
8bc66a2c
VS
208892011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20890
20891 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
20892 for modules headers when counting the needed allocation size.
20893
5657722c
VS
208942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20895
20896 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
20897 if no ASCII character is found to prevent crash.
20898
41a85f55
AK
208992011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
20900
20901 * grub-core/video/bitmap.c (match_extension): Ignore case.
20902
59e1e5f1
VS
209032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20904
20905 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
20906
bd4d051a
VS
209072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20908
20909 * grub-core/script/parser.y: Declare "time" as valid argument.
20910
bae7fcc1
PJ
209112011-03-23 Peter Jones <pjones@redhat.com>
20912
20913 Fix incorrect assert failure reporting.
20914
20915 * grub-core/tests/example_functional_test.c (example_test): Add
20916 a failure comment.
20917 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
20918 (failure_start): ...this. Check that malloc succeeded.
20919 Don't call xvasprintf. Return failure struct.
20920 (failure_append_vtext): New function.
20921 (failure_append_text): Likewise.
20922 (add_failure): Likewise.
20923 (grub_test_assert_helper): Likewise.
20924 * include/grub/test.h (grub_test_assert_helper): New declaration.
20925 (grub_test_assert): Macro rewritten.
20926
537dc9be
VS
209272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20928
20929 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
20930
fa3e01bf
VS
209312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20932
20933 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
20934
b1d28404
VS
209352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20936
20937 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
20938 into GRUB-style one.
20939
2e3e2e09
VS
209402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20941
20942 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
20943 error and not grub_errno.
20944 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
20945
ed57e557
VS
209462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20947
20948 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
20949 GRUB_USB_SPEED_NONE in case of failure and not the error code.
20950
d1611f01
VS
209512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20952
20953 * grub-core/efiemu/i386/pc/cfgtables.c
20954 (grub_machine_efiemu_init_tables): Make declaration a prototype.
20955 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
20956 (grub_xnu_unlock): Likewise.
20957 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
20958
7d4e39d6
VS
209592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20960
20961 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
20962 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
20963 * grub-core/commands/hashsum.c (aliases): Likewise.
20964 * grub-core/commands/setpci.c (pci_registers): Likewise.
20965 * grub-core/disk/usbms.c (attach_hook): Likewise.
20966 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
20967 (zio_checksum_table): Likewise.
20968 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
20969 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
20970 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
20971 * grub-core/lib/relocator.c (leftovers): Likewise.
20972 (extra_blocks): Likewise.
20973 * grub-core/loader/i386/bsd.c (relocator): Likewise.
20974 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
20975 (modules_last): Likewise.
20976 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
20977 (devices): Likewise.
20978 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
20979 (modules_last): Likewise.
20980 * grub-core/normal/auth.c (users): Likewise.
20981 * grub-core/normal/context.c (initial_menu): Likewise.
20982 (current_menu): Likewise.
20983 * grub-core/normal/crypto.c (crypto_specs): Likewise.
20984 * grub-core/term/serial.c (grub_serial_ports): Likewise.
20985 (grub_serial_terminfo_input_template): Likewise.
20986 (grub_serial_terminfo_output_template): Likewise.
20987 (grub_serial_terminfo_input): Likewise.
20988 (grub_serial_terminfo_output): Likewise.
20989 (registered): Likewise.
20990 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
20991
40fc4659
VS
209922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20993
20994 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
20995 grub_video_mode_type_t.
20996 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
20997 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
20998 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
20999
2da48d28
VS
210002011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21001
21002 * util/grub-install.in: Correct the x86-64 name as x86_64.
21003
9b43bf39
CW
210042011-03-11 Colin Watson <cjwatson@ubuntu.com>
21005
21006 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
21007 initial chunk read from the kernel always includes GRUB's multiboot
21008 header, which is now outside the first sector.
21009
be1a7ce0
CW
210102011-03-09 Colin Watson <cjwatson@ubuntu.com>
21011
21012 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
21013 cached mmap_size, so that this works correctly when called multiple
21014 times.
21015 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
21016
83a3c48d
CW
210172011-03-09 Colin Watson <cjwatson@ubuntu.com>
21018
21019 * docs/grub.texi (Simple configuration): Tidy up formatting.
21020
57d75699
SJ
210212011-03-07 Szymon Janc <szymon@janc.net.pl>
21022
21023 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
21024 Set-but-not-used variable removed.
21025
028501a0
VS
210262011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21027
21028 Workaround yet another IEEE1275 bug.
21029
21030 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
21031 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
21032 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
21033 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
21034 is set.
21035 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21036 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
21037
d998657d
VS
210382011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21039
21040 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
21041 error.
21042
fee7cdd4
CW
210432011-02-11 Colin Watson <cjwatson@ubuntu.com>
21044
21045 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
21046 empty, since in that case we can only generate either nothing or a
21047 syntactically invalid configuration file.
21048 Reported by: Michal Suchanek. Fixes Debian bug #612898.
21049
97286eb5
CW
210502011-02-09 Colin Watson <cjwatson@ubuntu.com>
21051
21052 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
21053 (Making a GRUB bootable CD-ROM): Likewise.
21054 (Invoking grub-mkrescue): New section.
21055 Reported by: Yann Dirson. Fixes Debian bug #612585.
21056
22b28eb3
CW
210572011-02-09 Colin Watson <cjwatson@ubuntu.com>
21058
21059 * util/grub-install.in: Remove unnecessary brackets from tr
21060 arguments.
21061 * util/grub.d/10_hurd.in: Likewise.
21062 * util/grub.d/10_kfreebsd.in: Likewise.
21063 * util/grub.d/10_linux.in: Likewise.
21064 * util/grub.d/20_linux_xen.in: Likewise.
21065 Reported by: Jamie Heilman. Fixes Debian bug #612564.
21066
7e735e43
CW
210672011-02-08 Colin Watson <cjwatson@ubuntu.com>
21068
21069 * include/grub/file.h (not_easly_seekable): Rename to ...
21070 (not_easily_seekable): ... this. Update all users.
21071
800f1881
CW
210722011-01-28 Colin Watson <cjwatson@ubuntu.com>
21073
21074 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
21075 grub-mkrescue.
21076
3281d3d6
VS
210772011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
21078
21079 * util/grub-mkimage.c (generate_image): Refuse to create the images
21080 bigger than the actual flash (512K) in Loongson machines. 512K is also
21081 the biggest chip supported by them.
21082
3533413c
VS
210832011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21084
21085 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
21086
73ae4f4f
VS
210872011-01-22 Anthony DeRobertis <anthony@derobert.net>
21088
21089 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
21090 super_offset field.
21091
37f4f608
VS
210922011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21093
21094 * util/grub-install.in: Ignore install device on platforms
21095 where it doesn't make sense. Always use UUIDs except on pc, efi and
21096 sparc64.
21097 Reported by: Daniel Kahn Gillmor.
21098
03a4ccb5
VS
210992011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21100
21101 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
21102
ffc8f4d8
VS
211032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
21106 (iterate_real): Don't rely on partition being non-NULL.
21107
80f23be7
VS
211082011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21109
21110 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
21111 supported platforms. Put a compile time assert for this rather than
21112 generate a warning with 32-bit shift.
21113
5d4f4dd5
VS
211142011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21115
21116 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
21117 logical expression more readable.
21118
e489601a
VS
211192011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21120
21121 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
21122 even if some elements have a name.
21123 Reported by: Alexander GQ Gerasiov.
21124
96e0a6ea
CW
211252011-01-22 Colin Watson <cjwatson@ubuntu.com>
21126
21127 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
21128 path unreadable if `grub-probe -t abstraction' fails, for example if
21129 memberlist fails on an LVM volume group.
21130 Reported by: Darius Jahandarie.
21131
81431e2b
CW
211322011-01-22 Colin Watson <cjwatson@ubuntu.com>
21133
21134 * docs/grub.texi (Simple configuration): Document
21135 GRUB_PRELOAD_MODULES.
21136
5e79d66a
CW
211372011-01-17 Colin Watson <cjwatson@ubuntu.com>
21138
21139 * .bzrignore: Remove nonexistent grub-pbkdf2.
21140
646ada34
VS
211412011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
21142
21143 * configure.ac: Bump version to 1.99~rc1.
21144
04360337
VS
211452011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21146
21147 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
21148 for safety.
21149
46c9db88
VS
211502011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21151
21152 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
21153 module.
21154
211552011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
21156
21157 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
21158
4fbf1852
VS
211592011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21160
21161 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
21162 diskdevid.
21163
f1632d4d
VS
211642011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21165
21166 Fix compilation on cygwin.
21167
21168 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
21169 -R .drectve on cygwin.
21170 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
21171 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
21172 (COND_CYGWIN): New condition.
21173 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
21174 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
21175 not @TARGET_OBJ2ELF@.
21176 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
21177 type to determine whether aux is to be used.
21178
0b5e127b
VS
211792011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
21182 realpath'ed device string.
21183 Handle floppy (somewhat).
21184 Issue error in unknown case rather than garbage.
21185 Reported by: Axel Beckert.
21186
173b71e9
VS
211872011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21188
21189 * util/grub.d/00_header.in (load_video): Handle the case when no video
21190 drivers available.
21191 Thanks to: Axel Beckert.
21192
f8f479db
VS
211932011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21194
21195 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
21196 variable. Fixes problem on big endian platforms.
21197
8fc0a245
VS
211982011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
21201 It doesn't work well there.
21202
b8494fbe
VS
212032011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21204
21205 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
21206 warning.
21207 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
21208 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
21209 counter.
21210
b44a558c
VS
212112011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21212
21213 Use alias->path rather than buggy "canon".
21214
21215 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
21216 (ofdisk_hash_add): New argument curcan. All users updated.
21217
51fa856c
CW
212182011-01-11 Colin Watson <cjwatson@ubuntu.com>
21219
21220 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
21221
9da068a5
VS
212222011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21223
21224 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
21225 loadmask before doing any calculations. Use correct type for offset.
21226 (grub_linux_load64): Likewise.
21227
86205c94
CW
212282011-01-11 Colin Watson <cjwatson@ubuntu.com>
21229
21230 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
21231 with NULL.
21232 (console_grub_equivalences_unshift): Likewise.
21233 Reported by: Daniel Dehennin.
21234
4531a206
VS
212352011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21236
21237 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
21238 (set_env_limn_ro): Likewise.
21239 (GRUB_MOD_INIT): Likewise.
21240 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
21241 ARRAY_SIZE while on it.
21242 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
21243 * grub-core/normal/context.c (grub_env_export): Move from here ...
21244 * grub-core/kern/env.c (grub_env_export): ... here.
21245 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
21246 prefix.
21247 * grub-core/kern/main.c (grub_main): Export root and prefix.
21248 * include/grub/env.h (grub_env_export): Export.
21249 Reported by: Seth Goldberg.
21250
45146057
VS
212512011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21252
21253 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21254 Take into account space used by ELF sections and multiboot palette.
21255 Reported by: Grégoire Sutre.
21256
f093110b
VS
212572011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21258
21259 * BUGS: New file.
21260
3395fe52
VS
212612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21262
21263 Pass more appropriate video id to Linux.
21264
21265 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
21266 grub_video_get_driver_id and variable gfxpayloadforcelfb to
21267 fill have_vga.
21268 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
21269 shift params->lfb_size.
21270 * include/grub/i386/linux.h: Make an enume out of have_vga values.
21271
c2fa6cbb
VS
212722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21273
21274 * util/grub-menulst2cfg.c: Add missing include of misc.h.
21275
b3ff6ff0
VS
212762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21277
21278 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
21279 separator and pass bootpath/devid even if only one of them is available.
21280 Reported by: Seth Goldberg.
21281
ae67942e
VS
212822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21283
21284 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
21285 implementations bug on them.
21286
21287 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
21288 memory.
21289 (filter_memory_map): Likewise.
21290
d570097a
VS
212912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21292
21293 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
21294 Reported by: nebuchadnezzar.
21295
a508e776
VS
212962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21297
21298 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
21299 Reported by: nebuchadnezzar.
21300
dcb883b1
VS
213012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21302
21303 Submenu default support.
21304
21305 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
21306 auto_boot. All users updated.
21307 Declared static.
21308 Handle chosen and default with submenus.
21309 (grub_menu_execute_with_fallback): Declared static.
21310 Don't notify failure if autobooted. Upper level does it.
21311 (menuentry_eq): New function.
21312 (get_entry_number): Use menuentry_eq.
21313 (show_menu): New parameter "autobooted". All users updated.
21314 (grub_show_menu): Likewise.
21315 * include/grub/normal.h (grub_show_menu): Likewise.
21316 * include/grub/menu.h (grub_menu_execute_entry): Removed.
21317 (grub_menu_execute_with_fallback): Likewise.
21318
6fef99b4
VS
213192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21320
21321 * util/grub-mklayout.c (usage): Update help text.
21322
47a77af5
VS
213232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21324
21325 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
21326
ce6bb3ee
VS
213272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21328
21329 * util/grub-menulst2cfg.c (main): Trim the line.
21330
db87be2a
VS
213312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21332
21333 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
21334 (grub_machine_init): Don't check amount of low memory as reportedly
21335 INT 12h can be broken and if low memory is too low we wouldn't have
21336 gotten into grub_machine_init anyway.
21337
c49849cc
VS
213382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21339
21340 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
21341 (grub_machine_mmap_iterate): Take low memory into account
21342
b1969b30
VS
213432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21344
21345 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
21346 badfs.
21347 Reported by: TiCPU.
21348
cf0eaf13
VS
213492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21350
21351 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
21352 members errors.
21353
1f060f39
GS
213542011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21355
21356 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
21357 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
21358
a21e5672
GS
213592011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21360
21361 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
21362 openbsd and netbsd types being in part_bsd module.
21363
c88172fa
VS
213642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21365
21366 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
21367 (_FILE_OFFSET_BITS): Likewise.
21368 Reported by: Seth Goldberg.
21369
53798c4b
GS
213702011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21371
21372 * configure.ac: Check for libdevmapper header.
21373
e7121b69
VS
213742011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21375
21376 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
21377 avoid aliasing.
21378 (fzap_lookup): Likewise.
21379 (dnode_get): Likewise.
21380 (make_mdn): Likewise.
21381 (zfs_mount): Likewise.
21382 (fzap_iterate): Use temporary pointer to avoid aliasing.
21383 (grub_zfs_read): Likewise.
21384 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
21385 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
21386 pointers to avoid aliasing.
21387 (grub_cmd_xnu_kernel64): Likewise.
21388 (grub_xnu_load_driver): Likewise.
21389
fc836af9
VS
213902011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21391
21392 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
21393 aliasing warning.
21394 (grub_cmd_terminal_output): Likewise.
21395 Reported and tested by: Grégoire Sutre.
21396
f9f37648
VS
213972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21398
21399 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
21400 warning.
21401 Reported and tested by: Grégoire Sutre.
21402
ec1dfd63
VS
214032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21404
21405 * configure.ac: Do CPU substitution even if it's specified explicitly.
21406 Reported and tested by: Alain Greppin.
21407
9462775a
VS
214082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21409
21410 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
21411 Reported and tested by: Alain Greppin.
21412
0fd48e35
VS
214132011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21414
21415 Satisfy some bison versions need for inttypes.h.
21416
21417 * grub-core/lib/posix_wrap/inttypes.h: New file.
21418 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
21419 (int16_t): Likewise.
21420 (int32_t): Likewise.
21421 (int64_t): Likewise.
21422 Reported and tested by: Alain Greppin.
21423
43f1bc83
VS
214242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21425
21426 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
21427 Silence spurious warning.
21428 Reported and tested by: Alain Greppin.
21429
64d1f041
SJ
214302011-01-07 Szymon Janc <szymon@janc.net.pl>
21431
21432 * docs/grub.texi (Support automatic decompression): Update with xz
21433 decompression support.
21434
25953e10
SJ
214352011-01-07 Szymon Janc <szymon@janc.net.pl>
21436
21437 Improve loaders' kernel command line handling.
21438
21439 * grub-core/lib/cmdline.c: New file.
21440 * include/grub/lib/cmdline.h: Likewise.
21441 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
21442 grub_create_loader_cmdline to create kernel command line.
21443 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21444 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
21445 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
21446 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
21447 (linux): Add lib/cmdline.c on common.
21448
e72d259f
VS
214492011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21450
21451 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
21452 inopos might be unaligned.
21453
c0cf26da
VS
214542011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21455
21456 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
21457 endian transformations.
21458 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21459 Based on report by: Doug Nazar.
21460
0ca09e6c
DN
214612011-01-07 Doug Nazar <nazard.michi@gmail.com>
21462
21463 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
21464 array->members[i].start_sector.
21465 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
21466
014b6806
VS
214672011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21468
21469 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
21470 Reported and tested by: Grégoire Sutre.
21471
415502c2
CW
214722011-01-06 Colin Watson <cjwatson@ubuntu.com>
21473
21474 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
21475 avoid causing test failures by clearing the screen.
21476
71b6a2b7
CW
214772011-01-06 Colin Watson <cjwatson@ubuntu.com>
21478
21479 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
21480 Fix prefix check to handle the case where dir ends with a slash
21481 (most significantly, "/" itself).
21482 Reported by: Michael Vogt.
21483
b3f8d28a
VS
214842011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21485
21486 Run terminfo_cls on initing terminfo output to clear the screen and
21487 move the cursor to (0,0).
21488
21489 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
21490 Call grub_terminfo_output_init.
21491 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
21492 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
21493 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
21494
4c3e4f37
VS
214952011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21496
21497 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
21498 only when needed.
21499
488f71f1
VS
215002011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21501
21502 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
21503 CTRL.
21504
18a38098
VS
215052011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21506
21507 The E820 type 5 is BADRAM, not EXEC_CODE.
21508
21509 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21510 (GRUB_E820_BADRAM): New define.
21511 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
21512 into reserved. Propagate BADRAM.
21513 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21514 (GRUB_E820_BADRAM): New define.
21515
9eae2084
VS
215162011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21517
21518 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
21519 Ignore the memory post-4G.
21520 (grub_relocator_firmware_alloc_region): Additional debug statement.
21521
ebc71d28
VS
215222011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21523
21524 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
21525 names.
21526 Reported by: David Pravec.
21527
446fa400
VS
215282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21529
21530 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
21531 BIOSes.
21532
a0159f37
VS
215332011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21534
21535 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
21536 Prevent overflow.
21537 (grub_reed_solomon_recover): Likewise.
21538
e5146ca1
VS
215392011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21540
21541 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
21542
215432011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
21544
21545 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
21546 variable.
21547
5b1bdf12
CW
215482011-01-04 Colin Watson <cjwatson@ubuntu.com>
21549
21550 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
21551 descriptions of extract_legacy_entries_source and
21552 extract_legacy_entries_configfile.
21553 Reported by: Seung Soo, Ha.
21554
99d925aa
CW
215552011-01-03 Colin Watson <cjwatson@ubuntu.com>
21556
21557 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
21558 on devices that do not implement function 0.
21559
4af0504b
DV
215602011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
21561
21562 * grub-core/fs/hfsplus.c: Make parent unsigned.
21563 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
21564 overflows.
21565 (grub_hfsplus_cmp_extkey): Likewise
21566
469ee10a
VS
215672011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21568
21569 * util/grub-install.in: Correctly use bootloader_id and not
21570 GRUB_DISTRIBUTOR on efibootmgr line.
21571
323a8e9c
VS
215722011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21573
21574 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
21575
1b394975
IC
215762010-12-31 Ian Campbell <ijc@hellion.org.uk>
21577
21578 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
21579 Xen and reorder menu item wording to make it clearer that this entry
21580 will launch Xen. Print separate messages when loading Xen and
21581 Linux.
21582
275bff5f
VS
215832010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21584
21585 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
21586 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
21587 loop in case of incorrect amiga partmap.
21588
307806cb
VS
215892010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21590
21591 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
21592 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
21593 Reported by:EHeM.
21594
b12b923e
VS
215952010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21596
21597 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
21598 spurious warning.
21599 Reported by: crocket
21600
14b48a19
VS
216012010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
21604 Preload EFIemu.
21605 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
21606
693db2df
VS
216072010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21608
21609 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
21610 is loaded
21611 (grub_cmd_xnu_kextdir): Likewise.
21612 (grub_cmd_xnu_splash): Likewise.
21613
c7638645
VS
216142010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21615
21616 Avoid using Reed-Solomon with 0 redundancy.
21617
21618 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
21619 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
21620 or 0 redundancy.
21621 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
21622 (grub_reed_solomon_recover): Likewise.
21623
25dd4780
VS
216242010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21625
21626 Don't use disk subsystem in freebsd_boot.
21627
21628 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
21629 (freebsd_biosdev): Likewise.
21630 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
21631 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
21632
0b2db943
VS
216332010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
21634
21635 Handling of files of unknown size is currently limited. They can't be
21636 used e.g. for initrd or modules. Moreover gzip handling of not
21637 easily seekable files is buggy. Disable unknown file size for now. May
21638 be inefficient but works.
21639
21640 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
21641 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
21642
5c408d0f
MP
216432010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
21644
21645 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
21646 floppy probe.
21647
190a011a
JD
216482010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
21649
21650 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
21651
022d01b8
SL
216522010-12-25 Shea Levy <shlevy>
21653
21654 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
21655
c4855fdc
VS
216562010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21657
21658 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
21659 Windows Server 2008.
21660 Reported by: Devin Giddings.
21661
0354b867
VS
216622010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21663
21664 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
21665 writing an error message because of async power management.
21666 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
21667 (grub_reboot): Likewise.
21668
ab66c69f
JU
216692010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
21670
21671 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
21672 keep unit tests from failing when they shouldn't.
21673
1426ef35
CW
216742010-12-21 Colin Watson <cjwatson@ubuntu.com>
21675
21676 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
21677 previous patch increased the size of the RS code by 20 bytes (at
21678 least with gcc-4.4), so increase this by 20 bytes to match.
21679 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
21680
20641b6b
CW
216812010-12-21 Colin Watson <cjwatson@ubuntu.com>
21682
21683 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
21684 scratch area. Make sure to initialise chosen in standalone mode as
21685 well as non-standalone.
21686 Reported by: Robert Hooker and Andy Whitcroft.
21687 Tested by: Andy Whitcroft.
21688
d060ad60
CW
216892010-12-21 Colin Watson <cjwatson@ubuntu.com>
21690
21691 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
21692 constructing a new unescaped string and passing it to grub_xputs in
21693 one go, rather than passing characters to grub_printf one at a time.
21694
b889cfad
CW
216952010-12-21 Colin Watson <cjwatson@ubuntu.com>
21696
21697 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
21698 initialising utf16.
21699
4e01b6c8
CW
217002010-12-21 Colin Watson <cjwatson@ubuntu.com>
21701
21702 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
21703 comment. Add an extra layer of quotation, requiring the output of
21704 this function to be used in a printf format string.
21705 (gettext_printf): New function.
21706 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
21707 Extract translatable strings from here-documents and use a temporary
21708 variable instead, so that xgettext can find them.
21709 * util/grub.d/10_kfreebsd.in: Likewise.
21710 * util/grub.d/10_linux.in: Likewise.
21711 * util/grub.d/20_linux_xen.in: Likewise.
21712
21713 * po/grub.d.sed: New file.
21714 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
21715 arguments. Set c-format flags on all strings extracted from
21716 util/grub.d/ (xgettext refuses to include these itself for strings
21717 it extracted from a shell file, but these really are c-format).
21718
5318fe98
VS
217192010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21720
21721 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
21722 Avoid next pointing to nowhere.
21723
6c85b743
VS
217242010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21725
21726 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
21727 rather than assuming than rootblock is exactly in the middle.
21728 (grub_affs_label): Likewise.
21729
a2a08a35
VS
217302010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21731
21732 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
21733 reserved_first_sector to 0.
21734 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
21735 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
21736 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
21737
7059d1ec
VS
217382010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21739
21740 Fix handling of UTF-16 UDF labels.
21741
21742 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
21743 (read_string): .. here.
21744 (grub_udf_label): Use read_string.
21745
30aff4cb
BC
217462010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
21747
21748 * grub-core/normal/menu_entry.c (run): Execute commands from menu
21749 editor under argument scope.
21750 Reported by: Jordan Uggla
21751
5cf86f4b
VS
217522010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21753
21754 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
21755
32570200
CW
217562010-12-18 Colin Watson <cjwatson@ubuntu.com>
21757
21758 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
21759 line, and other keys scroll an entire page (previous handling was
21760 for \r and \n to scroll a page and other keys to scroll two lines).
21761
e1dffcf2
VS
217622010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21763
21764 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21765 Set ptrdest to correct get_physical_target_address rather than
21766 incorrect get_virtual_current_address.
21767
b04298cf 217682010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
21769
21770 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
21771 correct cat to grub_uint8_t * rather than grub_uint32_t *.
21772
5367ecd3
CW
217732010-12-10 Colin Watson <cjwatson@ubuntu.com>
21774
21775 * .bzrignore: Ignore grub-core/rs_decoder.S.
21776
1fb430f8
CW
217772010-12-10 Colin Watson <cjwatson@ubuntu.com>
21778
21779 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
21780 .mo/.mo.gz opening sequence to ...
21781 (grub_mofile_open_lang): ... here.
21782 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
21783 * util/grub.d/00_header.in (grub_lang): Include country part of
21784 locale.
21785 Reported by: Mario Limonciello.
21786
a94a6671
RM
217872010-12-09 Robert Millan <rmh@gnu.org>
21788
21789 * NEWS: Document addition of ZFS support.
21790
24b7938b
CW
217912010-12-04 Colin Watson <cjwatson@ubuntu.com>
21792
21793 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
21794 rather than `/ 2', as the latter requires -Wa,--divide which would
21795 require bumping our minimum binutils version.
21796
bddc3ef6
BC
217972010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
21798
21799 * util/grub-script-check.c (main): Print script line number on
21800 error.
21801
bf78d5b2
RM
218022010-12-01 Robert Millan <rmh@gnu.org>
21803
21804 * grub-core/fs/zfs/zfs.c: New file.
21805 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
21806 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
21807 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
21808 * grub-core/fs/zfs/zfsinfo.c: Likewise.
21809
21810 * include/grub/zfs/dmu.h: Likewise.
21811 * include/grub/zfs/dmu_objset.h: Likewise.
21812 * include/grub/zfs/dnode.h: Likewise.
21813 * include/grub/zfs/dsl_dataset.h: Likewise.
21814 * include/grub/zfs/dsl_dir.h: Likewise.
21815 * include/grub/zfs/sa_impl.h: Likewise.
21816 * include/grub/zfs/spa.h: Likewise.
21817 * include/grub/zfs/uberblock_impl.h: Likewise.
21818 * include/grub/zfs/vdev_impl.h: Likewise.
21819 * include/grub/zfs/zap_impl.h: Likewise.
21820 * include/grub/zfs/zap_leaf.h: Likewise.
21821 * include/grub/zfs/zfs.h: Likewise.
21822 * include/grub/zfs/zfs_acl.h: Likewise.
21823 * include/grub/zfs/zfs_znode.h: Likewise.
21824 * include/grub/zfs/zil.h: Likewise.
21825 * include/grub/zfs/zio.h: Likewise.
21826 * include/grub/zfs/zio_checksum.h: Likewise.
21827
21828 * Makefile.util.def: Build ZFS into libgrubmods.
21829 * grub-core/Makefile.core.def: Build zfs.mod.
21830
3f0f3831
SJ
218312010-11-30 Szymon Janc <szymon@janc.net.pl>
21832
21833 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
21834 variable.
21835 * grub-core/commands/wildcard.c (match_files): Likewise.
21836
3a4253b2
RM
218372010-11-30 Robert Millan <rmh@gnu.org>
21838
21839 * grub-core/loader/i386/bsd.c
21840 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
21841 whether kernel is loaded using grub_loader_is_loaded(), rather
21842 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
21843 certain error conditions.
21844
8c317b27
RM
218452010-11-30 Robert Millan <rmh@gnu.org>
21846
c5c9cd3e
RM
21847 * grub-core/commands/echo.c: Include `<grub/term.h>'.
21848 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 21849
49d3ab46
VS
218502010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21851
21852 Avoid using tricks for initialising endian variables.
21853
21854 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
21855 Make const.
21856 (GRUB_MOD_INIT): Don't byte-swap.
21857 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21858 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
21859 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
21860 (grub_swap_bytes32_compile_time): Likewise.
21861 (grub_cpu_to_le32_compile_time): Likewise.
21862 (grub_cpu_to_le16_compile_time): Likewise.
21863
f420a804
VS
218642010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21865
21866 * util/grub-setup.c (setup): Stop recommending --force. People who
21867 understand the dangers of blocklists are able to find this option
21868 anyway and the ones who don't shouldn't use it anyway.
21869
4e7db17b
RM
218702010-11-26 Robert Millan <rmh@gnu.org>
21871
21872 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
21873 Update all users.
21874
9be57a0d
CW
218752010-11-26 Colin Watson <cjwatson@ubuntu.com>
21876
21877 Fix LVM-on-RAID probing.
21878
21879 * util/grub-probe.c (probe): Remember which disk was detected as
21880 RAID (perhaps an LVM physical volume). Use that disk's raidname
21881 rather than that of the top-level disk.
21882
2c7859b3 218832010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 21884
d7647bb6
BC
21885 Fix cmdline argument quotes for setparams command of menuentry
21886 definitions.
7e623b0d
BC
21887
21888 * grub-core/commands/menuentry.c (setparams_prefix): Use single
21889 quotes for arguments.
f866fe80 21890 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 21891 grub_strchrsub function instead.
f866fe80 21892
7955bea0 21893 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 21894
74f72a64
CW
218952010-11-24 Colin Watson <cjwatson@ubuntu.com>
21896
21897 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
21898 effort by skipping "." and ".." entries up-front.
21899 Suggested by: Michael Lazarev.
21900
5a407278
CW
219012010-11-24 Colin Watson <cjwatson@ubuntu.com>
21902
21903 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
21904 ldflags to ldadd, to fix link line ordering.
21905 (none_decompress): Likewise.
21906
3030d8ec
CW
219072010-11-24 Colin Watson <cjwatson@ubuntu.com>
21908
21909 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
21910 platforms.
21911 (grub-emu-lite): Remove kern/emu/cache.S.
21912
b7fbac12
CW
219132010-11-23 Colin Watson <cjwatson@ubuntu.com>
21914
21915 * util/deviceiter.c (compare_devices): If the by-id link for a
21916 device couldn't be resolved, fall back to sorting by the by-id link
21917 rather than segfaulting.
21918 Reported and tested by: Daniel Mierswa.
21919
5225f328
CW
219202010-11-23 Colin Watson <cjwatson@ubuntu.com>
21921
21922 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
21923 ldflags, to fix link line ordering.
21924
038b3ce8
CW
219252010-11-23 Colin Watson <cjwatson@ubuntu.com>
21926
21927 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
21928 linkers are picky about this.
21929
bf16e98e
CW
219302010-11-23 Colin Watson <cjwatson@ubuntu.com>
21931
21932 * grub-core/Makefile.am (command.lst): Adjust sed expression
21933 ordering so that extended and priority commands aren't treated as
21934 ordinary commands.
21935
7242bab6
CW
219362010-11-23 Colin Watson <cjwatson@ubuntu.com>
21937
21938 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21939 Remove byte-swapping function calls, which are not valid in
21940 structure initialisers.
21941 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
21942 non-const.
21943 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
21944 grub_gpt_partition_type_bios_boot.
21945
14e8b279
CW
219462010-11-22 Colin Watson <cjwatson@ubuntu.com>
21947
21948 Fix test program build on GNU/kFreeBSD.
21949
21950 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
21951 $(LIBNVPAIR)' library dependencies.
21952
e6f63338 219532010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
21954
21955 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
21956
cf8ffc38
CW
219572010-11-22 Colin Watson <cjwatson@ubuntu.com>
21958
21959 * util/grub-install.in: Remove excessive quoting that broke
21960 installations to RAID devices.
21961
7f8b0fd7
VS
219622010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21963
21964 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
21965 bootloader version instead of 0.
21966
dfd240b1
VS
219672010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21968
21969 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
21970 warning.
21971
7b61e609
VS
219722010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21973
21974 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
21975 retrieve the metadat sector if size isn't known.
21976 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21977
9dfe92d0
RM
219782010-11-18 Robert Millan <rmh@gnu.org>
21979
21980 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
21981 with grub_memcmp().
21982
41cc919e
VS
219832010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
21984
21985 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
21986 arrow.
21987 Reported by: Jordan Uggla.
21988
1afcc914
VS
219892010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21990
21991 Make better UTF compliant.
21992
21993 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
21994 sequences as incorrect.
21995 (grub_is_valid_utf8): Likewise.
21996 (grub_utf8_to_ucs4): Likewise.
21997 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
21998 (grub_ucs4_to_utf8_alloc): Likewise.
21999 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
22000
f1808884
VS
220012010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22002
22003 Make legacy_source behave like source.
22004
22005 * grub-core/commands/legacycfg.c (legacy_file): Don't call
22006 grub_show_menu.
22007 (grub_cmd_legacy_source): Call grub_show_menu if needed.
22008
24ec575b
CW
220092010-11-16 Colin Watson <cjwatson@debian.org>
22010
22011 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
22012 (-Wunused implies -Wunused-parameter, but not vice versa).
22013
72b7c7aa
CW
220142010-11-16 Colin Watson <cjwatson@ubuntu.com>
22015
22016 * configure.ac: Make error messages less confusing by testing for
22017 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
22018 accepted, but produces a diagnostic if something else is wrong).
22019
e98937aa
VS
220202010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22021
22022 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
22023 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
22024 (now unused).
22025 (grub_keyboard_controller_init)
22026 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
22027 read the initial state since controller isn't inited yet.
22028
f6bbabc3
VS
220292010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22030
22031 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
22032 allocate_regbeg may need to create new chunk header.
22033
22e7dbb2
VS
220342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22035
22036 Fix quoting in legacy parser.
22037
22038 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
22039 single quotes.
22040 (grub_legacy_parse): Likewise.
22041 Reported by: Jordan Uggla.
22042 Tested by: Jordan Uggla.
22043
03f80960
VS
220442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22045
22046 Don't add -lgcc on i386 and x86_64.
22047
22048 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
22049 * conf/Makefile.common (LDADD_KERNEL): Likewise.
22050 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
22051
779dc15b
VS
220522010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22053
22054 * configure.ac: Add -Wno-trampolines when supported.
22055
d20a3b37
MV
220562010-11-14 Modestas Vainius <modax@debian.org>
22057
22058 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
22059 fakeraid.
22060
e5360933
GC
220612010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22062
22063 Add generic logical block size support for UDF.
22064
22065 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
22066 (GRUB_UDF_BLKSZ): Removed.
22067 (struct grub_udf_data): New field "lbshift" to hold the logical block
22068 size of the file system in log2 format. All users updated.
22069 (sblocklist): Change type to unsigned.
22070 (grub_udf_mount): Change type of "sblklist" to unsigned.
22071 Move AVDP search before VRS recognition, because the latter requires
22072 knowledge of the logical block size, which is detected during the
22073 former.
22074 Detect and validate logical block size during AVDP search, adding
22075 support for block sizes 512, 1024 and 4096.
22076 Make VRS recognition independent of block size.
22077
cb0229c5
GC
220782010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22079
22080 Properly handle deleted files on UDF.
22081
22082 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
22083 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
22084 set.
22085
406858a8
GC
220862010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22087
22088 Support reading files larger than 2 GiB.
22089
22090 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
22091 "offset" to grub_off_t.
22092 (grub_udf_read_file): Likewise for parameter "pos".
22093
130da6a7
VS
220942010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22095
22096 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
22097 unavailable.
22098 (Simple configuration): Refer to Changes from GRUB Legacy about
22099 save_env availability.
22100
65e93f6b
VS
221012010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22102
22103 * util/grub-install.in: Ignore empty partition table detection
22104 instead of trying to include part_ module.
22105
1fd08bf1
VS
221062010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22107
22108 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
22109 LVM on RAID support.
22110
de1a024f
VS
221112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22112
22113 Properly define WORDS_BIGENDIAN in wrapped environments.
22114
22115 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
22116 definition.
22117 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
22118
22119 Reported by: Manoel Rebelo Abranches.
22120 Tested by: Manoel Rebelo Abranches.
22121
bc5dd0b9
VS
221222010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22123
22124 * util/grub-mkconfig.in: Fix quoting.
22125
58c184be
VS
221262010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22127
22128 Support big ext2 files.
22129
22130 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
22131 (grub_ext2_read_block): Support triple indirect blocks.
22132 (grub_ext2_read_file): Use 64-bit types and read size_high.
22133 (grub_ext2_open): Read size_high.
22134 Reported by: Ximin Luo.
22135 Tested by: Manoel Rebelo Abranches.
22136
5f0c02b3
VS
221372010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22138
22139 * util/grub-install.in: Handle filenames containing spaces.
22140 Reported by: Jordan Uggla.
22141 Tested by: Jordan Uggla.
22142
4417aae6
VS
221432010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22144
22145 * util/grub-mkconfig.in (grub_script_check): New variable.
22146 Use grub_script_check instead of grub-script-check.
22147 Reported by: Barry Jackson.
22148
7625a68e
VS
221492010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22150
22151 * docs/grub.texi (menu): Correct the order.
22152 Reported by: D. Hugh Redelmeier.
22153
10001ac5
VS
221542010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
22155
22156 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
22157 jump.
22158
9c4cf53b
MRA
221592010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22160
10001ac5
VS
22161 * include/grub/elfload.h (grub_elf32_size): New parameter.
22162 All users updated.
9c4cf53b
MRA
22163 Return maximum segments alignment.
22164 (grub_elf64_size): Likewise.
22165 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
22166 Return maximum segments alignment.
22167 (grub_elf64_size): Likewise.
22168 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
22169 (grub_linux_claimmap_iterate): New function. Uses the
22170 "available" property in the "memory" node for memory allocation
22171 for kernel in the PowerPC loader.
9c4cf53b
MRA
22172 (grub_linux_load32): Correctly find linux entry point offset.
22173 (grub_linux_load64): Likewise.
22174
d2bf06bf
RM
221752010-11-07 Robert Millan <rmh@gnu.org>
22176
22177 On mips-yeeloong, build with -march=loongson2f when this flag is
22178 available (GCC >= 4.4).
22179 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
22180 `-march=mips3'.
22181 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
22182 or otherwise add -march=mips3.
22183
898c99a2
BC
221842010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
22185
87220a68
BC
22186 Suppress shell expansion on echo '*' and echo "*" like cases.
22187 Reported by: Jordan Uggla.
898c99a2
BC
22188
22189 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
22190 string arguments before shell expansion.
22191 * tests/grub_cmd_echo.in: New testcases.
22192
4f9b406a
RM
221932010-11-07 Robert Millan <rmh@gnu.org>
22194
22195 * conf/mips-qemu-mips.rmk: Remove stale file from previous
22196 transition.
22197
80c6d25e
VS
221982010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
22199
22200 * grub-core/kern/emu/hostdisk.c
22201 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
22202
4a1a0153
VS
222032010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22204
22205 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
22206 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
22207 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
22208
34706ddc
VS
222092010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22210
22211 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
22212
6972dea9
VS
222132010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22214
22215 * util/grub-install.in: Replace useless recomendation to pass
22216 --modules with a recomendation to report a bug.
22217
9c693bd6
VS
222182010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22219
22220 Properly register serial terminfo.
22221 Reported by: Jordan Uggla
22222
22223 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
22224 const.
22225 (grub_serial_terminfo_output_template): Likewise.
22226 (grub_cmd_serial): Register "serial" with terminfo.
22227 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
22228 grub_serial_terminfo_output.
22229
6c9e4c0c
RM
222302010-11-05 Robert Millan <rmh@gnu.org>
22231
22232 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
22233 needed).
22234
b9b3839f
RM
222352010-11-05 Robert Millan <rmh@gnu.org>
22236
22237 On Yeeloong, pass machine type information to Linux.
22238
22239 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
22240 (LOONGSON_MACHTYPE): New macro, set to
22241 "machtype=lemote-yeeloong-2f-8.9inches".
22242 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
22243 additional argument to Linux.
22244
1a3aaff4
RM
222452010-11-04 Robert Millan <rmh@gnu.org>
22246
22247 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
22248 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
22249 (its SATA disks are detected as slaveless IDE master drives on
22250 kFreeBSD).
22251 Reported by Carsten Aulbert.
22252
a75f4f62
CW
222532010-11-02 Colin Watson <cjwatson@ubuntu.com>
22254
22255 * util/bin2h.c (main): Fix spelling error in generated output.
22256
33b4b0c6
GS
222572010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
22258
22259 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
22260
2b36fbf4
VS
222612010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22262
22263 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
22264 vga= option is supplied.
22265
74aaf558
VS
222662010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22267
22268 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
22269 * util/grub.d/10_kfreebsd.in: Likewise.
22270 * util/grub.d/10_linux.in: Likewise.
22271 * util/grub.d/20_linux_xen.in: Likewise.
22272
6428dec3
VS
222732010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22274
22275 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
22276 argument as an argument to no-argument option.
22277
f8729d98
VS
222782010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22279
22280 * util/grub.d/10_linux.in: Add missing load_video with explicit
22281 GRUB_GFXPAYLOAD_LINUX.
22282
89d68fa6
VS
222832010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22284
22285 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
22286
3a1197cd
VS
222872010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22288
22289 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
22290 elements with invlid index.
22291 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22292 * grub-core/disk/raid.c (insert_array): Automatically reallocate
22293 members.
22294 * include/grub/raid.h (grub_raid_member): New struct.
22295 (grub_raid_array): Transform devices and start_sector into usage of
22296 grub_raid_member. All users updated
22297 (allocated_devs): New member.
22298
71574288
VS
222992010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22300
22301 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
22302 is modified
22303
8d40ec65
BC
223042010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
22305
22306 NetBSD build fix for getline function conflict from gnulib.
22307
22308 * Makefile.util.def (libgrubkern.a): New library for grub kernel
22309 components that depend on gnulib headers.
22310 (libgrubmods.a): Renamed from earlier libgrub.a.
22311 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
22312
95b9257e
VS
223132010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22314
22315 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
22316 install rather than creating a broken install.
22317
26c53dc6
VS
223182010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22319
22320 * util/grub-setup.c (argp): Remove misleading example of installing to
22321 a partition.
22322
4171b3c5
VS
223232010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22324
22325 * util/grub-setup.c (setup): Clarify the error message.
22326
18568d18
VS
223272010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22328
22329 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
22330
4f6a2e21
VS
223312010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22332
22333 * grub-core/kern/emu/misc.c
22334 (grub_make_system_path_relative_to_its_root)
22335 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
22336
223372010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
22338
22339 * grub-core/kern/emu/misc.c
22340 (grub_make_system_path_relative_to_its_root): Revert r2882.
22341
e138c458
VS
223422010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
22343
22344 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
22345 useless field head. All users updated.
22346 (free_subchunk): Correct handling of IN_REGION subchunk.
22347
0cbcdf0e
CW
223482010-10-22 Colin Watson <cjwatson@ubuntu.com>
22349
22350 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
22351 (Supported kernels): Likewise.
22352
b65ea155
GS
223532010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22354
22355 Make mktemp invocations portable.
22356
22357 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
22358 exit if mktemp fails.
22359 * tests/grub_script_blockarg.in: Likewise.
22360 * tests/partmap_test.in: Likewise.
22361 * tests/util/grub-shell-tester.in: Likewise.
22362 * tests/util/grub-shell.in: Likewise.
22363 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22364 * Makefile.am: Likewise, and chain shell commands with `&&'
22365 instead of ';'.
22366 * util/grub-mkrescue.in: Use the same explicit template as above, and
22367 exit if mktemp fails.
22368
05f43cdd
BC
223692010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
22370
22371 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
22372 Linux kernel, reported by Dennis Schridde.
22373
800e6a9b
SJ
223742010-10-17 Szymon Janc <szymon@janc.net.pl>
22375
22376 * grub-core/normal/auth.c (grub_auth_check_authentication):
22377 Set-but-not-used variable removed.
22378
d82df574
VS
223792010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22380
22381 * docs/grub.texi (GNU/Linux): Document APM unavailability with
22382 32-bit linux protocol.
22383
7bced458
VS
223842010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22385
22386 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
22387 cursor shape for sanity.
22388
5b027690
VS
223892010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22390
22391 * docs/grub.texi (Installation): Document buggy BIOS install.
22392
ba5f65cf
VS
223932010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22394
22395 * docs/grub.texi (Installation): Indent.
22396
fdf2ec9c
VS
223972010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22398
22399 * util/grub-setup.c (setup): New parameter allow_floppy.
22400 (arguments): New member allow_floppy.
22401 (argp_parser): Handle --allow-floppy.
22402 (main): Pass allow_floppy.
22403 * util/grub-install.in: New option --allow-floppy passed though to
22404 grub-setup.
22405
861dfd4c
VS
224062010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22407
22408 * util/grub-install.in: Handle partitionless disks.
22409
f77a8c24
VS
224102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22411
22412 * util/grub-setup.c (setup): Don't clean blocklists before readability
22413 verfification.
22414
27d9ee32
VS
224152010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22416
22417 * docs/grub.texi (Installation): Document embedding zone. Remove
22418 obsolete grub-install example.
22419
6bdda8f8
SJ
224202010-10-16 Szymon Janc <szymon@janc.net.pl>
22421
22422 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
22423 Set-but-not-used variable ifdef'ed.
22424 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
22425 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
22426 variable removed.
22427 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
22428 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
22429 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
22430 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
22431 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
22432 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22433 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
22434 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
22435 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
22436 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
22437 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
22438 Likewise.
22439
e19b016b
VS
224402010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22441
22442 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
22443 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
22444 enum value.
22445
6c8d3002
VS
224462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22447
22448 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
22449 synonym to _S5_. Needed for some DSDTs.
22450
c32b51c9
VS
224512010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22452
22453 Userspace ACPI parser debugging.
22454
22455 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
22456 headers and add relevant defines. Don't include standard headers.
22457 (main) [GRUB_DSDT_TEST]: New function.
22458 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
22459 Don't declare functions.
22460
fbfbeb39
VS
224612010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22462
22463 Remove dead grub_efi_mm_fini.
22464
22465 * grub-core/kern/efi/mm.c (allocated_page): Removed.
22466 (ALLOCATED_PAGES_SIZE): Likewise.
22467 (MAX_ALLOCATED_PAGES): Likewise.
22468 (allocated_pages): Likewise.
22469 (grub_efi_allocate_pages): Don't record allocated pages.
22470 (grub_efi_free_pages): Likewise.
22471 (grub_efi_mm_init): Likewise.
22472 (grub_efi_mm_fini): Removed.
22473
65f7ed7c
VS
224742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22475
22476 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
22477 (grub_efi_mm_init): Take into account the memory map size increase.
22478
24977b44
VS
224792010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22480
22481 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
22482 (serial_hw_put): Wait based on real time rather than port reads. Don't
22483 roken ports.
22484 * include/grub/serial.h (grub_serial_port): New field broken.
22485
1eb01cd2
RM
224862010-10-16 Robert Millan <rmh@gnu.org>
22487
22488 * grub-core/kern/emu/misc.c
22489 (grub_make_system_path_relative_to_its_root): Fix premature return
22490 when processing non-root ZFS filesystems.
5f8b440b 22491 Reported by Sergio Talens-Oliag.
1eb01cd2 22492
2d5fed60
RM
224932010-10-15 Robert Millan <rmh@gnu.org>
22494
22495 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
22496 guarantee compressed ones are processed first.
22497
d0f4c1ea
VS
224982010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22499
22500 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
22501 grub_efiemu_autocore.
22502
d87c681f
VS
225032010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22504
22505 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
22506 rather than 0x1b.
22507 (grub_console_getkey): Use correct jae opcode rather than ja.
22508
219b3564
RM
225092010-10-12 Robert Millan <rmh@gnu.org>
22510
22511 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
22512 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
22513 variable. All references updated.
22514
22515 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
22516
20c6bb7e
VS
225172010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
22518
22519 Correctly distinguish mdraid flavours.
22520
22521 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
22522 (insert_array): New argument raid.
22523 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
22524 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
22525 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
22526
74baff84
VS
225272010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
22528
22529 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
22530 handling of special keys.
22531
3ef068df 225322010-10-02 Aleš Nesrsta <starous@volny.cz>
22533
c7980ad9
VS
22534 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
22535 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 22536
a9455194 225372010-10-02 Aleš Nesrsta <starous@volny.cz>
22538
c7980ad9
VS
22539 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
22540 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
22541 users updated.
a9455194 22542 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 22543 Use right endpoint when querying descriptor.
a9455194 22544
441cfe65
VS
225452010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22546
22547 Clear out 0x80 color bit on EFI.
22548 Tested by: decoder
22549 Reported by: decoder and meta tech.
22550
22551 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
22552 (grub_console_setcolorstate): Clear out 0x80 bit.
22553 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
22554 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
22555 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
22556
bf26bcc4
VS
225572010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22558
22559 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
22560 Set to "auto".
22561
6e3c515d
VS
225622010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22563
22564 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
22565 mo_file after freeing.
22566
e6d983ba
VS
225672010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22568
22569 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
22570
74ccb5b5
VS
225712010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22572
22573 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
22574 flags.
22575
17821956
VS
225762010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22577
22578 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
22579 usage.
22580
ee74fa48
VS
225812010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22582
22583 Put terminfo into core on ieee1275 and yeeloong (needed for console).
22584
22585 * gentpl.py: New groups terminfoinkernel and terminfomodule.
22586 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
22587 and terminfo.h when needed.
22588 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
22589 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
22590 (terminfo): Enable only on terminfokernel.
22591 (extcmd): Likewise.
22592 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
22593 * include/grub/lib/arg.h: Likewise.
22594 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
22595 incorrect usage of ->.
22596
aa438e68
VS
225972010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22598
22599 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
22600 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
22601
57994012
VS
226022010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22603
22604 Fix coreboot compilation.
22605
22606 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22607 Take VBE info into account even if only text is supported.
22608 (fill_vbe_info): Take into account the case when only VGA text
22609 is supported.
22610 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
22611 on coreboot, multiboot and qemu.
22612
2a406611
VS
226132010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22614
22615 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
22616 debug messages.
22617 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
22618
d33613fc
VS
226192010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22620
22621 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
22622 parameters.
22623
44a1b432
VS
226242010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22625
22626 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
22627 if they were BSD-style.
22628
edde54e6
VS
226292010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22630
22631 * grub-core/boot/i386/pc/lnxboot.S: Replace
22632 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
22633 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
22634
b65830fa
VS
226352010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22636
22637 Write embedding zone using Reed-Solomon.
22638
22639 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
22640 * grub-core/Makefile.am (rs_decoder.S): New target.
22641 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
22642 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
22643 (multiboot): Move to RS part.
22644 (post_reed_solomon): New label.
22645 (grub_boot_drive): Move to non-RS part since it's modified in memory
22646 on boot.
22647 Include rs_decoder.S.
22648 * grub-core/lib/reed_solomon.c: New file.
22649 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
22650 New definition.
22651 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
22652 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
22653 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
22654 * include/grub/partition.h (grub_partition_map): Change prototype of
22655 embed to allow returning additional sectors.
22656 * include/grub/reed_solomon.h: New file.
22657 * util/grub-setup.c (setup): Handle Reed-Solomon.
22658
0b4b227f
CW
226592010-09-28 Colin Watson <cjwatson@ubuntu.com>
22660
22661 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22662 i386 and x86-64 definedness tests.
22663
f772623b
YB
226642010-09-27 Yves Blusseau <blusseau@zetam.org>
22665
22666 Fix generation of kernel_syms.lst
22667
22668 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
22669 ASM_PREFIX
22670
8e57a6ca
RM
226712010-09-26 Robert Millan <rmh@gnu.org>
22672
22673 Support degraded ZFS arrays in "grub-probe -t device" resolution.
22674
22675 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
22676 the pool is an array of devices, iterate through it and return the
22677 first device that passes a stat() test (instead of blindly returning
22678 the first one).
22679
f9130836
RM
226802010-09-26 Robert Millan <rmh@gnu.org>
22681
22682 Build fixes for GNU/kFreeBSD.
22683
22684 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
22685 to programs that require ZFS conversion.
22686 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
22687 kernels that don't have FLOPPY_MAJOR.
22688
96510faf
BC
226892010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22690
22691 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
22692
449333eb
BC
226932010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22694
22695 Fix grub-emu build.
22696
22697 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
22698 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
22699 mdraid09 and mdraid1x.
22700
e1fd1939
CW
227012010-09-24 Colin Watson <cjwatson@ubuntu.com>
22702
22703 Re-enable grub-extras.
22704
22705 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
22706 avoid confusing Automake. Run autogen only twice, once for the top
22707 level and once for grub-core. Add Makefile.util.def and
22708 Makefile.core.def from extra modules to the appropriate autogen
22709 invocations. If Makefile.common exists in an extra module, include
22710 it in both Makefile.util.am and grub-core/Makefile.core.am;
22711 similarly, include any Makefile.util.common file in Makefile.util.am
22712 and any Makefile.core.common file in grub-core/Makefile.core.am.
22713 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
22714 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
22715 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
22716 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
22717
22718 * gentpl.py (gvar_add): Turn GVARS into a set.
22719 (global_variable_initializers): Sort global variables on output.
22720 (vars_init): New function.
22721 (first_time): Likewise.
22722 (library): Ensure that non-global variable initialisations are
22723 emitted before the first time we emit code for a library block.
22724 Append to variables rather than setting them. Only emit
22725 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
22726 each conditional path.
22727 (program): installdir() emits an Autogen macro, so must be passed to
22728 var_add rather than gvar_add.
22729 (data): Likewise.
22730 (script): Likewise.
22731 (rules): New function, centralising handling for different target
22732 types. Set up Guile association lists for first_time and vars_init,
22733 and send most output to a diversion so that variable initialisations
22734 can be emitted first.
22735 (module_rules): Use new rules function.
22736 (kernel_rules): Likewise.
22737 (image_rules): Likewise.
22738 (library_rules): Likewise.
22739 (program_rules): Likewise.
22740 (script_rules): Likewise.
22741 (data_rules): Likewise.
22742
22743 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
22744
22745 * .bzrignore: Add contrib and grub-core/contrib. Remove
22746 grub-core/Makefile.gcry.am.
22747
1d12cf29
YB
227482010-09-24 Yves Blusseau <blusseau@zetam.org>
22749
22750 * grub-core/lib/LzFind.c: Add missing include.
22751 * grub-core/lib/LzmaEnc.c: Likewise.
22752 * grub-core/script/lexer.c: Likewise.
22753 * grub-core/script/yylex.l: Likewise.
22754 * util/grub-macho2img.c: Likewise.
22755 * util/grub-menulst2cfg.c: Likewise.
22756 * util/grub-mklayout.c: Likewise.
22757 * util/grub-mkpasswd-pbkdf2.c
22758 * util/grub-mkrelpath.c: Likewise.
22759 * util/resolve.c: Likewise.
22760
dd363028
BC
227612010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
22762
22763 * Makefile.util.def (example_unit_test): Add
22764 grub-core/gnulib/libgnu.a.
22765
f5a109e2
GS
227662010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
22767
22768 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
22769
6d0fa83c
VS
227702010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
22771
22772 Support xz compression on yeeloong.
22773
22774 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
22775 * configure.ac: Check for LZMA.
22776 * grub-core/Makefile.core.def (xz_decompress): New target.
22777 (none_decompress): Likewise.
22778 * grub-core/boot/decompressor/minilib.c: New file.
22779 * grub-core/boot/decompressor/none.c: Likewise.
22780 * grub-core/boot/decompressor/xz.c: Likewise.
22781 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22782 * grub-core/kern/mips/cache_flush.S: Likewise.
22783 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
22784 * grub-core/kern/mips/startup.S: Move first stage to ...
22785 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
22786 nomacro.
22787 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
22788 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
22789 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
22790 Allocate statically.
22791 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
22792 Allocate statically or use scratch. Don't check CRC32.
22793 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
22794 Allocate statically. Don't check CRC32.
22795 * include/grub/decompressor.h: New file.
22796 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
22797 Removed.
22798 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
22799 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
22800 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
22801 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
22802 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
22803 * util/grub-mkimage.c (grub_compression_t): New type.
22804 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
22805 (image_target_desc): New field default_compression.
22806 (image_targets): Adjust yeeloong targets.
22807 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
22808 (compress_kernel): New parameter comp.
22809 (generate_image): Likewise. Handle new compression case.
22810 (options): New option --compression
22811 (help): Likewise.
22812 (main): Handle new option.
22813
1b655af6
GS
228142010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
22815
22816 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
22817
8f03f0b5
CW
228182010-09-22 Colin Watson <cjwatson@ubuntu.com>
22819
22820 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22821 typo in __i386__ conditional.
22822
7835dfd3
VS
228232010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22824
22825 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
22826 include.
22827
e255597e
VS
228282010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22829
6d0fa83c 22830 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
22831
22832 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
22833 new tags as supported.
22834 (acpiv2_size): New function.
22835 (grub_multiboot_get_mbi_size): Take new tags into account.
22836 (grub_multiboot_make_mbi): Add new tags.
22837 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 22838
6cc14051 228392010-09-21 Aleš Nesrsta <starous@volny.cz>
22840
22841 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
22842 Added missing configuration of USB device.
22843
df7769d8
CW
228442010-09-21 Colin Watson <cjwatson@ubuntu.com>
22845
22846 * grub-core/normal/menu_entry.c (run): Make sure we always return
22847 a value.
22848
b031012d
CW
228492010-09-21 Colin Watson <cjwatson@ubuntu.com>
22850
22851 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
22852 NumberOfPages is UINT64 according to the UEFI specification, not
22853 UINTN. Fix printf format.
22854
174de8f3
CW
228552010-09-21 Colin Watson <cjwatson@ubuntu.com>
22856
22857 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
22858 `err' to grub_usb_err_t.
22859 Reported and tested by: KESHAV P.R.
22860
d7dbe923
CW
228612010-09-21 Colin Watson <cjwatson@ubuntu.com>
22862
22863 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
22864 tpart non-const, so that we can assign to it. (Since this is a
22865 typedef, the constness refers to the pointer rather than what it
22866 points to.)
22867
8d5e2af3
CW
228682010-09-21 Colin Watson <cjwatson@ubuntu.com>
22869
22870 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
22871 $(top_srcdir)/grub-core/gnulib as well as
22872 $(top_builddir)/grub-core/gnulib.
22873 Reported by: KESHAV P.R.
22874
5c527783
CW
228752010-09-21 Colin Watson <cjwatson@ubuntu.com>
22876
22877 * util/grub-install.in: Fix the bootloader ID option to be
22878 consistently --bootloader-id, not --bootloader_id.
22879 Reported by: KESHAV P.R.
22880
d309a16e
CW
228812010-09-21 Colin Watson <cjwatson@ubuntu.com>
22882
22883 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
22884 check hash checksum." consistently translatable.
22885
b830cd16
YB
228862010-09-21 Yves Blusseau <blusseau@zetam.org>
22887
22888 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
22889 $(top_builddir).
22890
c4fe27a8
CW
228912010-09-21 Colin Watson <cjwatson@ubuntu.com>
22892
22893 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
22894 (GRUB_MOD_INIT): Register sha1sum command.
22895 (GRUB_MOD_FINI): Unregister sha1sum command.
22896
a4c1d277
YB
228972010-09-21 Yves Blusseau <blusseau@zetam.org>
22898
22899 Keep boot and grub directory names in sync with utils scripts
22900
22901 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
22902 * config.h.in: Add previous macros.
22903 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
22904 * util/grub-install.in: Use $bootdir and $grubdir variables.
22905
4eff79d2
CW
229062010-09-21 Colin Watson <cjwatson@ubuntu.com>
22907
22908 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
22909 convert partition names to disk names if the new `convert' parameter
22910 is set.
22911 (grub_util_biosdisk_get_grub_dev): If opening the disk device
22912 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
22913 disk in its own right. This can happen with Xen disk images.
22914
934d7e44
YB
229152010-09-21 Yves Blusseau <blusseau@zetam.org>
22916
22917 * util/grub-editenv.c: Update strings to avoid warnings when generating
22918 grub.pot file.
22919 * util/grub-setup.c: Likewise.
934d7e44 22920
df3367cc
VS
229212010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22922
22923 * configure.ac: Change version to 1.99~beta0.
22924
77a94e98
VS
229252010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22926
22927 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22928 Add BADRAM.
22929 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
22930 Likewise.
22931 * include/multiboot.h: Resynced with specification.
22932 * include/multiboot2.h: Likewise.
22933
269004c1
CW
229342010-09-21 Colin Watson <cjwatson@ubuntu.com>
22935
22936 Fix po directory handling.
22937
22938 * configure.ac: Create po/Makefile.in rather than po/Makefile.
22939 * grub-core/gnulib/Makefile.am: Import gettext module.
22940 * m4/gnulib-cache.m4: Likewise.
22941 * m4/gnulib-comp.m4: Likewise.
22942 * m4/gettext.m4: New file, from gnulib.
22943 * m4/glibc2.m4: Likewise.
22944 * m4/iconv.m4: Likewise.
22945 * m4/intdiv0.m4: Likewise.
22946 * m4/intl.m4: Likewise.
22947 * m4/intldir.m4: Likewise.
22948 * m4/intlmacosx.m4: Likewise.
22949 * m4/intmax.m4: Likewise.
22950 * m4/inttypes-pri.m4: Likewise.
22951 * m4/lcmessage.m4: Likewise.
22952 * m4/lib-ld.m4: Likewise.
22953 * m4/lib-link.m4: Likewise.
22954 * m4/lib-prefix.m4: Likewise.
22955 * m4/lock.m4: Likewise.
22956 * m4/nls.m4: Likewise.
22957 * m4/po.m4: Likewise.
22958 * m4/printf-posix.m4: Likewise.
22959 * m4/progtest.m4: Likewise.
22960 * m4/threadlib.m4: Likewise.
22961 * m4/uintmax_t.m4: Likewise.
22962 * m4/visibility.m4: Likewise.
22963 * po/Makefile.am: Remove.
22964 * po/Makefile.in.in: New file, from gettext.
22965 ($(DOMAIN).pot-update): Support POTFILES-shell.
22966 * po/Makevars: New file.
22967 * po/POTFILES-shell: Rename to ...
22968 * po/POTFILES-shell.in: ... this. Update.
22969 * po/POTFILES: Rename to ...
22970 * po/POTFILES.in: ... this. Update.
22971 * po/Rules-quot: New file, from gettext.
22972 * po/boldquot.sed: Likewise.
22973 * po/en@boldquot.header: Likewise.
22974 * po/en@quot.header: Likewise.
22975 * po/insert-header.sin: Likewise.
22976 * po/quot.sed: Likewise.
22977 * po/remove-potcdate.sin: Likewise.
22978
3e0fa5d0
VS
229792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22980
22981 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
22982
ade9bd66
VS
229832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22984
22985 * util/grub.d/20_linux_xen.in: Use submenus.
22986
fc55cc4c
VS
229872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22988
22989 Support submenus.
22990
22991 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
22992 parameter submenu. All users updated.
22993 * grub-core/normal/main.c (free_menu): Rename to ...
22994 (grub_normal_free_menu): ... this. Made global.
22995 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
22996 if requested.
22997 * grub-core/normal/menu_entry.c (screen): New field submenu.
22998 (make_screen): Set submenu.
22999 (run): Open new context if requested.
23000 * include/grub/menu.h (grub_menu_entry): New field submenu.
23001 * include/grub/normal.h (grub_normal_free_menu): New proto.
23002
600cedf7
VS
230032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23004
23005 Menu entries extractor.
23006
23007 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
23008 variants.
23009 (GRUB_MOD_INIT): Register new variants.
23010 (GRUB_MOD_FINI): Unregister new variants.
23011 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
23012 into grub_cmd_legacy_source.
23013 (grub_cmd_legacy_source): Implement extractor variants.
23014 (GRUB_MOD_INIT): Register new variants.
23015 (GRUB_MOD_FINI): Unregister new variants.
23016 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
23017 as an extractor.
23018 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
23019 search as an extractor.
23020 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
23021 test as an extractor.
23022 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
23023 as an extractor.
23024 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
23025 (grub_env_new_context): New function.
23026 (grub_env_context_open): Likewise.
23027 (grub_env_extractor_open): Likewise.
23028 (grub_env_extractor_close): Likewise.
23029 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23030 grub_extractor_level.
23031 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
23032 * include/grub/env.h (grub_env_extractor_open): New proto.
23033 (grub_env_extractor_close): Likewise.
23034 * include/grub/normal.h (grub_extractor_level): New external variable.
23035
7bda3a87
VS
230362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23037
23038 Make cutmem accept a region specification.
23039 Suggested by: Samuel Thibault
23040
23041 * grub-core/mmap/mmap.c (parsemem): New function.
23042 (grub_cmd_cutmem): Handle new arguments.
23043
2ea57f88
VS
230442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23045
23046 New command cutmem.
23047
23048 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
23049 (GRUB_MOD_INIT): Register new command.
23050 (GRUB_MOD_FINI): Unregister new command.
23051
74342e31
VS
230522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23053
23054 Support some annoying BSD and Minix subpartitions.
23055
23056 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
23057 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
23058 Properly handle concatenation.
23059 * grub-core/kern/device.c (grub_device_iterate): Likewise.
23060 * grub-core/normal/completion.c (iterate_partition): Likewise.
23061 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
23062 contain partition. All users updated.
23063 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
23064 struct.
23065 (grub_openbsdlabel_partition_map): Likewise.
23066 (bsdlabel_partition_map_iterate): Rename to ..
23067 (iterate_real): ... this. New arguments sector, freebsd and pmap.
23068 (bsdlabel_partition_map_iterate): New function.
23069 (netopenbsdlabel_partition_map_iterate): Likewise.
23070 (netbsdlabel_partition_map_iterate): Likewise.
23071 (openbsdlabel_partition_map_iterate): Likewise.
23072 (GRUB_MOD_INIT): Register new partmaps.
23073 (GRUB_MOD_FINI): Unregister new partmaps.
23074 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
23075 (grub_partition_msdos_iterate): ... this. All users updated.
23076 Don't support embedding other than in a minix partition.
23077 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
23078 proto.
23079 * include/grub/partition.h (grub_partition): New field msdostype.
23080 * util/grub-install.in: Handle openbsd and netbsd types being in
23081 part_bsd module.
23082
1e8d555b
VS
230832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23084
23085 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
23086
23087 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
23088 * grub-core/Makefile.core.def (mdraid): Renamed to ...
23089 (mdraid09): ... this.
23090 (mdraid1x): New module.
23091 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
23092 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
23093
899d8af4
VS
230942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23095
23096 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
23097 vsprintf.
23098
40901acd
CW
230992010-09-20 Colin Watson <cjwatson@ubuntu.com>
23100
23101 * grub-core/commands/efi/lsefimmap.c: Correct header.
23102 * NEWS: Update.
23103
dfe3b247
CW
231042010-09-20 Colin Watson <cjwatson@ubuntu.com>
23105
23106 * util/grub-editenv.c (argp_parser): Don't pass translated strings
23107 as printf format strings; the translations might contain '%' which
23108 could cause a crash.
23109 (main): Likewise.
23110 * util/grub-fstest.c (argp_parser): Likewise.
23111 * util/grub-setup.c (argp_parser): Likewise.
23112 (main): Likewise.
23113
3286a4b4
VS
231142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23115
23116 Use argp in grub-fstest.
23117
23118 * util/grub-fstest.c: Don't include getopt.h.
23119 Include argp.h.
23120 (root): New variable.
23121 (args_count): Likewise.
23122 (nparm): Likewise.
23123 (num_disks): Likewise.
23124 (images): Likewise.
23125 (cmd): Likewise.
23126 (debug_str): Likewise.
23127 (args): Likewise.
23128 (options): Transformed to argp.
23129 (usage): Removed.
23130 (main): Split argument parsing into ...
23131 (argp_parser): ... this. Changed to argp format.
23132 (argp): New variable.
23133 (main): Use argp_parse.
23134
3dccbe4b
TG
231352010-09-20 Tristan Gingold <gingold@free.fr>
231362010-09-20 Robert Millan <rmh.grub@aybabtu.com>
231372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23138
23139 * grub-core/commands/efi/lsefimmap.c: New file.
23140 * grub-core/Makefile.core.def (lsefimmap): New module.
23141 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
23142
38c259a7
VS
231432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23144
23145 Pause the execution (10s max) if any errors are displayed so the user
23146 has a chance to see them.
23147
23148 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
23149 (grub_print_error): Increment grub_err_printed_errors.
23150 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
23151 execution if any errors were displayed.
23152 (show_menu): Remove old code for pause.
23153 * grub-core/normal/menu_entry.c (run): Likewise.
23154 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
23155 users updated.
23156 (grub_normal_get_char_counter): Likewise.
23157 * include/grub/err.h (grub_err_printed_errors): New external variable.
23158 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
23159
f218b09c
VS
231602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23161
23162 Support multiboot VBE info.
23163
23164 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
23165 Take VBE info into account.
23166 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
23167 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23168 Call fill_vbe_info when appropriate.
23169 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
23170 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
23171 as supported.
23172 (grub_multiboot_get_mbi_size): Take new tags into account.
23173 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
23174 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23175 Call fill_vbe_tag when appropriate.
23176 (grub_multiboot_make_mbi): Properly align tags.
23177 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
23178 function.
23179 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
23180 proto.
23181 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
23182
a9cc5438
VS
231832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23184
23185 Suport manual terminal geometry specification.
23186
23187 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
23188 Save state in grub_ofconsole_terminfo_output.
23189 (grub_ofconsole_term): Use grub_terminfo_getwh.
23190 (grub_ofconsole_getwh): Removed.
23191 * grub-core/term/serial.c (grub_serial_getwh): Removed.
23192 (grub_serial_term): Use grub_terminfo_getwh.
23193 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
23194 (options): New struct.
23195 (OPTION_*): New enum.
23196 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
23197 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
23198 width and height.
23199 (grub_terminfo_getwh): New proto.
23200 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
23201
1a8fed20
VS
232022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23203
23204 Handle legacy "terminal" command.
23205
23206 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
23207 and FLAG_TERMINAL.
23208 (legacy_commands): Add terminal and title.
23209 (grub_legacy_parse): Handle terminal. Simplify title handling.
23210
41e9c57d
VS
232112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23212
23213 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
23214 parameters overflow.
23215
61c874c5
CW
232162010-09-20 Colin Watson <cjwatson@ubuntu.com>
23217
23218 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
23219 widthspec.h.
23220
23221 * docs/grub.texi (Shell-like scripting): Document `!'.
23222 (Network): Simplify using new i386-pc-pxe format. Mention
23223 grub-mknetdir.
23224
23225 * NEWS: Update.
23226
943682b4
CW
232272010-09-20 Colin Watson <cjwatson@ubuntu.com>
23228
23229 * Makefile.am (SUBDIRS): Restore "."; it's important to force
23230 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
23231 when needed.
23232
6d3d698d
CW
232332010-09-20 Colin Watson <cjwatson@ubuntu.com>
23234
23235 * grub-core/commands/efi/lsefisystab.c: Correct header.
23236 * grub-core/commands/efi/lssal.c: Likewise.
23237 * grub-core/commands/testload.c: Likewise.
23238
c982589f
CW
232392010-09-20 Colin Watson <cjwatson@ubuntu.com>
23240
23241 * util/grub-mkrescue.in: Add explicit root argument to --set to
23242 prevent the UUID being interpreted as an argument to --set (matches
23243 previous change to prepare_grub_to_access_device).
23244
a63c31b6
CW
232452010-09-20 Colin Watson <cjwatson@ubuntu.com>
23246
23247 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
23248 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
23249 the verbosity of later #ifs.
23250 (find_partition_start): Define this function on FreeBSD too.
23251 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
23252 function.
23253 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
23254 on FreeBSD.
23255
6439b8ee
YB
232562010-09-20 Yves Blusseau <blusseau@zetam.org>
23257
23258 * util/grub-editenv.c: Use argp instead of getopt.
23259
c5930ec8
YB
232602010-09-20 Yves Blusseau <blusseau@zetam.org>
23261
23262 * util/grub-setup.c: Use argp instead of getopt.
23263
15c69261
YB
232642010-09-20 Yves Blusseau <blusseau@zetam.org>
23265
23266 Use gnulib-tool to create gnulib source files.
23267
23268 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
23269 grub-core/gnulib directories
23270 * .bzignore: Add **/.deps and autogenerated gnulib files
23271 * configure.ac: Assign auxiliary directory to build-aux, add invocation
23272 of gnulib macros, add grub-core/gnulib/Makefile
23273 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
23274 include m4 directory to aclocal.
23275 * Makefile.util.def: Remove direct compilation of gnulib source files
23276 and use the new grub-core/gnulib/libgnu.a.
23277 * build-aux/config.rpath: move config.rpath from top directory to
23278 build-aux
23279 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
23280 in gnulib headers
23281 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
23282 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
23283 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
23284 header.
23285 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
23286 string.
23287
e511c9f5
YB
232882010-09-20 Yves Blusseau <blusseau@zetam.org>
23289
23290 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
23291 grub-core/genmod.sh and grub-core/gensyminfo.sh
23292
c2dede05
BC
232932010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
23294
23295 Add a test for echo command options.
23296
23297 * tests/grub_cmd_echo.in: New test.
23298 * Makefile.util.def: Rules for new test.
23299
c55f5018
SJ
233002010-09-20 Szymon Janc <szymon@janc.net.pl>
23301
23302 Remove crc.mod and move crc command to hashsum.mod.
23303 Remove lib/crc.c - users updated to use gcrypt implementation.
23304
23305 * grub-core/commands/crc.c: Removed.
23306 * grub-core/Makefile.core.def (crc): Module removed.
23307 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
23308 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
23309 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
23310 * grub-core/lib/crc.c: Removed.
23311 * include/grub/lib/crc.h: Removed.
23312 * Makefile.util.def (crc): Remove lib/crc.c
23313 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
23314 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
23315 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
23316 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
23317 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
23318 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
23319
e0337366
VS
233202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23321
23322 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
23323
742f9232
VS
233242010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23325
23326 Split config.h for util and core.
23327
23328 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
23329 (ADDR32): Likewise.
23330 (DATA32): Likewise.
23331 (BSS_START_SYMBOL): Likewise.
23332 (END_SYMBOL): Likewise.
23333 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
23334 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
23335 * config.h.in: New file.
23336 * configure.ac: Use config-util.h as config define file.
23337 Rename MACHINE into GRUB_MACHINE. All users updated.
23338 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
23339 updated.
23340 (NESTED_FUNC_ATTR): Likewise.
23341 Substitue new variables.
23342 (COND_HAVE_ASM_USCORE): New conditional.
23343 * grub-core/Makefile.am (ASM_PREFIX): New variable.
23344 (kernel_syms.lst): Use ASM_PREFIX.
23345 * grub-core/kern/emu/console.c: Include config-util.h.
23346 * grub-core/kern/emu/misc.c: Likewise.
23347 * grub-core/kern/emu/mm.c: Likewise.
23348 * include/grub/emu/misc.h: Likewise.
23349 * include/grub/libgcc.h: Likewise.
23350
39feb0e8
VS
233512010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23352
23353 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
23354 constants usage.
23355 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
23356 Fix GRUB_TERM_KEY_* constants usage.
23357 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
23358
9af6dac3
VS
233592010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23360
23361 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
23362 print pointer.
23363 * grub-core/bus/usb/uhci.c: Remove empty define.
23364 (grub_uhci_check_transfer): Add missing cast.
23365 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
23366 print pointer.
23367 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
23368 PRIuGRUB_SIZE.
23369 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
23370
d6d94820
VS
233712010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23372
23373 * grub-core/Makefile.core.def (legacycfg): Add
23374 lib/i386/pc/vesa_modes_table.c on emu.
23375
3572f2b6
BC
233762010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23377
23378 Reduce number of temporary files generated by build system.
23379
23380 * grub-core/gencmdlist.sh: Removed.
23381 * grub-core/genfslist.sh: Removed.
23382 * grub-core/genhandlerlist.sh: Removed.
23383 * grub-core/genmodsrc.sh: Removed.
23384 * grub-core/genpartmaplist.sh: Removed.
23385 * grub-core/genparttoollist.sh: Removed.
23386 * grub-core/gentermiinallist.sh: Removed.
23387 * grub-core/genvideolist.sh: Removed.
23388
23389 * grub-core/genmod.sh.in: New file.
23390 * grub-core/gensyminfo.sh.in: New file.
23391
23392 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
23393 * conf/Makefile.extra-dist: Update with new files.
23394 * gentpl.py: Remove rules related to unnecessary temporary files.
23395 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
23396 and und-* files.
23397 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
23398 genmod.sh scripts.
23399 * grub-core/bus/usb/uhci.c: Remove empty #define.
23400 * grub-core/genmoddep.awk: Updated with new syminfo format.
23401 * util/bash-completion.d/Makefile.am: Add config.log to
23402 CLEANFILES.
23403
c836b030
YB
234042010-09-19 Yves Blusseau <blusseau@zetam.org>
23405
23406 * Makefile.util.def: Add forgotten $(LIBINTL) library.
23407
2f4e8053
BC
234082010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23409
23410 * util/grub-mkconfig.in: Check the config script for syntax errors
23411 before saving.
23412
75831c34
CW
234132010-09-19 Colin Watson <cjwatson@ubuntu.com>
234142010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23415
23416 * Makefile.util.def (grub-install): Use util/grub-install.in on all
23417 platforms.
23418 * util/grub-install.in: Add EFI and IEEE1275 support.
23419 * util/i386/efi/grub-install.in: Removed.
23420 * util/ieee1275/grub-install.in: Likewise.
23421
eaf41b25
VS
234222010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23423
23424 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
23425 (grub_cmd_cmosclean): Likewise.
23426 (GRUB_MOD_INIT): Register command cmosclean.
23427 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
23428 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
23429
1a9130dd
CPE
234302010-09-18 Carles Pina i Estany <carles@pina.cat>
234312010-09-18 Aleš Nesrsta <starous@volny.cz>
234322010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23433
23434 Add keyboard layouts support.
23435
23436 * Makefile.util.def (grub-mklayout): New file.
23437 (grub-kbdcomp): New script.
23438 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
23439 Add keyboard_layouts.h.
23440 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
23441 commands/boot.c on yeeloong.
23442 (keylayouts): New module.
23443 * grub-core/bus/usb/ohci.c
23444 * grub-core/bus/usb/uhci.c
23445 * grub-core/bus/usb/usbhub.c (rescan): New variable.
23446 (grub_usb_add_hub): Poll interrupt pipe for device handling.
23447 (attach_root_port): Likewise.
23448 (poll_nonroot_hub): Likewise.
23449 (grub_usb_poll_devices): Likewise.
23450 (detach_device): Close transfer.
23451 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
23452 function.
23453 (grub_usb_bulk_setup_readwrite): Likewise.
23454 (grub_usb_bulk_finish_readwrite): Likewise.
23455 * grub-core/commands/keylayouts.c: New file.
23456 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
23457 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
23458 aliases.
23459 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
23460 support scancode 2.
23461 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
23462 * include/grub/keyboard_layouts.h: New file.
23463 * util/grub-mklayout.c: New file.
23464 * util/grub-kbdcomp.in: Likewise.
23465
a1d84a5e
VS
234662010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23467
23468 Unify memory types.
23469
23470 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
23471 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
23472 types.
23473 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
23474 (grub_upper_mem): Likewise.
23475 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
23476 * include/grub/memory.h (grub_memory_type_t): New enum.
23477 All users updated.
23478
9696382e
VS
234792010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23480
23481 * grub-core/Makefile.core.def (lsapm): New module.
23482 * grub-core/commands/i386/pc/lsapm.c: New file.
23483 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
23484 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
23485 Likewise.
23486 * include/grub/i386/pc/apm.h: New file.
23487 * include/multiboot.h (multiboot_apm_info): New struct.
23488
234892010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23490
23491 GRUB-legacy configuration file support.
23492
23493 * Makefile.util.def (grub-menulst2cfg): New util.
23494 * docs/man/grub-menulst2cfg.h2m: New file.
23495 * grub-core/Makefile.core.def (legacycfg): New module.
23496 * grub-core/commands/legacycfg.c: New file.
23497 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
23498 (grub_normal_add_menu_entry): ... this.
23499 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
23500 (grub_normal_set_password): ...this.
23501 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
23502 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
23503 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
23504 * grub-core/lib/legacy_parse.c: New file.
23505 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
23506 * include/grub/i386/pc/vesa_modes_table.h: New file.
23507 * include/grub/legacy_parse.h: Likewise.
23508 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
23509 * util/grub-menulst2cfg.c: New file.
23510
bf8d1338
CW
235112010-09-17 Colin Watson <cjwatson@ubuntu.com>
23512
23513 * grub-core/kern/emu/hostdisk.c
23514 (convert_system_partition_to_system_disk): Initialise node.
23515
9c0bad2e
CW
235162010-09-17 Colin Watson <cjwatson@ubuntu.com>
23517
23518 * grub-core/kern/emu/hostdisk.c
23519 (convert_system_partition_to_system_disk): Fix devmapper memory pool
23520 leak.
23521 Reported and based on patch by: Modestas Vainius.
23522
a939d135
CW
235232010-09-17 Colin Watson <cjwatson@ubuntu.com>
23524
23525 Fix DM-RAID probing with recent versions of device-mapper udev
23526 rules.
23527
23528 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
23529 canonicalise device paths under /dev/mapper/.
23530 (convert_system_partition_to_system_disk): Compare the
23531 uncanonicalised path to /dev/mapper/ rather than the canonicalised
23532 path, since device nodes under /dev/mapper/ are often symlinks.
23533
0f7ee3c9
YB
235342010-09-17 Yves Blusseau <blusseau@zetam.org>
23535
23536 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
23537
10854d0d
YB
235382010-09-16 Yves Blusseau <blusseau@zetam.org>
23539
23540 * configure.ac: Avoid some annoying error messages if freetype-config
23541 program is not found.
23542
108538d8
CW
235432010-09-16 Colin Watson <cjwatson@ubuntu.com>
23544
23545 Support RAID on virtio devices, and others.
23546
23547 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
23548 Rename to ...
23549 [__MINGW32__] (grub_find_device): ... this.
23550 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
23551 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
23552 reasonable default if dir is NULL.
23553 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
23554 ...
23555 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
23556 (grub_guess_root_device): Update callers.
23557 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
23558
23559 * util/raid.c (grub_util_getdiskname): Remove.
23560 (grub_util_raid_getmembers): Use grub_find_device rather than
23561 grub_util_getdiskname.
23562
e5bfc130
CW
235632010-09-16 Colin Watson <cjwatson@ubuntu.com>
23564
23565 * docs/grub.texi (serial): Remove obsolete comment about GRUB
23566 needing to be compiled with serial support.
23567 (ls): Indicate that multiple files are accepted.
23568 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
23569 indicate that multiple files are accepted.
23570
be458ae2
CW
235712010-09-16 Colin Watson <cjwatson@ubuntu.com>
23572
23573 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
23574 libgrub_a_init.c, and util/bash-completion.d/grub.
23575
cb731b5e
VS
235762010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23577
23578 * util/grub-setup.c (setup): Fix incorrect container semantics.
23579
35139e8a
VS
235802010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23581
23582 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
23583 misusage.
23584 Reported by: J. Nick Terry
23585
e50fca4a
VS
235862010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23587
23588 Move embedding routines to partmap sources files.
23589
23590 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
23591 [GRUB_UTIL]: New variable.
23592 (gpt_partition_map_iterate): Set part.parent.
23593 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
23594 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
23595 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
23596 New function.
23597 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
23598 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
23599 (grub_partition_map) [GRUB_UTIL]: New field embed.
23600 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
23601 (setup): Use ->embed.
23602
f00478b7
VS
236032010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23604
23605 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
23606 function.
23607 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
23608 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
23609
2b94e3ff
YB
236102010-09-15 Yves Blusseau <blusseau@zetam.org>
23611
23612 Add function to get completions from usage.
23613
23614 * util/bash-completion.d/grub-completion.bash.in: Add function to get
23615 completions from usage. Use LC_ALL=C to get options properly.
23616
2e04a006
VS
236172010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23618
23619 * grub-core/gnulib/basename-lgpl.c: Imported.
23620 * grub-core/gnulib/basename.c: Likewise.
23621 * grub-core/gnulib/dirname-lgpl.c: Likewise.
23622 * grub-core/gnulib/dirname.c: Likewise.
23623 * grub-core/gnulib/dirname.h: Likewise.
23624 * grub-core/gnulib/stripslash.c: Likewise.
23625
5dcdf93a
VS
236262010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23627
23628 * grub-core/gnulib/error.c: Resynced.
23629 * grub-core/gnulib/getopt.c: Likewise.
23630 * grub-core/gnulib/getopt_int.h: Likewise.
23631 * grub-core/gnulib/regex.h: Likewise.
23632 * grub-core/gnulib/regex_internal.c: Likewise.
23633 * grub-core/gnulib/regex_internal.h: Likewise.
23634
014f47b7
SJ
236352010-09-15 Szymon Janc <szymon@janc.net.pl>
23636
23637 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
23638 CRC calculations and validity checks.
23639 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
23640 calculations.
23641
dd521a4a
SJ
236422010-09-15 Szymon Janc <szymon@janc.net.pl>
23643
23644 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
23645
79c4eeb9
VS
236462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23647
23648 Fix incorrect echo options handling.
23649 Reported by: Yves Blusseau.
23650
23651 * include/grub/command.h (grub_command_flags_t): New flags
23652 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
23653 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
23654 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
23655
ed80f7d5
VS
236562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23657
23658 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
23659 users updated.
23660 (GRUB_COMMAND_FLAG_MENU): Likewise.
23661 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23662 (GRUB_COMMAND_FLAG_TITLE): Removed.
23663 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23664 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
23665 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
23666 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
23667 (grub_command_flags_t): New enum. All users updated.
23668
5fe7620a
SG
236692010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
23670
23671 Fix solaris compilation.
23672
23673 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
23674 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
23675 (grub-emu-list): Likewise.
23676
545b752f
VS
236772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23678
23679 Remove deprecated root command.
23680
23681 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
23682 updated.
23683
6c1a338c
VS
236842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23685
23686 * util/i386/pc/grub-setup.c: Merge this ...
23687 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
23688 * util/grub-setup.c: ... into this.
23689 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
23690 New struct.
23691
236922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23693
23694 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
23695 possible.
23696
d2ea4551
VS
236972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23698
23699 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
23700 allocate p.
23701
3c3b5040
VS
237022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23703
23704 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
23705 explicit root argument to set to prevent UUID to be interpreted as
23706 argument to set.
23707
b71c3fae
VS
237082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23709
23710 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
23711
275433e6
VS
237122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23713
23714 Don't export grub_gate_a20.
23715
23716 * grub-core/kern/i386/pc/init.c: Remove leftovers.
23717 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
23718 to ...
23719 (grub_gate_a20): ... this. All users updated.
23720 * include/grub/i386/pc/init.h: Removed. All users updated.
23721
a5dbb1f1
VS
237222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23723
23724 Create euro.pf2 which supports most European languages.
23725
23726 * Makefile.am (grubdata_DATA): Add euro.pf2.
23727 (euro.pf2): New target.
23728 (CLEANFILES): Add euro.pf2.
23729
62a747cb
VS
237302010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23731
23732 * configure.ac: Disable emu-usb by default to prevent inadvertent
23733 device takeover.
23734
608e43b1
VS
237352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23736
23737 Disable usbserial on grub-emu since our libusb code isn't good enough
23738 yet.
23739
23740 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
23741 (usbserial_pl2303): Likewise.
23742 (usbserial_ftdi): Likewise.
23743
94564f81
VS
237442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23745
23746 * include/grub/disk.h (grub_disk): Remove has_partitions.
23747 All users updated.
23748 * disk/loopback.c (grub_loopback): Remove has_partitions.
23749 All users updated.
23750 (options): Remove partitions. All users updated.
23751 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
23752 * util/i386/pc/grub-setup.c (setup): copy partition table only when
23753 actual partition table is found.
23754
3352800b
VS
237552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23756
23757 Remove readability checks (too many false negatives).
23758
23759 * util/grub-install.in: Remove readability checks.
23760 * util/grub-mkconfig.in: Likewise.
23761 * util/grub.d/10_hurd.in: Likewise.
23762 * util/grub.d/10_kfreebsd.in: Likewise.
23763 * util/grub.d/10_linux.in: Likewise.
23764 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
23765 way.
23766
2419f17a
VS
237672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23768
23769 Enable acpi shutdown on all ACPI platforms.
23770
23771 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
23772 on coreboo, multiboot and EFI.
23773 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
23774 (grub_acpi_halt): Likewise.
23775 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
23776 (grub_cmd_halt): Don't call grub_acpi_halt directly.
23777 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
23778 * grub-core/lib/i386/halt.c (grub_halt)
23779 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
23780
0575c7c3
VS
237812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
23784 context.
23785
54ac3cd1
VS
237862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23787
23788 * grub-core/video/efi_gop.c: Fix over-80-chars line.
23789 * grub-core/video/efi_uga.c: Likewise.
23790
b2a30ac5
VS
237912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23792
23793 Filter devaliases and never open same device twice.
23794
23795 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
23796 (last_ihandle): Likewise.
23797 (ofdisk_hash_ent): New member shortest.
23798 (ofdisk_hash_add): Add canonical path too.
23799 (scan): New function.
23800 (grub_ofdisk_iterate): Iterate over hashed entries.
23801 (compute_dev_path): Don't add :0.
23802 (grub_ofdisk_open): Don't really open the disk.
23803 (grub_ofdisk_close): Avoid closing unrelated disk.
23804 (grub_ofdisk_read): Implement reopen logic.
23805 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
23806 New function.
23807 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
23808 New proto.
23809
fb53b340
VS
238102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23811
23812 Fix sparc64.
23813
23814 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
23815 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
23816 right address. Add sparc64_ieee1275_ldflags.
23817 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
23818 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
23819 to grub_host_to_target_addr
23820 (load_image): Likewise.
23821
f452b040
VS
238222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23823
23824 * grub-core/normal/completion.c (complete_file): Handle device
23825 containing slash.
23826 Fix based on patch by Doug Nazar.
23827
9b5b2541
VS
238282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23829
23830 grub-mknetdir script.
23831
23832 * Makefile.util.def (grub-mknetdir): New module.
23833 * tests/util/grub-shell.in: Support boot=net
23834 * util/grub-mknetdir.in: New file.
23835
9d2be652
VS
238362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23837
23838 videoinfo on non-vbe.
23839
23840 * grub-core/Makefile.core.def (vbeinfo): Removed.
23841 (vbetest): Removed.
23842 (videoinfo): New module.
23843 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
23844 * grub-core/commands/i386/pc/vbetest.c: Removed.
23845 * grub-core/commands/videoinfo.c: New file.
23846 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
23847 specification.
23848 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
23849 as vbetest.
23850 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
23851 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
23852 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
23853 mode_number. New parameter mode. All users updated.
23854 (grub_video_gop_iterate): New function.
23855 (grub_video_efi_gop): New member iterate.
23856 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
23857 (grub_vbe_set_video_mode): Remove setting useless fields.
23858 (vbe2videoinfo): New function.
23859 (grub_video_vbe_iterate): Likewise.
23860 (grub_video_vbe_setup): Use vbe2videoinfo.
23861 (grub_video_vbe_print_adapter_specific_info): New function.
23862 (grub_video_vbe_adapter): New fields iterate and
23863 print_adapter_specific_info.
23864 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
23865 All users updated.
23866 (grub_video_mode_info): New field mode_number.
23867 (grub_video_adapter): New fields iterate and
23868 print_adapter_specific_info.
23869
179503f5
TG
238702010-09-13 Tristan Gingold <gingold@free.fr>
238712010-09-13 Robert Millan <rmh.grub@aybabtu.com>
238722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23873
23874 * grub-core/commands/efi/lsefisystab.c: New file.
23875 * grub-core/commands/efi/lssal.c: Likewise.
23876 * grub-core/Makefile.core.def (lsacpi): New module.
23877 (lsefisystab): Likewise.
23878 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
23879 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
23880 (grub_efi_sal_system_table): New struct.
23881 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
23882 (grub_efi_sal_system_table_memory_descriptor): Likewise.
23883 (grub_efi_sal_system_table_platform_features): Likewise.
23884 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
23885 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
23886 (grub_efi_sal_system_table_ap_wakeup): Likewise.
23887 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
23888
cf9827de
VS
238892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23890
23891 Support explicit user claim that a device is BIOS-visible.
23892
23893 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
23894 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
23895 * grub-core/kern/emu/hostdisk.c
23896 (convert_system_partition_to_system_disk): Support mdX.
23897 (find_system_device): New parameter add. All users updated.
23898 (grub_util_biosdisk_is_present): New function.
23899 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
23900 proto.
23901
53f0eb1f
VS
239022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23903
23904 Search hints support.
23905
23906 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
23907 All users updated.
23908
b23ffd70
YB
239092010-09-13 Yves Blusseau <blusseau@zetam.org>
23910
23911 Bash completion script for util commands
23912
23913 * Makefile.am: Add util/bash-completion.d directory
23914 * configure.ac: Likewise.
23915 * util/bash-completion.d/Makefile.am: New file.
23916 * util/bash-completion.d/grub-completion.bash.in: Likewise.
23917
d547dc28
VS
239182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23919
23920 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
23921 (print_backlog): set backlog_ucs4 and backlog_glyphs.
23922 Reported by: Yves Blusseau.
23923
2fc8ccb9
VS
239242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23925
23926 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
23927 partition size and offset.
23928
d8a84076
VS
239292010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23930
23931 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
23932
84fb3b3d
VS
239332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23934
23935 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
23936
768ec2e2
VS
239372010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23938
23939 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
23940 (grub_xvasprintf): Likewise.
23941
4870900f
VS
239422010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23943
23944 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
23945
faca6bec
VS
239462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23947
23948 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
23949 args ending with NULL.
23950
239512010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
23952
23953 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
23954 pointer.
23955
3c70f225
SJ
239562010-09-11 Szymon Janc <szymon@janc.net.pl>
23957
23958 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
23959
4df7996d
VS
239602010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23961
23962 Shutdown using ACPI.
23963
23964 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
23965 * grub-core/commands/acpihalt.c: New file.
23966 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
23967 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
23968 (grub_acpi_halt): New proto.
23969 (GRUB_ACPI_SLP_EN): New const.
23970 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
23971 (GRUB_ACPI_OPCODE_*): New enum.
23972 (GRUB_ACPI_EXTOPCODE_*): Likewise.
23973
126b4c32
TG
239742010-09-11 Tristan Gingold <gingold@free.fr>
239752010-09-11 Robert Millan <rmh.grub@aybabtu.com>
239762010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23977
23978 * commands/lsacpi.c: New file.
23979 * grub-core/Makefile.core.def (lsacpi): New module.
23980 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
23981 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
23982 (grub_acpi_madt_entry_header): New struct.
23983 (grub_acpi_madt): Likewise.
23984 (grub_acpi_madt_entry_interrupt_override): Likewise.
23985 (grub_acpi_madt_entry_sapic): Likewise.
23986 (grub_acpi_madt_entry_lsapic): Likewise.
23987 (grub_acpi_madt_entry_platform_int_source): Likewise.
23988 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
23989 (PRIuGRUB_UINT32_T): Likewise.
23990 (PRIxGRUB_UINT64_T): Likewise.
23991
1aa4fe88
VS
239922010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23993
23994 Implement loading palette on ieee1275_fb.
23995
23996 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
23997 (have_setcolors): Likewise.
23998 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
23999 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
24000 (grub_video_ieee1275_set_palette): Implement.
24001
25761e13
VS
240022010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
240032010-09-11 Colin Watson <cjwatson@ubuntu.com>
24004
24005 * util/grub-install.in (grub_partition): New variable.
24006 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
24007 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
24008 Fixes a bug reported by Yves Blusseau.
24009
050abaea
VS
240102010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24011
24012 Fix emu on mipsel.
24013
24014 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
24015 =grub_cpu_flush_cache on all mips and not only yeeloong.
24016 * configure.ac (COND_mips): New conditional.
24017 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
24018 platforms.
24019 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
24020 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
24021 [GRUB_LINKER_HAVE_INIT]: New function.
24022 (grub_emu_post_init): Likewise.
24023 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
24024 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
24025 * include/grub/cache.h (_mips): Include mips/cache.h.
24026 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
24027 LVM and RAID prototypes.
24028 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
24029 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
24030 function.
24031
5ed7d816
CW
240322010-09-10 Colin Watson <cjwatson@ubuntu.com>
24033
24034 * util/grub-install.in: Don't try to verify core.img until after
24035 running grub-mkimage to create it.
24036
90367e04
RM
240372010-09-10 Robert Millan <rmh@gnu.org>
24038
24039 * util/grub.d/10_hurd.in: Add misc readability checks.
24040 * util/grub.d/10_kfreebsd.in: Likewise.
24041 * util/grub.d/10_linux.in: Likewise.
24042
c452fa66
CW
240432010-09-10 Colin Watson <cjwatson@ubuntu.com>
24044
24045 * util/grub-install.in: ${imgext} won't be defined here until the
24046 install branch is merged. For the meantime, only verify core.img on
24047 i386-pc and sparc64-ieee1275 platforms.
24048
c38fe9f4
RM
240492010-09-10 Robert Millan <rmh@gnu.org>
24050
24051 Solaris support in grub_find_zpool_from_dir(). Thanks
24052 Seth Goldberg for referring to getextmntent() facility.
24053
24054 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
24055 `sys/mkdev.h'.
24056 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
24057 `<sys/mnttab.h>'.
24058 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
24059 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
24060 method for finding zpool name.
24061
905f7773
CW
240622010-09-10 Colin Watson <cjwatson@ubuntu.com>
24063
24064 grub-fstest needs the host and hostfs modules while other utilities
24065 actively require those modules to be absent, so grub-fstest needs
24066 its own initialisation and finalisation code.
24067
24068 * Makefile.am (grub_fstest.pp): New target.
24069 (grub_fstest_init.lst): Likewise.
24070 (grub_fstest_init.c): Likewise.
24071 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
24072
fb90b546
RM
240732010-09-10 Robert Millan <rmh@gnu.org>
24074
24075 * configure.ac: Check for `struct statfs.f_fstypename' and
24076 `struct statfs.f_mntfromname'.
24077
24078 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
24079 kFreeBSD-specific code.
24080
66d4bea5
RM
240812010-09-10 Robert Millan <rmh@gnu.org>
24082
24083 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
24084 on ZFS. Now non-main filesystems are supported as / too.
24085
b6a690ee
CW
240862010-09-09 Colin Watson <cjwatson@ubuntu.com>
24087
24088 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
24089 and grub-core/disk/host.c to ...
24090 (grub-fstest): ... here. Having the host disk implementation
24091 present confuses grub-probe and other utility programs.
24092
24093 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
24094 when writing to a file, not when writing to stdout.
24095
8901b00c 240962010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
24097
24098 * tests/partmap_test.in: New test for partitions.
24099 * Makefile.util.def: Rules for new test.
24100
7bf45fdd
RM
241012010-09-09 Robert Millan <rmh@gnu.org>
24102
24103 * util/grub-probe.c (probe): Fix a pair of unhandled error
24104 conditions.
24105
4dfbc574
RM
241062010-09-09 Robert Millan <rmh@gnu.org>
24107
24108 Basic Btrfs support (detection and UUID).
24109
24110 * grub-core/fs/btrfs.c: New file.
24111 * Makefile.util.def (library): Register btrfs.c.
24112 * grub-core/Makefile.core.def: Likewise.
24113
6b8e78ae
RM
241142010-09-08 Robert Millan <rmh@gnu.org>
24115
24116 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
24117 with (optional) parameters to specify device and relative path.
24118 * util/grub-install.in: Use is_path_readable_by_grub() to
24119 verify readability of a few critical files.
24120 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
24121 verify readability of grub.cfg.new.
24122
27f21a8b
VS
241232010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24124
24125 Split minix.mod into minix.mod and minix2.mod.
24126
24127 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
24128 * grub-core/Makefile.core.def (minix2): New module.
24129 * grub-core/fs/minix.c: Use definitions instead of runtime version
24130 checking.
24131 * grub-core/fs/minix2.c: New file.
24132
c0e53ea5
YB
241332010-09-08 Yves Blusseau <blusseau@zetam.org>
24134
24135 Add new --boot-directory option to replace --root-directory
24136
24137 * util/grub-install.in: Add new --boot-directory option
24138 * util/grub-reboot.in: Likewise.
24139 * util/grub-set-default.in: Likewise.
24140
b9fe6ea2
YB
241412010-09-08 Yves Blusseau <blusseau@zetam.org>
24142
24143 * util/grub-mkconfig.in: Use new variable.
24144
d87aedff
YB
241452010-09-08 Yves Blusseau <blusseau@zetam.org>
24146
24147 * configure.ac: Define some useful variables.
24148
e55e8495
VS
241492010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24150
24151 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24152 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
24153 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
24154 Use terminfo and don't use cursor-on/cursor-off unless it's known
24155 to work.
24156 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
24157 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
24158
6fa6d675
CW
241592010-09-08 Colin Watson <cjwatson@ubuntu.com>
24160
24161 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
24162 starts with "(,", fill the drive containing the loaded image in
24163 between those two characters, but expect that a full partition
24164 specification including partition map names will follow.
24165
92f2aef0
RM
241662010-09-08 Robert Millan <rmh@gnu.org>
24167
24168 * configure.ac: Remove `--enable-grub-fstest' option.
24169 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
24170
24171 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
24172 `grub-fstest' instead of `grub-probe' for readability verification.
24173 * util/grub-probe.c (probe): Remove readability verification kludge.
24174
99fd620d
RM
241752010-09-08 Robert Millan <rmh@gnu.org>
24176
24177 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
24178 initializing `GRUB_FS'.
24179
058e30ac 241802010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
24181
24182 Not command (!) support to GRUB script.
24183
24184 * tests/grub_script_not.in: New test.
24185 * Makefile.util.def: Rules for new test.
24186
24187 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
24188 ! command as a special case.
24189 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
24190
b61d05ed 241912010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24192
058e30ac 24193 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
24194 grub_free.
b61d05ed 24195
4d69c786 241962010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24197
24198 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
24199
aa3119c4 242002010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24201
24202 * docs/grub.texi (Shell-like scripting): Documentation for break,
24203 continue, shift and return commands.
24204
db0f7e3d
VS
242052010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
24206
24207 Rename CD-ROM to cd on BIOS.
24208
24209 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
24210 "cd".
24211 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
24212
88b87c93
VS
242132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24214
24215 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
24216 * util/grub-probe.c (main): Likewise.
24217 * util/i386/pc/grub-setup.c (main): Likewise.
24218 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24219 Reported and debugged by: alexxy
24220
294f324d
VS
242212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24222
24223 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
24224 diagnostic info.
24225
d7ee3441
JS
242262010-09-05 Jo Shields <directhex@apebox.org>
24227
24228 * util/grub.d/30_os-prober.in: Add missing classes.
24229
d7e06c1f
VS
242302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24231
24232 * docs/grub.texi (Theme file format): Document new position format.
24233
fc157e53
VS
242342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24235
24236 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
24237 a table. Use @code instead of @verbatim.
24238
506e9a1c
CB
242392010-09-05 Colin D Bennett <colin@gibibit.com>
24240
24241 Gfxmenu documentation.
24242
24243 * docs/grub.texi (Theme file format): New chapter.
24244
f0aff67c
SJ
242452010-09-05 Szymon Janc <szymon@janc.net.pl>
24246
24247 * grub-core/Makefile.core.def (xzio): New module.
24248 * grub-core/io/xzio.c: New file.
24249 * grub-core/lib/xzembed/xz.h: New file (from xembed).
24250 * grub-core/lib/xzembed/xz_config.h: Likewise.
24251 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
24252 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
24253 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
24254 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
24255 * grub-core/lib/xzembed/xz_private.h: Likewise.
24256 * grub-core/lib/xzembed/xz_stream.h: Likewise.
24257 * include/grub/file.h (grub_file_filter_id): New compression filter
24258 GRUB_FILE_FILTER_XZIO.
24259
82a85062
VS
242602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24261
24262 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
24263 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
24264 size.
24265
3579415d
VS
242662010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24267
24268 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
24269 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
24270
5124ae6d
VS
242712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24272
24273 Uncompressed checksum support.
24274
24275 * grub-core/commands/hashsum.c (options): Add option --uncompress.
24276 (check_list): New parameter uncompress.
24277 (grub_cmd_hashsum): Handle --uncompress.
24278
9aadb3d1
VS
242792010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24280
24281 Reintroduce testload.
24282
24283 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
24284 from here ...
24285 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
24286 (GRUB_MOD_INIT): New function.
24287 (GRUB_MOD_FINI): Likewise.
24288 * grub-core/Makefile.core.def (testload): New module.
24289
a17792c3
SJ
242902010-09-05 Szymon Janc <szymon@janc.net.pl>
24291
24292 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
24293 (uint8_t): New type.
24294 (uint16_t): Likewise.
24295 (uint32_t): Likewise.
24296 (uint64_t): Likewise.
24297
b81e40a3
SJ
242982010-09-05 Szymon Janc <szymon@janc.net.pl>
24299
24300 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
24301
fc2ef117
VS
243022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24303
24304 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
24305 Made static.
24306 (grub_gzfile_open): Removed. All users updated.
24307 (GRUB_MOD_INIT): New function.
24308 (GRUB_MOD_FINI): Likewise.
24309 * grub-core/kern/file.c (grub_file_filters_all): New variable.
24310 (grub_file_filters_enabled): Likewise.
24311 (grub_file_open): Handle filters.
24312 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
24313 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
24314 * include/grub/file.h (grub_file_filter_id_t): New type.
24315 (grub_file_filter_t): Likewise.
24316 (grub_file_filters_all): New extern variable.
24317 (grub_file_filters_enabled): Likewise.
24318 (grub_file_filter_register): New inline function.
24319 (grub_file_filter_unregister): Likewise.
24320 (grub_file_filter_disable): Likewise.
24321 (grub_file_filter_disable_compression): Likewise.
24322 * include/grub/gzio.h: Removed.
24323
35ee15e0
BC
243242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24325
24326 Filename expansion support for wildcards in GRUB script.
24327
24328 * tests/grub_script_expansion.in: New test.
24329 * Makefile.util.def: Rule for new test.
24330
24331 * grub-core/commands/wildcard.c: New file, implements filename
24332 expansion support for GRUB script.
24333 * grub-core/Makefile.core.def: Rule update for regexp.mod.
24334 * grub-core/script/argv.c: Cosmetic changes.
24335 * grub-core/script/execute.c (grub_script_arglist_to_argv):
24336 Refactored to perform wildcard expansion on arguments.
24337 * include/grub/script_sh.h (grub_script_wildcard_translator): New
24338 struct.
24339
24340 * tests/util/grub-shell.in: Fix quoting for read input.
24341
5f0c4aca
BC
243422010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24343
24344 Support for updating environment variables with matched substrings
24345 of regexp.
24346
24347 * tests/grub_cmd_regexp.in: New test.
24348 * Makefile.util.def: Rule for new test.
24349
24350 * grub-core/commands/regexp.c: New option -s to update environment
24351 variables with regexp matches.
24352
3759a35f
SJ
243532010-09-04 Szymon Janc <szymon@janc.net.pl>
24354
24355 * include/grub/file.h (grub_file): New member not_easly_seekable.
24356 (grub_file_seekable): New inline function.
24357 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
24358 easily seekable.
24359 (grub_gzio_open): Set not_easly_seekable.
24360 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
24361 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
24362
ed8c6dec
BC
243632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24364
24365 Support for options to appear multiple times on cmdline.
24366
24367 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
24368 * grub-core/commands/extcmd.c: Support for repeatable option.
24369 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
24370 repeatable option support.
24371
24372 Refactor menuentry into a regular command.
24373
24374 * grub-core/commands/menuentry.c: New file, menuentry command
24375 implementation.
24376 * grub-core/Makefile.core.def: Rule update for normal.mod.
24377 * grub-core/normal/main.c: Moved menuentry creation to
24378 grub-core/commands/menuentry.c.
24379 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
24380 (grub_menu_execute_entry_real): Removed.
24381 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
24382 function.
24383 (grub_script_execute_menuentry): Removed.
24384 * grub-core/script/parser.y (menuentry): Removed.
24385 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
24386 * grub-core/script/yylex.l (menuentry): Removed.
24387 * include/grub/menu.h (grub_menu_init): New prototype.
24388 (grub_menu_fini): New prototype.
24389 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
24390 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
24391 (grub_script_execute_sourcecode): New prototype.
24392
dacd0cf0
BC
243932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24394
24395 "return" command for GRUB script functions.
24396
24397 * tests/grub_script_return.in: New test.
24398 * Makefile.util.def: Rules for new test.
24399
24400 * grub-core/script/execute.c (grub_script_return): New function.
24401 * grub-core/script/main.c: Register/unregister return commaond.
24402 * include/grub/script_sh.h (grub_script_return): New prototype.
24403
52e72f9d
BC
244042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24405
24406 "setparams" command to update positional parameters.
24407
24408 * tests/grub_script_setparams.in: New test.
24409 * Makefile.util.def: Rules for new test.
24410
24411 * grub-core/script/argv.c (grub_script_argv_make): New function.
24412 * grub-core/script/execute.c (replace_scope): New function.
24413 (grub_script_setparams): New function.
24414 * grub-core/script/lexer.c: Remove unused variables.
24415 * grub-core/script/main.c: Register/unregister setparams command.
24416 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
24417 (grub_script_setparams): New prototype.
24418
25b60c91
BC
244192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24420
24421 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
24422 grub_free order.
24423
37e7bf68
BC
244242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24425
24426 Support for passing block of commands as an argument to extcmds.
24427
24428 * Makefile.util.def: Rules for new test.
24429 * tests/grub_script_blockarg.in: New test.
24430 * grub-core/tests/test_blockarg.c: New file, block argument
24431 command used in the test.
24432
24433 * include/grub/extcmd.h (grub_extcmd_context): New struct.
24434 (grub_register_extcmd_prio): New function prototype.
24435 (grub_extcmd_dispatcher): New function prototype.
24436 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
24437 type.
24438 * include/grub/script_sh.h (struct grub_script): New members
24439 `children', `next_siblings' and `refcnt' for block arguments and
24440 reference counting.
24441 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
24442 (grub_script_arg): New member `script' for block argument.
24443 (grub_script_argv): New member `script' for block argument.
24444 (grub_parser_param): New member `scripts' for block argument.
24445 (grub_script_mem_free): New extern function prototype.
24446 (grub_script_ref): New function prototype.
24447 (grub_script_unref): New function prototype.
24448
24449 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
24450 extcmd form to support block arguments.
24451 * grub-core/script/argv.c: Block arguments support.
24452 * grub-core/script/execute.c: Likewise.
24453 * grub-core/script/lexer.c: Likewise.
24454 * grub-core/script/main.c: Likewise.
24455 * grub-core/script/script.c: Likewise.
24456 * grub-core/script/parser.y: Likewise. New `block' and `block0'
24457 non-terminals.
24458
24459 * grub-core/commands/acpi.c: Update extcmd implementations with
24460 grub_extcmd_context_t.
24461 * grub-core/commands/cat.c: Likewise.
24462 * grub-core/commands/echo.c: Likewise.
24463 * grub-core/commands/extcmd.c: Likewise.
24464 * grub-core/commands/hashsum.c: Likewise.
24465 * grub-core/commands/hdparm.c: Likewise.
24466 * grub-core/commands/help.c: Likewise.
24467 * grub-core/commands/hexdump.c: Likewise.
24468 * grub-core/commands/i386/cpuid.c: Likewise.
24469 * grub-core/commands/i386/pc/drivemap.c: Likewise.
24470 * grub-core/commands/i386/pc/halt.c: Likewise.
24471 * grub-core/commands/i386/pc/sendkey.c: Likewise.
24472 * grub-core/commands/iorw.c: Likewise.
24473 * grub-core/commands/keystatus.c: Likewise.
24474 * grub-core/commands/loadenv.c: Likewise.
24475 * grub-core/commands/ls.c: Likewise.
24476 * grub-core/commands/lspci.c: Likewise.
24477 * grub-core/commands/memrw.c: Likewise.
24478 * grub-core/commands/probe.c: Likewise.
24479 * grub-core/commands/search_wrap.c: Likewise.
24480 * grub-core/commands/setpci.c: Likewise.
24481 * grub-core/commands/sleep.c: Likewise.
24482 * grub-core/disk/loopback.c: Likewise.
24483 * grub-core/hello/hello.c: Likewise.
24484 * grub-core/loader/i386/bsd.c: Likewise.
24485 * grub-core/loader/xnu.c: Likewise.
24486 * grub-core/term/gfxterm.c: Likewise.
24487 * grub-core/term/serial.c: Likewise.
24488 * grub-core/tests/lib/functional_test.c: Likewise.
24489
888d1500
BC
244902010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24491
24492 Multi-line quoted strings support.
24493
24494 * grub-core/script/lexer.c (append_newline): Removed.
24495 (grub_script_lexer_yywrap): Refactored.
24496 (grub_script_lexer_init): Refactored.
24497 * grub-core/script/yylex.l (yywrap): New function.
24498 (grub_lexer_resplit): New function.
24499 (grub_lexer_unput): New function.
24500 * include/grub/script_sh.h (grub_lexer_param): New members, unput
24501 and resplit.
24502 * tests/grub_script_echo1.in: Added few more testcases.
24503
dda060dd
VS
245042010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24505
24506 * grub-core/kern/misc.c: Don't add abort alias in utils.
24507 Reported by: echoline.
24508
6556eba9
BC
245092010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
24510
24511 Add missing files into "make dist" tarball for other platforms.
24512
24513 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
24514 * conf/Makefile.common (dist_noinst_DATA): New variable.
24515 * conf/Makefile.extra-dist: Added missing make dist files.
24516 * grub-core/Makefile.core.def: Likewise.
24517
c8e7bf5f
VS
245182010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24519
24520 Compress grub_prefix.
24521
24522 * grub-core/boot/i386/pc/lnxboot.S: Use
24523 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
24524 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
24525 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
24526 GRUB_MACHINE_PREFIX_END. All users updated.
24527 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
24528 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
24529 + 0x40.
24530 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
24531 * util/grub-mkimage.c (image_target_desc): Change data_end to
24532 prefix_end. All users updated.
24533
a7c00cdb
VS
245342010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24535
24536 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
24537 value.
24538 (grub_openbsd_boot): Likewise.
24539 (grub_netbsd_boot): Likewise.
24540 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
24541 (grub_xnu_boot): Likewise.
24542
9f915872
VS
245432010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24544
24545 * configure.ac: Clean LIBS variable after tests.
24546
efa1bee7
CW
245472010-09-02 Colin Watson <cjwatson@ubuntu.com>
24548
24549 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
24550
61d720e5
VS
245512010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24552
24553 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
24554 echo if libdevmapper will be used.
24555
ef8e0ec8
IT
245562010-09-02 Ian Turner <Ian.Turner@deshaw.com>
24557
24558 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
24559 constant for the same file.
24560
03e261d8
VS
245612010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24562
24563 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
24564
c2a4eba6
CW
245652010-09-02 Colin Watson <cjwatson@ubuntu.com>
24566
24567 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
24568 grub-core/*.pp.
24569
9056cbf3
CW
245702010-09-02 Colin Watson <cjwatson@ubuntu.com>
24571
24572 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
24573 required by the boot protocol.
24574
24575 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
24576 ebp and edi members.
24577 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
24578 state.ebp and state.edi.
24579 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
24580 %ebp and %edi according to grub_relocator32_ebp and
24581 grub_relocator32_edi respectively.
24582 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
24583 and state.edi.
24584
529cc99a
VS
245852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24586
24587 Add i386-pc-pxe image target.
24588
24589 * util/grub-mkimage.c (image_target_desc): New enum value
24590 IMAGE_I386_PC_PXE.
24591 (image_targets): New target i386-pc-pxe.
24592 (generate_image): Handle i386-pc-pxe image.
24593
9a093920
VS
245942010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24595
24596 Fix grub_pxe_scan.
24597
24598 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
24599 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
24600 All users updated.
24601 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
24602 (grub_pxe_pxenv): Correct type.
24603
f9cefc4e
CW
246042010-09-01 Colin Watson <cjwatson@ubuntu.com>
24605
24606 * NEWS: Document most of the important changes since 1.98.
24607
4066f57f
CW
246082010-09-01 Colin Watson <cjwatson@ubuntu.com>
24609
24610 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
24611 generated manual page) a little.
24612
da2891f9
CW
246132010-09-01 Colin Watson <cjwatson@ubuntu.com>
24614
24615 * docs/grub.texi: Add myself as an author.
24616
ad717fae
VS
246172010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24618
24619 * Makefile.util.def (libgrub.a): Add missing sunpc.
24620 Reported by: Seth Goldberg.
24621
eefe8abd
VS
246222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24623
24624 Interrupt wrapping and code simplifications.
24625
9494ef9a
VS
24626 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
24627 x86_noieee1275 which are functionaly equivalent in this case.
24628 (grub-install): Make source on each platform explicit. Enable on
24629 all noemu.
24630 * gentpl.py (x86_efi_pc): Removed group.
24631 (x86_noefi): Likewise.
24632 (i386_noefi): Likewise.
24633 (x86_noieee1275): Likewise.
24634 (i386_noieee1275): Likewise.
24635 (i386_noefi_noieee1275): Likewise.
24636 (i386_pc_qemu_coreboot): Likewise.
24637 (i386_coreboot_multiboot): Likewise.
24638 (i386_pc_coreboot_multiboot_qemu): Likewise.
24639 (x86_noefi_mips): Likewise.
24640 (noieee1275): Likewise.
24641 (ieee1275_mips): Likewise.
24642 (noemu_noieee1275): Likewise.
24643 (cmos): New group.
24644 (usb): Likewise.
24645 (videoinkernel): Likewise.
24646 (videomodules): Likewise.
eefe8abd 24647 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
24648 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
24649 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
24650 include/grub/loader.h, include/grub/msdos_partition.h,
24651 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
24652 include/grub/machine/console.h, include/grub/machine/vga.h,
24653 include/grub/machine/vbe.h, include/grub/machine/init.h,
24654 include/grub/machine/kernel.h, include/grub/cpu/time.h,
24655 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 24656 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
24657 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
24658 * grub-core/Makefile.core.def (kernel): Explicit the source for
24659 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
24660 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
24661 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
24662 Use videoinkernel tag.
24663 (usb): Enable on all usb.
24664 (usbserial_common): Likewise.
24665 (usbserial_pl2303): Likewise.
24666 (usbserial_ftdi): Likewise.
24667 (uhci): Enable on all x86.
24668 (ohci): Enable on all pci.
24669 (cmostest): Enable on all CMOS.
24670 (acpi): Include commands/acpi.c on all platforms.
24671 (halt): Add relevant lib/*/halt.c.
24672 (hdparm): Enable on all pci.
24673 (lspci): Likewise.
24674 (usbtest): Enable on all usb.
24675 (ata): Enable on all pci.
24676 (ata_pthru): Likewise.
24677 (usbms): Enable on all usb.
24678 (usb_keyboard): Likewise.
24679 (font): Use tag videomodules.
24680 (bufio): Likewise.
24681 (datetime): Use tag cmos. Enable on all noemu.
24682 (mmap): Use tags common and x86.
24683 (gfxterm): Use tag videomodules.
24684 (bitmap): Likewise.
24685 (bitmap_scale): Likewise.
24686 (video_fb): Likewise.
24687 (video): Likewise.
24688 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
24689 adjust padding accordingly. All users updated.
24690 (grub_ohci_transaction): Fix bad format specification.
24691 (GRUB_MOD_INIT): Add asserts for struct size.
24692 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
24693 (grub_alloc_td): Likewise.
24694 (grub_free_queue): Likewise.
24695 (grub_uhci_transfer): Likewise.
24696 (grub_uhci_transaction): Fix bad format specification.
24697 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24698 (grub_usb_bulk_readwrite): Likewise.
24699 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
24700 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
24701 Made static.
24702 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
24703 Made static.
24704 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
24705 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
24706 Transformed into C.
24707 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
24708 Moved from here ...
24709 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
24710 ... here. Transformed into C. Made static.
24711 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
24712 Moved from here ...
24713 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
24714 ... here. Transformed into C. Made static.
24715 * grub-core/kern/i386/pc/startup.S
24716 (grub_biosdisk_check_int13_extensions): Moved from here ...
24717 * grub-core/disk/i386/pc/biosdisk.c
24718 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
24719 Made static.
24720 * grub-core/kern/i386/pc/startup.S
24721 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
24722 * grub-core/disk/i386/pc/biosdisk.c
24723 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
24724 Transformed into C. Made static.
24725 * grub-core/kern/i386/pc/startup.S
24726 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
24727 * grub-core/disk/i386/pc/biosdisk.c
24728 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
24729 Transformed into C. Made static.
24730 * grub-core/kern/i386/pc/startup.S
24731 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
24732 * grub-core/disk/i386/pc/biosdisk.c
24733 (grub_biosdisk_get_diskinfo_standard): ... here.
24734 Transformed into C. Made static.
24735 * grub-core/kern/i386/pc/startup.S
24736 (grub_biosdisk_get_num_floppies): Moved from here ...
24737 * grub-core/disk/i386/pc/biosdisk.c
24738 (grub_biosdisk_get_num_floppies): ... here.
24739 Transformed into C. Made static.
24740 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
24741 New function.
24742 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
24743 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
24744 Transformed into C. Made static.
24745 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
24746 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
24747 Transformed into C. Made static.
24748 * grub-core/kern/i386/ieee1275/init.c: Removed.
24749 * grub-core/kern/i386/misc.S: Likewise.
24750 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
24751 Splitted from here ...
24752 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
24753 Transformed into C. Made static. All users updated.
24754 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
24755 Transformed into C. Made static. All users updated.
24756 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
24757 Moved from here...
24758 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
24759 Transformed into C. Made static. All users updated.
24760 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
24761 Moved from here...
24762 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
24763 Transformed into C. Made static. All users updated.
24764 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
24765 Removed (replaced by C version).
24766 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
24767 Moved from here...
24768 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
24769 Transformed into C. Made static.
24770 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
24771 Moved from here...
24772 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
24773 ... here. Transformed into C.
24774 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
24775 Moved from here...
24776 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
24777 ... here. Transformed into C.
24778 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
24779 Moved from here...
24780 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
24781 ... here. Transformed into C. Made static.
24782 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
24783 Moved from here...
24784 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
24785 ... here. Transformed into C.
21ed554b
VS
24786 * grub-core/kern/i386/pc/startup.S
24787 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
24788 * grub-core/video/i386/pc/vbe.c
24789 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
24790 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
24791 Moved from here...
24792 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
24793 ... here. Transformed into C.
24794 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
24795 Moved from here...
24796 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
24797 ... here. Transformed into C.
24798 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
24799 Moved from here...
24800 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
24801 ... here. Transformed into C.
24802 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
24803 Moved from here...
24804 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
24805 ... here. Transformed into C.
24806 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
24807 Moved from here...
24808 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
24809 ... here. Transformed into C. Made static.
24810 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
24811 Moved from here...
24812 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
24813 ... here. Transformed into C. Made static.
24814 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
24815 Moved from here...
24816 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
24817 ... here. Transformed into C. Made static.
24818 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
24819 pxe_rm_entry as third argument.
24820 (grub_bios_interrupt): New function.
24821 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
24822 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
24823 of calling grub_stop.
24824 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
24825 * grub-core/lib/efi/halt.c (grub_halt): ...here.
24826 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
24827 * grub-core/lib/emu/halt.c (grub_halt): ... here.
24828 * grub-core/lib/i386/halt.c: Moved from here ...
24829 * grub-core/lib/i386/halt.c: ... here.
24830 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
24831 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
24832 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
24833 grub_stop_floppy.
24834 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
24835 * include/grub/i386/coreboot/init.h: Removed.
24836 * include/grub/i386/multiboot/init.h: Likewise.
24837 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
24838 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
24839 * include/grub/i386/pc/int.h: New file.
24840 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
24841 (grub_pxe_scan): Removed.
24842 (grub_pxe_call): Update prototype.
24843 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
24844 prototypes.
24845 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
24846 * include/grub/i386/qemu/init.h: Removed.
24847 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
24848 noreturn.
24849 (grub_halt): Likewise.
24850 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
24851 (grub_reboot): Likewise.
24852 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
24853 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
24854 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
24855
215dd471
RM
248562010-08-30 Robert Millan <rmh@gnu.org>
24857
24858 * NEWS: Document addition of ZFS support in `grub-install' and
24859 `grub-mkconfig'.
24860
ebd65b82
BC
248612010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
24862
24863 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
24864 dprintf output.
24865
11721d19
VS
248662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24867
24868 Remove leftover embedding of font objects.
24869
24870 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24871 * util/grub-install.in (font): Removed.
24872 * util/grub-mkimage.c (generate_image): Remove font support. All users
24873 updated.
24874
37837d4e
VS
248752010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24876
24877 Remove leftover embedding of font objects.
24878
24879 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24880 * util/grub-install.in (font): Removed.
24881 * util/grub-mkimage.c (generate_image): Remove font support. All users
24882 updated.
24883
b4c1aae0
VS
248842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24885
24886 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 24887 Reported by: Ian Turner
b4c1aae0 24888
8920a08d
VS
248892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24890
24891 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
24892 timeout to avoid indefinite boot stalling.
24893
f21db033
VS
248942010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24895
24896 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
24897 (grub_env_write_color_highlight): Likewise.
24898
9a9de209
VS
248992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24900
24901 * grub-core/normal/term.c (print_more): Return to normal and not
24902 to standard state after printing "---MORE---".
24903
3dca01d7
VS
249042010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24905
24906 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
24907 Mask out the bit 0x80 since it has other meaning that specifiing color.
24908
0b986c40
VS
249092010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24910
24911 New relocator. Allows for more kernel support and more straightforward
24912 loader writing.
24913
24914 * Makefile.am (BOOTTARGET): New variable.
24915 (QEMU32): Likewise.
24916 (linux.init.x86_64): New target.
24917 (linux.init.i386): Likewise.
24918 (multiboot.elf): Likewise.
24919 (kfreebsd.elf): Likewise.
24920 (kfreebsd.aout): Likewise.
24921 (pc-chainloader.elf): Likewise.
24922 (pc-chainloader.bin): Likewise.
24923 (ntldr.elf): Likewise.
24924 (ntldr.bin): Likewise.
24925 (multiboot2.elf): Likewise.
24926 (kfreebsd.init.x86_64): Likewise.
24927 (kfreebsd.init.i386): Likewise.
24928 (knetbsd.init.i386): Likewise.
24929 (kopenbsd.init.i386): Likewise.
24930 (knetbsd.init.x86_64): Likewise.
24931 (kopenbsd.init.x86_64): Likewise.
24932 (linux-initramfs.i386): Likewise.
24933 (linux-initramfs.x86_64): Likewise.
24934 (kfreebsd-mfsroot.i386.img): Likewise.
24935 (knetbsd.image.i386): Likewise.
24936 (kopenbsd.image.i386): Likewise.
24937 (kopenbsd.image.x86_64): Likewise.
24938 (knetbsd.miniroot-image.i386.img): Likewise.
24939 (kfreebsd-mfsroot.x86_64.img): Likewise.
24940 (knetbsd.image.x86_64): Likewise.
24941 (knetbsd.miniroot-image.x86_64.img): Likewise.
24942 (kfreebsd-mfsroot.i386.gz): Likewise.
24943 (bootcheck-kfreebsd-i386): Likewise.
24944 (kfreebsd-mfsroot.x86_64.gz): Likewise.
24945 (bootcheck-kfreebsd-x86_64): Likewise.
24946 (knetbsd.miniroot-image.i386.gz): Likewise.
24947 (bootcheck-knetbsd-i386): Likewise.
24948 (bootcheck-kopenbsd-i386): Likewise.
24949 (bootcheck-kopenbsd-x86_64): Likewise.
24950 (knetbsd.miniroot-image.x86_64.gz): Likewise.
24951 (bootcheck-knetbsd-x86_64): Likewise.
24952 (bootcheck-linux-i386): Likewise.
24953 (bootcheck-linux-x86_64): Likewise.
24954 (bootcheck-linux16-i386): Likewise.
24955 (bootcheck-linux16-x86_64): Likewise.
24956 (bootcheck-multiboot): Likewise.
24957 (bootcheck-multiboot2): Likewise.
24958 (bootcheck-kfreebsd-aout): Likewise.
24959 (bootcheck-pc-chainloader): Likewise.
24960 (bootcheck-ntldr): Likewise.
24961 (CLEANFILES): Add new targets.
24962 (BOOTCHECKS): New variable.
24963 (.PHONY): Add bootchecks.
24964 (SUCCESSFUL_BOOT_STRING): New variable.
24965 (BOOTCHECK_TIMEOUT): Likewise.
24966 (bootcheck): New target
24967 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
24968 * configure.ac: Correct efiemu excuse.
24969 * docs/grub.texi (Supported kernels): New chapter.
24970 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
24971 include/grub/mm_private.h. Simplify inclusion of
24972 include/grub/boot.h, include/grub/loader.h
24973 and include/grub/msdos_partition.h
24974 (KERNEL_HEADER_FILES) [i386_coreboot]:
24975 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
24976 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
24977 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
24978 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
24979 include/grub/machine/loader.h.
24980 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
24981 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
24982 extra_dist.
24983 (pci.mod): Enable on i386-multiboot.
24984 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
24985 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
24986 i386-qemu.
24987 (relocator.mod): Rewritten.
24988 (aout.mod): Enable on all x86.
24989 (bsd.mod): Likewise.
24990 (ntldr.mod): New module.
24991 (linux.mod): Use loader/i386/linux.c on all x86.
24992 (xnu.mod): Enable on all x86.
24993 (vga_text.mod): disable on EFI and QEMU.
24994 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
24995 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
24996 * grub-core/efiemu/loadcore.c: Likewise.
24997 * grub-core/efiemu/main.c: Likewise.
24998 (grub_efiemu_exit_boot_services): Removed.
24999 (grub_efiemu_finish_boot_services): Likewise.
25000 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
25001 function.
25002 * grub-core/efiemu/i386/nocfgtables.c: New file.
25003 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
25004 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
25005 (grub_efi_finish_boot_services): Moved from here ...
25006 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
25007 Fille finish memory map and related data.
25008 (finish_mmap_buf): New variable.
25009 (grub_efi_uintn_t finish_mmap_size): Likewise.
25010 (grub_efi_uintn_t finish_key): Likewise.
25011 (grub_efi_uintn_t finish_desc_size): Likewise.
25012 (grub_efi_uint32_t finish_desc_version): Likewise.
25013 (grub_efi_is_finished): Likewise.
25014 (grub_efi_get_memory_map): Use saved memory map if EFI is already
25015 finished.
25016 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
25017 (grub_elf64_phdr_iterate): Likewise.
25018 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
25019 (grub_os_area_size): Likewise.
25020 (grub_machine_init): Don't reserve os area.
25021 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
25022 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
25023 * grub-core/kern/i386/loader.S: Removed.
25024 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
25025 (grub_os_area_size): Likewise.
25026 (grub_machine_init): Don't reserve os area.
25027 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
25028 Don't call grub_dl_unload_all.
25029 Don't include loader.S.
25030 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
25031 Declare the memory after _end as available.
25032 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 25033 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 25034 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
25035 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
25036 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
25037 * include/grub/mm_private.h (grub_mm_header): ... here.
25038 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
25039 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
25040 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
25041 (grub_mm_region): ..here. Removed addr. Added pre_size.
25042 All users updated.
25043 * grub-core/kern/mm.c (base): Renamed to ...
25044 (grub_mm_base): ... this. Made global.
25045 (grub_real_malloc): Alloc from end of region.
25046 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
25047 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
25048 * grub-core/kern/powerpc/cache_flush.S: ... here.
25049 * grub-core/lib/efi/relocator.c: New file.
25050 * grub-core/lib/i386/relocator.c: Rewritten.
25051 * grub-core/lib/i386/relocator16.S: New file.
25052 * grub-core/lib/i386/relocator32.S: Likewise.
25053 * grub-core/lib/i386/relocator64.S: Likewise.
25054 * grub-core/lib/i386/relocator_asm.S: Rewritten.
25055 * grub-core/lib/i386/relocator_common.S: New file.
25056 * grub-core/lib/ieee1275/relocator.c: Likewise.
25057 * grub-core/lib/mips/relocator.c: Rewritten.
25058 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
25059 stylistic adjustments.
25060 * grub-core/lib/powerpc/relocator.c: New file.
25061 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
25062 * grub-core/lib/relocator.c: Rewritten.
25063 * grub-core/lib/x86_64/relocator_asm.S: New file.
25064 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
25065 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
25066 (bsd_tag): New struct.
25067 (tags): New variable.
25068 (tags_last): Likewise.
25069 (netbsd_module): New struct.
25070 (netbsd_mods): New variable.
25071 (netbsd_mods_last): Likewise.
25072 (openbsd_opts): New parameter "serial".
25073 (OPENBSD_SERIAL_ARG): New definition.
25074 (netbsd_opts): New parameter "serial".
25075 (NETBSD_SERIAL_ARG): New definition.
25076 (grub_freebsd_add_meta): Reorganised into ...
25077 (grub_bsd_add_meta): ...this. All users updated.
25078 (grub_freebsd_add_mmap): Reorganised into ...
25079 (generate_e820_mmap): ...this...
25080 (grub_bsd_add_mmap): ...and this. All users updated.
25081 (grub_freebsd_list_modules): Use tags.
25082 (grub_netbsd_add_meta_module): New function.
25083 (grub_netbsd_list_modules): Likewise.
25084 (grub_freebsd_boot): Use relocator and finish EFI.
25085 (grub_openbsd_boot): Likewise.
25086 (grub_netbsd_setup_video): New function.
25087 (grub_netbsd_add_modules): Likewise.
25088 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
25089 and finish EFI.
25090 (grub_bsd_unload): Unload tags.
25091 (grub_bsd_load_aout): Use relocator.
25092 (grub_bsd_elf32_size_hook): New function.
25093 (grub_bsd_elf32_hook): Use relocator.
25094 (grub_bsd_elf64_size_hook): New function.
25095 (grub_bsd_elf64_hook): Use relocator.
25096 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
25097 (grub_bsd_load): Zero-out openbsd_ramdisk.
25098 (grub_bsd_load): Use relocator.
25099 (grub_cmd_openbsd): Support serial.
25100 (grub_cmd_netbsd): Support modules.
25101 (grub_cmd_freebsd_module): Use relocator.
25102 (grub_netbsd_module_load): New function.
25103 (grub_cmd_netbsd_module): Likewise.
25104 (grub_cmd_openbsd_ramdisk): Likewise.
25105 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
25106 kopenbsd_ramdisk.
25107 (GRUB_MOD_FINI): Unregister new commands.
25108 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
25109 (grub_freebsd_load_elfmodule_obj): Use relocator.
25110 (grub_freebsd_load_elfmodule): Likewise.
25111 (grub_freebsd_load_elf_meta): Likewise.
25112 (grub_netbsd_load_elf_meta): New function.
25113 (grub_openbsd_find_ramdisk): Likewise.
25114 * grub-core/loader/i386/bsd_helper.S: Removed.
25115 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
25116 * grub-core/loader/i386/bsd_trampoline.S: Removed.
25117 * grub-core/loader/i386/efi/linux.c: Likewise.
25118 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
25119 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
25120 (DEFAULT_VIDEO_MODE): Likewise.
25121 (real_mode_target): New variable.
25122 (prot_mode_target): Likewise.
25123 (initrd_mem_target): Likewise.
25124 (relocator): Likewise.
25125 (efi_mmap_buf): Likewise.
25126 (efi_mmap_size): Likewise.
25127 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
25128 (free_pages): Use relocator.
25129 (allocate_pages): Account for efi_mmap and use relocator. Return error.
25130 (grub_linux_setup_video): Return error.
25131 (grub_linux_trampoline_start): Removed.
25132 (grub_linux_trampoline_end): Likewise.
25133 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
25134 andd video parameters depending on firmware.
25135 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
25136 [GRUB_MACHINE_EFI]: Pass EFI parameters.
25137 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
25138 (grub_cmd_initrd): Use relocator.
25139 * grub-core/loader/i386/linux_trampoline.S: Removed.
25140 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
25141 (elf_sec_entsize): Likewise.
25142 (elf_sec_shstrndx): Likewise.
25143 (elf_sections): Likewise.
25144 (grub_multiboot_load): Use relocator.
25145 (grub_multiboot_get_mbi_size): Account for sections.
25146 (grub_multiboot_make_mbi): Use relocator and support sections.
25147 (grub_multiboot_add_elfsyms): New function.
25148 (grub_multiboot_free_mbi): Free sections.
25149 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
25150 (grub_linux_real_target): Likewise.
25151 (grub_linux_real_chunk): Likewise.
25152 (grub_linux16_prot_size): Likewise.
25153 (grub_linux16_boot): Use relocator.
25154 (grub_linux_unload): Unload relocator.
25155 (grub_cmd_linux): Use relocator.
25156 (grub_cmd_initrd): Likewise.
25157 * grub-core/loader/i386/pc/ntldr.c: New file.
25158 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
25159 Don't try to guess CPU frequency.
25160 (grub_xnu_set_video): Stretch bitmap.
25161 (grub_xnu_boot): Use relocator.
25162 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
25163 (grub_linux_unload): Free relocator.
25164 (grub_linux_load32): Use relocator.
25165 (grub_linux_load64): Likewise.
25166 (grub_cmd_initrd): Likewise.
25167 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
25168 (grub_multiboot_unload): Unload relocator.
25169 (grub_cmd_multiboot): Use relocator.
25170 (grub_cmd_module): Likewise.
25171 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
25172 Use relocator and support sections.
25173 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
25174 (elf_sec_entsize): Likewise.
25175 (elf_sec_shstrndx): Likewise.
25176 (elf_sections): Likewise.
25177 (grub_multiboot_load): Use relocator.
25178 (grub_multiboot_get_mbi_size): Account for sections.
25179 (grub_multiboot_make_mbi): Use relocator and support sections.
25180 (grub_multiboot_add_elfsyms): New function.
25181 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
25182 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
25183 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
25184 Prototype changed. All users updated.
25185 (grub_xnu_align_heap): Simplified.
25186 (grub_xnu_writetree_toheap): Likewise.
25187 (grub_xnu_unload): Unload relocator.
25188 (grub_cmd_xnu_kernel): Use relocator.
25189 (grub_cmd_xnu_kernel64): Likewise.
25190 (grub_xnu_register_memory): Simplified.
25191 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
25192 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
25193 EFI is finished.
25194 (grub_console_checkkey): Likewise.
25195 (grub_console_getkey): Likewise.
25196 (grub_console_getwh): Likewise.
25197 (grub_console_getxy): Likewise.
25198 (grub_console_gotoxy): Likewise.
25199 (grub_console_cls): Likewise.
25200 (grub_console_setcolorstate): Likewise.
25201 (grub_console_setcursor): Likewise.
25202 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
25203 * grub-core/tests/boot/kbsd.init-i386.S: New file.
25204 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
25205 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
25206 * grub-core/tests/boot/kernel-8086.S: Likewise.
25207 * grub-core/tests/boot/kernel-i386.S: Likewise.
25208 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
25209 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
25210 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
25211 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
25212 * grub-core/tests/boot/knetbsd.cfg: Likewise.
25213 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
25214 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
25215 * grub-core/tests/boot/linux.cfg: Likewise.
25216 * grub-core/tests/boot/linux.init-i386.S: Likewise.
25217 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
25218 * grub-core/tests/boot/linux16.cfg: Likewise.
25219 * grub-core/tests/boot/multiboot.cfg: Likewise.
25220 * grub-core/tests/boot/multiboot2.cfg: Likewise.
25221 * grub-core/tests/boot/ntldr.cfg: Likewise.
25222 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
25223 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
25224 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
25225 New definition.
25226 * include/grub/dl.h (grub_dl_unload_all): Removed.
25227 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
25228 (grub_efi_finish_boot_services): Change prototype.
25229 (grub_efi_is_finished): New variable.
25230 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
25231 Changed prototype.
25232 (grub_efiemu_finish_boot_services): Removed.
25233 (grub_machine_efiemu_init_tables): New prototype.
25234 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
25235 (grub_elf64_phdr_iterate): Likewise.
25236 * include/grub/i386/bsd.h: Include relocator.h.
25237 (freebsd_tag_header): New struct.
25238 (grub_openbsd_bios_mmap): Removed.
25239 (grub_unix_real_boot): Removed.
25240 (grub_freebsd_load_elfmodule32): Changed prototype.
25241 (grub_freebsd_load_elfmodule_obj64): Likewise.
25242 (grub_freebsd_load_elf_meta32): Likewise.
25243 (grub_freebsd_load_elf_meta64): Likewise.
25244 (grub_freebsd_add_meta): Removed.
25245 (grub_netbsd_load_elf_meta32): New prototype.
25246 (grub_netbsd_load_elf_meta64): Likewise.
25247 (grub_bsd_add_meta): Likewise.
25248 (grub_openbsd_ramdisk_descriptor): New struct.
25249 (grub_openbsd_find_ramdisk32): New prototype.
25250 (grub_openbsd_find_ramdisk64): Likewise.
25251 * include/grub/i386/coreboot/loader.h: Removed.
25252 * include/grub/i386/efi/loader.h: Likewise.
25253 * include/grub/i386/ieee1275/loader.h: Likewise.
25254 * include/grub/i386/linux.h (linux_kernel_header): Change void *
25255 to grub_uint32_t.
25256 * include/grub/i386/loader.h: Removed.
25257 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
25258 value.
25259 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
25260 (grub_phys_addr_t): New type.
25261 (grub_vtop): New inline function.
25262 (grub_map_memory): Likewise.
25263 (grub_unmap_memory): Likewise.
25264 * include/grub/i386/multiboot/loader.h: Removed.
25265 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
25266 (NETBSD_BTINFO_CONSOLE): New definition.
25267 (NETBSD_BTINFO_SYMTAB): Likewise.
25268 (NETBSD_BTINFO_MODULES): Likewise.
25269 (NETBSD_BTINFO_FRAMEBUF): Likewise.
25270 (grub_netbsd_bootinfo): New struct.
25271 (grub_netbsd_btinfo_common): Use explicit bitsize.
25272 (grub_netbsd_btinfo_mmap_entry): Removed.
25273 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
25274 (grub_netbsd_btinfo_bootdisk): New struct.
25275 (grub_netbsd_btinfo_symtab): Likewise.
25276 (grub_netbsd_btinfo_serial): Likewise.
25277 (grub_netbsd_btinfo_modules): Likewise.
25278 (grub_netbsd_btinfo_framebuf): Likewise.
25279 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
25280 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
25281 Likewise.
25282 (grub_openbsd_bootargs): Use explicit bitsize.
25283 (grub_openbsd_bootarg_console): New struct.
25284 (GRUB_OPENBSD_COM_MAJOR): New definition.
25285 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
25286 * include/grub/i386/pc/efiemu.h: Removed.
25287 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
25288 * include/grub/i386/qemu/loader.h: Removed.
25289 * include/grub/i386/relocator.h: Rewritten.
25290 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
25291 * include/grub/mips/memory.h: New file.
25292 * include/grub/mips/multiboot.h: Rewritten.
25293 * include/grub/mips/relocator.h: Rewritten.
25294 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
25295 (grub_vtop): New function.
25296 (grub_map_memory): Likewise.
25297 (grub_unmap_memory): Likewise.
25298 * include/grub/misc.h (ALIGN_DOWN): New definition.
25299 * include/grub/mm.h (grub_mm_check_real): New proto.
25300 (GRUB_MM_CHECK): New definition.
25301 * include/grub/mm_private.h: New file.
25302 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
25303 (grub_multiboot_get_mbi_size): Removed.
25304 (grub_multiboot_make_mbi): Change prottype.
25305 (grub_multiboot_set_accepts_video): New proto.
25306 (grub_multiboot_add_elfsyms): Likewise.
25307 (grub_multiboot_payload_eip): New variable.
25308 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
25309 New prototype.
25310 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
25311 New definition.
25312 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
25313 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
25314 * include/grub/powerpc/ieee1275/loader.h: Removed.
25315 * include/grub/powerpc/memory.h: New file.
25316 * include/grub/powerpc/relocator.h: Likewise.
25317 * include/grub/relocator.h: Likewise.
25318 * include/grub/relocator_private.h: Likewise.
25319 * include/grub/sparc64/ieee1275/loader.h: Removed.
25320 * include/grub/x86_64/memory.h: New file.
25321 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
25322 (grub_xnu_heap_malloc): Likewise.
25323 (grub_xnu_heap_real_start): Removed.
25324 (grub_xnu_heap_start): Likewise.
25325 (grub_xnu_relocator): New variable.
25326 (grub_xnu_heap_target_start): Likewise.
25327 * tests/util/grub-shell.in: Support non-pc.
25328 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 25329
5303b85d
VS
253302010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25331
25332 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
25333 on malloc error.
25334 (grub_bidi_logical_to_visual): Check that malloc succeded.
25335 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
25336 puts.
25337 (grub_xputs_normal): Likewise.
25338
d768d159
VS
253392010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25340
25341 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
25342 extra_dist.
25343
253442010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25345
25346 * grub-core/efiemu/runtime/efiemu.sh: Removed.
25347
5bf84df4
VS
253482010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25349
25350 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
25351
3626810e
VS
253522010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25353
25354 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
25355 dprintf.
25356
a7363f53
BC
253572010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
25358
25359 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
25360
902f75f6
VS
253612010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25362
25363 * grub-core/normal/term.c (print_more): Fix a memory leak.
25364 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
25365 (grub_xputs_normal): Likewise.
25366
3c707967
VS
253672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25368
25369 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
25370 the begining of the string
25371
2053cc07
VS
253722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25373
25374 * grub-core/script/script.c (grub_script_parse): Free parsed on
25375 failure.
25376
46422ebf
VS
253772010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25378
25379 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
25380 on failure.
25381
9e0fa3f6
VS
253822010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25383
25384 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
25385 return.
25386
3393cf16
VS
253872010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25388
25389 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
25390 (scroll_up): Fix a memory leak.
25391
b17540cb
VS
253922010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25393
25394 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
25395 errors.
25396
67140446
VS
253972010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
25398
25399 Handle USB pendrives exposed as floppies.
25400
25401 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
25402 floppy.
25403 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25404 Check for partitions on all devices.
25405
e35e46fc
VS
254062010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25407
25408 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
25409 (readkey): Likewise.
25410
d24c6190
BC
254112010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
25412
25413 Multiple variable names support to "export" command.
25414
25415 * normal/context.c (grub_cmd_export): "export" command supports
25416 multiple variable names.
25417
04ddcc6a
ST
254182010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
25419
25420 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
25421 --target=drive output to Mach device name.
25422
0c8b61d8
BC
254232010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25424
25425 New Automake based build system for GRUB.
25426
25427 * ABOUT-NLS: New file.
25428 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
25429 in Makefile.util.def file.
25430 * Makefile.util.def: New file. Autogen build definitions file for
25431 GRUB host utils.
25432 * conf/Makefile.common: New file. Common variables for GRUB host
25433 utils and target modules.
25434 * conf/Makefile.extra-dist: New file. Extra files for make dist.
25435 * docs/Makefile.am: New file. Automake file for docs.
25436 * gentpl.py: New file. Python script to generate Autogen
25437 template.
25438 * grub-core/Makefile.am: New file. GRUB target modules' rules
25439 that doesn't fit in Makefile.core.def file.
25440 * grub-core/Makefile.core.def: New file. Autogen build
25441 definitions file for GRUB target modules.
25442 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
25443 specific setjmp.S file.
25444 * po/Makefile.am: New file.
25445
25446 * .bzrignore: New ignores.
25447 * INSTALL: New requirements, without Ruby.
25448 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
25449 * autogen.sh: Updated to invoke autogen as necessary.
25450 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
25451 and defines for Automake conditionals.
25452 * geninit.sh: Refactoring.
25453
25454 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
25455 necessary.
25456 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
25457 New prototype.
25458
25459 * include/grub/test.h: Fix functional test modules' naming.
25460 * grub-core/tests/example_functional_test.c: Fix test module name.
25461
25462 * util/misc.c: Hosted versions' of grub functions for libgrub.a
25463 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
25464 * util/grub-editenv.c: Likewise.
25465 * util/grub-fstest.c: Likewise.
25466 * util/grub-mkdevicemap.c: Likewise.
25467 * util/grub-mkfont.c: Likewise.
25468 * util/grub-mkimage.c: Likewise.
25469 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25470 * util/grub-probe.c: Likewise.
25471 * util/grub-script-check.c: Likewise.
25472 * util/i386/pc/grub-setup.c: Likewise.
25473 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25474
25475 * tests/util/grub-shell.in: Fix override directory path.
25476 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
25477 * util/import_gcry.py: Create Makefile.gcry.def file instead.
25478
25479 * util/lvm.c: Update #includes.
25480 * util/raid.c: Likewise.
25481 * util/resolve.c: Likewise.
25482 * grub-core/bus/emu/pci.c: Likewise.
25483 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
25484 * grub-core/lib/posix_wrap/string.h: Likewise.
25485 * grub-core/kern/emu/main.c: Likewise.
25486
25487 * grub-core/gensymlist.sh: New file. Script for generating kernel
25488 symbols file.
25489 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
25490
25491 * grub-core/gentrigtables.c: Fix unused variable warnings.
25492
25493 * Makefile.in: Removed.
25494 * conf/any-emu.rmk: Removed.
25495 * conf/common.rmk: Removed.
25496 * conf/i386-coreboot.rmk: Removed.
25497 * conf/i386-efi.rmk: Removed.
25498 * conf/i386-ieee1275.rmk: Removed.
25499 * conf/i386-multiboot.rmk: Removed.
25500 * conf/i386-pc.rmk: Removed.
25501 * conf/i386-qemu.rmk: Removed.
25502 * conf/i386.rmk: Removed.
25503 * conf/mips-yeeloong.rmk: Removed.
25504 * conf/mips.rmk: Removed.
25505 * conf/powerpc-ieee1275.rmk: Removed.
25506 * conf/sparc64-ieee1275.rmk: Removed.
25507 * conf/tests.rmk: Removed.
25508 * conf/x86-efi.rmk: Removed.
25509 * conf/x86_64-efi.rmk: Removed.
25510 * gendistlist.sh: Removed.
25511 * geninitheader.sh: Removed.
25512 * genkernsyms.sh.in: Removed.
25513 * genmk.rb: Removed.
25514 * gensymlist.sh.in: Removed.
25515 * mkinstalldirs: Removed.
25516 * boot: Moved ...
25517 * grub-core/boot: ... to here.
25518 * bus: Moved ...
25519 * grub-core/bus: ... to here.
25520 * commands: Moved ...
25521 * grub-core/commands: ... to here.
25522 * disk: Moved ...
25523 * grub-core/disk: ... to here.
25524 * efiemu: Moved ...
25525 * grub-core/efiemu: ... to here.
25526 * font: Moved ...
25527 * grub-core/font: ... to here.
25528 * fs: Moved ...
25529 * grub-core/fs: ... to here.
25530 * gencmdlist.sh: Moved ...
25531 * grub-core/gencmdlist.sh: ... to here.
25532 * genemuinit.sh: Moved ...
25533 * grub-core/genemuinit.sh: ... to here.
25534 * genemuinitheader.sh: Moved ...
25535 * grub-core/genemuinitheader.sh: ... to here.
25536 * genfslist.sh: Moved ...
25537 * grub-core/genfslist.sh: ... to here.
25538 * genhandlerlist.sh: Moved ...
25539 * grub-core/genhandlerlist.sh: ... to here.
25540 * genmoddep.awk: Moved ...
25541 * grub-core/genmoddep.awk: ... to here.
25542 * genmodsrc.sh: Moved ...
25543 * grub-core/genmodsrc.sh: ... to here.
25544 * genpartmaplist.sh: Moved ...
25545 * grub-core/genpartmaplist.sh: ... to here.
25546 * genparttoollist.sh: Moved ...
25547 * grub-core/genparttoollist.sh: ... to here.
25548 * genterminallist.sh: Moved ...
25549 * grub-core/genterminallist.sh: ... to here.
25550 * gentrigtables.c: Moved ...
25551 * grub-core/gentrigtables.c: ... to here.
25552 * genvideolist.sh: Moved ...
25553 * grub-core/genvideolist.sh: ... to here.
25554 * gettext: Moved ...
25555 * grub-core/gettext: ... to here.
25556 * gfxmenu: Moved ...
25557 * grub-core/gfxmenu: ... to here.
25558 * gnulib: Moved ...
25559 * grub-core/gnulib: ... to here.
25560 * hello: Moved ...
25561 * grub-core/hello: ... to here.
25562 * hook: Moved ...
25563 * grub-core/hook: ... to here.
25564 * io: Moved ...
25565 * grub-core/io: ... to here.
25566 * kern: Moved ...
25567 * grub-core/kern: ... to here.
25568 * lib: Moved ...
25569 * grub-core/lib: ... to here.
25570 * loader: Moved ...
25571 * grub-core/loader: ... to here.
25572 * mmap: Moved ...
25573 * grub-core/mmap: ... to here.
25574 * normal: Moved ...
25575 * grub-core/normal: ... to here.
25576 * partmap: Moved ...
25577 * grub-core/partmap: ... to here.
25578 * parttool: Moved ...
25579 * grub-core/parttool: ... to here.
25580 * script: Moved ...
25581 * grub-core/script: ... to here.
25582 * term: Moved ...
25583 * grub-core/term: ... to here
25584 * tests/example_functional_test.c: Moved ...
25585 * grub-core/tests/example_functional_test.c: ... to here.
25586 * tests/lib/functional_test.c: Moved ...
25587 * grub-core/tests/lib/functional_test.c: ... to here.
25588 * tests/lib/test.c: Moved ...
25589 * grub-core/tests/lib/test.c: ... to here.
25590 * video: Moved ...
25591 * grub-core/video: ... to here.
25592
645586e6
BC
255932010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25594
25595 Replace --enable-grub-emu-modules with grub-emu-lite.
25596
25597 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
25598 cache.S.
25599
25600 * include/grub/emu/misc.h (grub_emu_init): New prototype.
25601 * kern/emu/full.c: New file. For grub-emu specific initialization.
25602 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
25603 * kern/emu/main.c: Call initialization function grub_emu_init.
25604
25605 * Makefile.in: Include grub-emu-lite in install.
25606 * commands/parttool.c: Use grub_no_autoload to differentiate
25607 between grub-emu and grub-emu-lite.
25608 * include/grub/misc.h: New variable grub_no_autoload.
25609
25610 * conf/any-emu.rmk: New rules for grub-emu-lite.
25611 * configure.ac: Remove --enable-grub-emu-modules.
25612 * genmk.rb: Cleanup unnecessary rules.
25613 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
25614
25615 * normal/main.c: Don't load list files on grub-emu-lite.
25616 * util/misc.c (grub_arch_sync_caches): Removed.
25617
f86a4030
CW
256182010-08-23 Colin Watson <cjwatson@ubuntu.com>
25619
25620 * kern/mips/startup.S (grub_prefix): Update comment to refer to
25621 grub-mkimage rather than grub-mkelfimage.
25622 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
25623
06776944
VS
256242010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25625
25626 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
25627 a key after CapsLock or NumLock. It's just a qemu bug.
25628
df262419
VS
256292010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25630
25631 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
25632 needed by libusb wrapper.
25633
b40ea81b
ST
256342010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25635
25636 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
25637
dee50575
VS
256382010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25639
25640 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
25641 --nounzip is passed.
25642
fb1d7b79
VS
256432010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
25644
25645 USB hotunplugging and USB serial support.
25646
25647 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
25648 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
25649 (grub_uhci_transfer): Respect timeout and set *actual.
25650 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
25651 non-standard length.
25652 (grub_usb_device_attach): Autoload modules.
25653 (GRUB_MOD_INIT): Set grub_term_poll_usb.
25654 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
25655 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
25656 users updated.
25657 (grub_usb_add_hub): Fill nports and children.
25658 (attach_root_port): Receive hub instead of controller.
25659 All users updated. Fill hub->devices.
25660 (grub_usb_root_hub): Allocate hub->devices.
25661 (detach_device): New function.
25662 (poll_nonroot_hub): Fill children and detach devices.
25663 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
25664 actual arguments. All users updated.
25665 (grub_usb_bulk_read_extended): New function.
25666 * bus/usb/serial/common.c: New file.
25667 * bus/usb/serial/ftdi.c: Likewise.
25668 * bus/usb/serial/pl2303.c: Likewise.
25669 * commands/terminal.c (handle_command): Support wildcard.
25670 * commands/usbtest.c: Output "Unknown" instead of empty string.
25671 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
25672 (usbserial_common_mod_SOURCES): New variable.
25673 (usbserial_common_mod_CFLAGS): Likewise.
25674 (usbserial_common_mod_LDFLAGS): Likewise.
25675 (pkglib_MODULES): Add usbserial_pl2303.mod.
25676 (usbserial_pl2303_mod_SOURCES): New variable.
25677 (usbserial_pl2303_mod_CFLAGS): Likewise.
25678 (usbserial_pl2303_mod_LDFLAGS): Likewise.
25679 (pkglib_MODULES): Add usbserial_ftdi.mod.
25680 (usbserial_ftdi_mod_SOURCES): New variable.
25681 (usbserial_ftdi_mod_CFLAGS): Likewise.
25682 (usbserial_ftdi_mod_LDFLAGS): Likewise.
25683 (pkglib_MODULES): Add serial.mod.
25684 (serial_mod_SOURCES): New variable.
25685 (serial_mod_CFLAGS): Likewise.
25686 (serial_mod_LDFLAGS): Likewise.
25687 * conf/i386-pc.rmk: Likewise.
25688 * conf/mips-yeeloong.rmk: Likewise.
25689 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
25690 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25691 * disk/usbms.c (first_available_slot): New variable.
25692 (grub_usbms_attach): Don't reuse free slots due to potential cache
25693 problems.
25694 * include/grub/serial.h: Moved to ..
25695 * include/grub/ns8250.h: ...this.
25696 * include/grub/serial.h: New file.
25697 * include/grub/term.h (grub_term_poll_usb): New variable.
25698 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
25699 readkey. All users updated.
25700 (grub_terminfo_output_state): Pass term to put.
25701 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
25702 (grub_usb_controller_dev): Add timeout and actual arguments to
25703 transfer. All users updated.
25704 (grub_usb_interface): New field detach_data.
25705 (grub_usb_device): New fields children and nports.
25706 (grub_usb_ep_type_t): New type.
25707 (grub_usb_get_ep_type): New function.
25708 (grub_usb_bulk_read_extended): Likewise.
25709 * include/grub/usbdesc.h (grub_usb_desc): New type.
25710 * include/grub/usbserial.h: New file.
25711 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
25712 * kern/term.c (grub_term_poll_usb): New variable.
25713 (grub_getkey): Call grub_term_poll_usb if set.
25714 (grub_checkkey): Likewise.
25715 (grub_getkeystatus): Likewise.
25716 * term/serial.c: Moved controller-specific parts to ...
25717 * term/ns8250.c: ... here.
25718 * term/serial.c: Mostly rewritten.
25719 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
25720 according to spec.
25721
21a313de
RM
257222010-08-20 Robert Millan <rmh@gnu.org>
25723
25724 Make kFreeBSD code more generic to support ext2fs as root, ufs as
25725 a separate module and maybe other interesting combinations.
25726
25727 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
25728 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
25729 (kfreebsd_entry): Add generic filesystem module load routine.
25730 Map GRUB `ext2' to kFreeBSD `ext2fs'.
25731
63c734a6
CW
257322010-08-20 Colin Watson <cjwatson@ubuntu.com>
25733
25734 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
25735 "numcenter" (I misunderstood the purpose of this entry).
25736 * docs/grub.texi (sendkey): Likewise.
25737
c4d16542
CW
257382010-08-20 Colin Watson <cjwatson@ubuntu.com>
25739
25740 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
25741 status flag options; simply omitting the option is equivalent and
25742 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
25743 (keysym_table): Rename "num5numlock" to "numlock".
25744 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
25745 can uniformly say that only the last of multiple `sendkey'
25746 invocations has any effect.
25747 * docs/grub.texi (sendkey): New section.
25748
93541d66
CW
257492010-08-19 Colin Watson <cjwatson@ubuntu.com>
25750
25751 * commands/i386/pc/sendkey.c (options): Fix three typos.
25752
b4ece5e1
VS
257532010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
25754
25755 Implement sendkey support.
25756
25757 * commands/i386/pc/sendkey.c: New file.
25758 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
25759 (sendkey_mod_SOURCES): New variable.
25760 (sendkey_mod_CFLAGS): Likewise.
25761 (sendkey_mod_LDFLAGS): Likewise.
25762
51f1f5af
CW
257632010-08-18 Colin Watson <cjwatson@ubuntu.com>
25764
25765 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
25766 fix warnings from Autoconf.
25767
9da94e05
CW
257682010-08-18 Colin Watson <cjwatson@ubuntu.com>
25769
25770 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
25771 to avoid false positives with some assemblers that output things
25772 like "someprefix_func" as part of their output.
25773
729a0f2e
RM
257742010-08-15 Robert Millan <rmh@gnu.org>
25775
25776 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
25777 errors.
25778 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
25779 grub_get_libzfs_handle() errors.
25780
f3710e08
RM
257812010-08-14 Robert Millan <rmh@gnu.org>
25782
25783 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
25784 filesystem is not ZFS.
25785
7a3c13de
BC
257862010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25787
25788 Fix for misspelled color names defaulting to black/black (bug
25789 reported by Doug Nazar)
25790
25791 * include/grub/normal.h (grub_parse_color_name_pair): Add return
25792 status to prototype.
25793 * normal/color.c (grub_parse_color_name_pair): Return failure
25794 status.
25795 (grub_env_write_color_normal): Ignore bad color names.
25796 (grub_env_write_color_highlight): Likewise.
25797 * normal/main.c (GRUB_MOD_INIT): Set default color names.
25798
ab8ba50d
BC
257992010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25800
25801 "shift" command support to GRUB script.
25802
25803 * include/grub/script_sh.h (grub_script_shift): New prototype.
25804 * script/execute.c (grub_script_shift): New function.
25805 * script/main.c (grub_script_init): Register shift command.
25806 (grub_script_fini): Unregister shift command.
25807 * util/grub-script-check.c (grub_script_cmd_shift): New function.
25808
25809 * tests/grub_script_shift.in: New testcase.
25810 * conf/tests.rmk: Rules for new testcase.
25811
4d61999e
BC
258122010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25813
25814 "continue" command support to GRUB script.
25815
25816 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
25817 (grub_script_break): Continue support.
25818 * script/main.c (grub_script_init): Register continue command.
25819 (grub_script_fini): Unregister continue command.
25820
25821 * tests/grub_script_continue.in: New testcase.
25822 * conf/tests.rmk: Rules for new testcase.
25823
4df51e00
BC
258242010-08-12 BVK Chaitanya <bvk@dbook>
25825
25826 "break" command support to GRUB script.
25827
25828 * conf/common.rmk: Rule updates to grub-script-check.
25829 * include/grub/misc.h (grub_min): New function.
25830 * include/grub/script_sh.h (grub_script_init): New prototype.
25831 (grub_script_fini): New prototype.
25832 (grub_script_break): New prototype.
25833 * script/main.c (grub_script_init): New function.
25834 (grub_script_fini): New function.
25835 * script/execute.c (grub_script_break): New function.
25836 * normal/main.c: Calls to grub_script_{init,fini}.
25837 * util/grub-script-check.c (grub_script_break): New function.
25838
25839 * tests/grub_script_break.in: New testcase.
25840 * conf/tests.rmk: Rules for new test case.
25841
f12c8420
BC
258422010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25843
25844 Function parameters support to GRUB script.
25845
25846 * script/yylex.l (VARIABLE): Regular expression update.
25847 * script/function.c (grub_script_function_call): Moved ...
25848 * script/execute.c (grub_script_function_call): ... to here.
25849 (grub_script_execute_arglist_to_argv): Removed.
25850 (grub_script_arglist_to_argv): New function.
25851 * script/argv.c: New file.
25852 (grub_script_argv_free): New function.
25853 (grub_script_argv_next): Likewise.
25854 (grub_script_argv_append): Likewise.
25855 (grub_script_argv_split_append): Likewise.
25856 * include/grub/script_sh.h (grub_script_argv): New struct.
25857 (grub_script_argv_free): New function.
25858 (grub_script_argv_next): Likewise.
25859 (grub_script_argv_append): Likewise.
25860 (grub_script_argv_split_append): Likewise.
25861
25862 * conf/common.rmk (normal.mod): New source script/argv.c.
25863
25864 * tests/grub_script_echo1.in: More tests.
25865 * tests/grub_script_vars1.in: Likewise.
25866 * tests/grub_script_functions.in: New test case.
25867 * conf/tests.rmk: Rules for new testcase.
25868
8022b748
BC
258692010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25870
25871 Remove grub_script_cmdblock struct.
25872
25873 * include/grub/script_sh.h: Remove grub_script_cmdblock.
25874 * script/parser.y: Likewise.
25875 * script/execute.c: Rename cmdblock suffix to cmdlist.
25876 * script/script.c: Likewise.
25877 * util/grub-script-check.c: Likewise.
25878
79a6ba61
YB
258792010-08-11 Yves Blusseau <blusseau@zetam.org>
25880
25881 * .bzrignore: add grub-macho2img
25882
d04b9414
VS
258832010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25884
25885 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
25886
f947ab49
VS
258872010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25888
25889 Remove the dump of sm712 initialisation sequence.
25890
25891 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
25892 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
25893 (GRUB_VGA_IO_MISC_WRITE): Likewise.
25894 (GRUB_VGA_CR_*): Added many registers.
25895 (GRUB_VGA_SR_*): Likewise.
25896 (GRUB_VGA_GR_*): Likewise.
25897 (grub_vga_write_arx): New function.
25898 (grub_video_hw_config): New struct.
25899 (grub_vga_set_geometry): New function.
25900 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
25901 GRUB_PCI_CLASS_SUBCLASS_VGA.
25902 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
25903 * video/sm712.c (grub_sm712_write_reg): New function
25904 (grub_sm712_read_reg): Likewise.
25905 (grub_sm712_sr_write): Likewise.
25906 (grub_sm712_gr_write): Likewise.
25907 (grub_sm712_cr_write): Likewise.
25908 (grub_sm712_write_arx): Likewise.
25909 (grub_sm712_cr_shadow_write): Likewise.
25910 (grub_sm712_write_dda_lookup): Likewise.
25911 (grub_video_sm712_setup): Initialise the video rather then
25912 blindly replay the dump.
25913 (main) [TEST]: Add a routine to be able to compile as standalone for
25914 tests.
25915 * video/sm712_init.c (sm712_init): Removed.
25916 (sm712_sr_seq1): New array.
25917 (sm712_sr_seq2): Likewise.
25918
f0206638
VS
259192010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25920
25921 * include/grub/vga.h: Add missing grub/pci.h include.
25922
2764da3b
YB
259232010-08-10 Yves Blusseau <blusseau@zetam.org>
25924
25925 * util/grub-macho2img.c (main): fix typo
25926
cf0c775e
VS
259272010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25928
25929 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
25930 (grub_vga_gr_read): Likewise.
25931 (grub_vga_cr_write): Likewise.
25932 (grub_vga_cr_read): Likewise.
25933 (grub_vga_sr_write): Likewise.
25934 (grub_vga_sr_read): Likewise.
25935 (grub_vga_palette_read): Likewise.
25936 (grub_vga_palette_write): Likewise.
25937 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
25938 (grub_sm712_sr_read): New function.
25939 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
25940 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
25941
07f360e9
RM
259422010-08-09 Robert Millan <rmh@gnu.org>
25943
25944 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
25945 out unused variables on non-ZFS build.
25946
346c2072
RM
259472010-08-08 Robert Millan <rmh@gnu.org>
25948
25949 Fix path generation for sub-filesystems in ZFS.
25950
25951 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
25952 missing slash.
25953
71175420
RM
259542010-08-08 Robert Millan <rmh@gnu.org>
25955
25956 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
25957
0d8286f3
RM
259582010-08-08 Robert Millan <rmh@gnu.org>
25959
25960 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
25961 exist, issue a proper error message (rely on `ls' for translated
25962 strings).
25963
55dd2924
RM
259642010-08-08 Robert Millan <rmh@gnu.org>
25965
25966 Fix grub-probe invocation.
25967
25968 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
25969
d3dd9e80
RM
259702010-08-04 Robert Millan <rmh@gnu.org>
25971
25972 * configure.ac: Remove checks for getfsstat() and getmntany().
25973 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
25974 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
25975 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
25976 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
25977 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
25978 function.
25979 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
25980 via find_mount_point_from_dir() and getfsstat() / getmntany().
25981
0de22aa9
RM
259822010-08-04 Robert Millan <rmh@gnu.org>
25983
25984 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25985 (grub_find_zpool_from_mount_point): Merge into ...
25986 (grub_find_zpool_from_dir): ... this.
25987 * kern/emu/misc.c: Likewise.
25988
25989 * kern/emu/misc.c
25990 (grub_make_system_path_relative_to_its_root): Replace
25991 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
25992 with grub_find_zpool_from_dir().
25993 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
25994
62858144
RM
259952010-08-04 Robert Millan <rmh@gnu.org>
25996
25997 Support OpenSolaris in ZFS device resolution.
25998
25999 * configure.ac: Check for getmntany().
26000 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
26001 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
26002 support.
26003
9dd6fd50
RM
260042010-08-03 Robert Millan <rmh@gnu.org>
26005
26006 Fix grub-emu build.
26007
26008 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
26009 * include/grub/emu/misc.h: ... here.
26010
26011 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
26012 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
26013
26014 * util/misc.c: Remove `<grub/util/libzfs.h>'.
26015 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
26016 (grub_get_libzfs_handle): Move to ...
26017 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
26018 (grub_get_libzfs_handle): ... here.
26019
c9f7ff97
BC
260202010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
26021
26022 * script/execute.c (grub_script_execute_cmdline): Check for NULL
26023 as command name case.
26024
a870a783
CW
260252010-08-02 Colin Watson <cjwatson@ubuntu.com>
26026
26027 * disk/raid.c (insert_array): Select unique numbers for named arrays
26028 as well, for use as keys in the disk cache.
26029
c7db243b
RM
260302010-08-01 Robert Millan <rmh@gnu.org>
26031
26032 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
26033 kFreeBSD device name, except on ZFS where the filesystem label is
26034 used.
26035 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
26036 `/boot/zfs/zpool.cache'.
26037 Set mountfrom kernel variable using ${kfreebsd_device}.
26038
f7abdefb
RM
260392010-08-01 Robert Millan <rmh@gnu.org>
26040
26041 Make it even harder to use uninitialized `libzfs_handle' (and
26042 make the interface a bit simpler).
26043
26044 * include/grub/util/misc.h (grub_util_init_libzfs)
26045 (libzfs_handle): Remove.
26046 (grub_get_libzfs_handle): New prototype.
26047
26048 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
26049 attribute.
26050 (grub_util_init_libzfs): Remove.
26051 (grub_get_libzfs_handle): New function.
26052
26053 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
26054 grub_get_libzfs_handle() to obtain a libzfs handle instead of
26055 accessing `libzfs_handle' directly.
26056
c882acc0
RM
260572010-08-01 Robert Millan <rmh@gnu.org>
26058
26059 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26060 (grub_find_zpool_from_mount_point): New function prototypes.
26061
26062 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26063 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26064
26065 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26066 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26067 `static' attribute.
26068
26069 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26070 finding zpool from mount point into ...
26071 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26072
26073 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26074 requested path is part of a ZFS pool, use
26075 grub_find_zpool_from_mount_point() to detect its filesystem name,
26076 and generate a path with `/fsname@path' syntax.
26077
8bfe31d8
CW
260782010-08-01 Colin Watson <cjwatson@ubuntu.com>
26079
26080 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
26081 (void) rather than () so that this is a proper prototype.
26082
553df63d
VS
260832010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26084
26085 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
26086
8687cf07
VS
260872010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26088
26089 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
26090 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
26091
ea9be8ea
CW
260922010-08-01 Colin Watson <cjwatson@ubuntu.com>
26093
26094 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
26095
6eea041a
CW
260962010-08-01 Colin Watson <cjwatson@ubuntu.com>
26097
26098 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
26099
2cfb45df
CW
261002010-08-01 Colin Watson <cjwatson@ubuntu.com>
26101
26102 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
26103 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
26104 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
26105 disable gfxpayload.
26106 (Shell-like scripting): Add real content.
26107 (Serial terminal): Suggest `terminal_input serial; terminal_output
26108 serial' rather than putting the two commands on separate lines,
26109 since console input will be inoperative after the first command.
26110 (menuentry): Document --class, --users, and --hotkey options.
26111 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
26112 Vladimir Serbinenko).
26113
7decd202
VS
261142010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
261152010-08-01 Colin Watson <cjwatson@ubuntu.com>
26116
26117 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
26118
c882acc0
RM
261192010-08-01 Robert Millan <rmh@gnu.org>
26120
26121 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26122 (grub_find_zpool_from_mount_point): New function prototypes.
26123
26124 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26125 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26126
26127 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26128 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26129 `static' attribute.
26130
26131 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26132 finding zpool from mount point into ...
26133 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26134
26135 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26136 requested path is part of a ZFS pool, use
26137 grub_find_zpool_from_mount_point() to detect its filesystem name,
26138 and generate a path with `/fsname@path' syntax.
26139
deb0caa3
RM
261402010-08-01 Robert Millan <rmh@gnu.org>
26141
26142 Prevent accidental use of uninitialized libzfs_handle.
26143
26144 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
26145 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
26146 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
26147
ce04ef47
CW
261482010-08-01 Colin Watson <cjwatson@ubuntu.com>
26149
26150 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
26151 util/grub.d/10_linux.in). Fixes Debian bug #591093.
26152
ebf53056
RM
261532010-08-01 Robert Millan <rmh@gnu.org>
26154
26155 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 26156
3710bb6b
RM
261572010-07-31 Robert Millan <rmh@gnu.org>
26158
26159 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
26160
8072efeb
RM
261612010-07-31 Robert Millan <rmh@gnu.org>
26162
26163 * kern/emu/misc.c: Add missing license header.
26164
3169f4c7
RM
261652010-07-31 Robert Millan <rmh@gnu.org>
26166
26167 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
26168
26169 * include/grub/util/libnvpair.h: Include `<config.h>'.
26170 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
26171 declaring libnvpair prototypes ourselves.
26172 * include/grub/util/libzfs.h: Include `<config.h>'.
26173 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
26174 declaring libzfs prototypes ourselves.
26175
26176 (libzfs_handle): Moved to ...
26177 * include/grub/util/misc.h (libzfs_handle): ... here.
26178 Include `<grub/util/libzfs.h>'.
26179
c9a00aee
RM
261802010-07-30 Robert Millan <rmh@gnu.org>
26181
26182 * include/grub/emu/misc.h: Add missing license header.
26183
a184f9c8
RM
261842010-07-30 Robert Millan <rmh@gnu.org>
26185
26186 Enable `grub-probe -t device' resolution on ZFS.
26187
26188 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
26189 * include/grub/util/libnvpair.h: New file.
26190 * include/grub/util/libzfs.h: New file.
26191
26192 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
26193 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
26194 `<grub/util/libnvpair.h>'.
26195 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
26196
26197 (find_mount_point_from_dir): New static function.
26198 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
26199 function.
26200 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
26201 find_root_device_from_libzfs() before ressorting to find_root_device().
26202
26203 * include/grub/util/misc.h (grub_util_init_libzfs): New function
26204 prototype.
26205 * util/misc.c: Include `<grub/util/libzfs.h>'.
26206 (grub_util_init_libzfs): New function.
26207 [HAVE_LIBZFS] (libzfs_handle): New global variable.
26208 [HAVE_LIBZFS] (fini_libzfs): New static function.
26209 (grub_util_init_libzfs): New function.
26210 * util/grub-probe.c (main): Call grub_util_init_libzfs().
26211
f7790cdd
RM
262122010-07-30 Robert Millan <rmh@gnu.org>
26213
26214 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
26215 (xmalloc, xrealloc, xstrdup, xasprintf): Add
26216 `warn_unused_result' attribute.
26217 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
26218 (grub_xasprintf, grub_xvasprintf): Likewise.
26219 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
26220
0806b63c
RM
262212010-07-29 Robert Millan <rmh@gnu.org>
26222
26223 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
26224 (probe): Handle `PRINT_FS_LABEL'.
26225 (main): Handle `-t fs_label'.
26226
9f841f5c
RM
262272010-07-29 Robert Millan <rmh@gnu.org>
26228
26229 * configure.ac: Remove grub-mkisofs checks.
26230
46371121
VS
262312010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26232
26233 * util/ieee1275/grub-install.in: Don't use empty grub_device.
26234 Reported by: Lennart Sorensen.
26235
262362010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26237
26238 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
26239 prior to terminal_input/terminal_output separation. It's been over 1.5
26240 years and those versions weren't widely deployed.
26241
a9600892
CW
262422010-07-22 Colin Watson <cjwatson@ubuntu.com>
26243
26244 * disk/raid.c (insert_array): Don't count named arrays when looking
26245 for unused array numbers.
697e053c 26246 Reported and tested by: Michael Guntsche.
a9600892 26247
c03507df
CW
262482010-07-20 Colin Watson <cjwatson@ubuntu.com>
26249
26250 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
26251 implementation of this so that grub-emu links again, with a note
26252 that this should support hotplugging in the future.
26253
b26f1c11
CW
262542010-07-20 Colin Watson <cjwatson@ubuntu.com>
26255
26256 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26257
efc9d7f1
CW
262582010-07-20 Colin Watson <cjwatson@ubuntu.com>
26259
26260 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
26261 handle on failure.
26262 (grub_loopback_close): Remove empty function.
26263 (grub_loopback_dev): Remove close method.
26264
dd8ff5c9
CW
262652010-07-20 Colin Watson <cjwatson@ubuntu.com>
26266
26267 Disable EFI cursor when the EFI console becomes inactive.
26268
26269 * term/efi/console.c (grub_efi_console_init): New function.
26270 (grub_efi_console_fini): New function.
26271 (grub_console_term_output): Register init and fini methods.
26272
5e3bec67
VS
262732010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26274
26275 * tests/util/grub-shell-tester.in: Remove bashism and declare as
26276 sh script.
26277
afaec079
VS
262782010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26279
26280 * disk/loopback.c (grub_loopback): Replace filename with file.
26281 (delete_loopback): Handle new semantics.
26282 (grub_cmd_loopback): Likewise.
26283 (grub_loopback_iterate): Likewise.
26284 (grub_loopback_close): Likewise.
26285
a6a11f3c
VS
262862010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26287
26288 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
26289 with -p "".
26290 Reported by: Tito Keitel.
26291
64a638b0
VS
262922010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26293
26294 * docs/grub.texi (Naming convention): Document new naming convention.
26295
ab8ba957
VS
262962010-07-20 Vadim Solomin <vadic052@gmail.com>
262972010-07-20 Colin Watson <cjwatson@ubuntu.com>
26298
26299 Generate device.map in something closer to the old ordering.
26300
26301 * util/deviceiter.c (struct device): New declaration.
26302 (compare_file_names): Rename to ...
26303 (compare_devices): ... this. Sort by kernel name in preference to
26304 the stable by-id name, but keep the latter as a fallback comparison.
26305 Update header comment.
26306 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
26307 of `struct device' rather than of plain file names.
26308
a29d6a4b
TF
263092010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
26310
26311 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
26312 on i386.
26313
39d824e8
VS
263142010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26315
26316 * commands/acpi.c (setup_common_tables): Use sizeof instead of
26317 hardcoding size.
26318 (setv1table): Likewise.
26319
f058276b
FZ
263202010-07-20 Colin Watson <cjwatson@ubuntu.com>
26321
26322 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
26323 removing the homehost if present.
26324 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
26325 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
26326 removing the homehost if present.
26327 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
26328 if possible.
26329 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
26330
26331 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
26332 parameter. Set its pointer target to 0.
26333 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
26334 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
26335 `data_offset' value from the superblock for 1.x metadata.
26336 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
26337 data on the device.
26338 (insert_array): Record the start sector of data on the device.
26339 (grub_raid_register): Pass start_sector parameters to
26340 grub_raid_list->detect and insert_array.
26341 * include/grub/raid.h (struct grub_raid_array): Add start_sector
26342 member.
26343 (struct grub_raid): Add start_sector parameter to `detect'.
26344
26345 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
26346 __attribute__ ((packed)), leaving a comment.
26347 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
26348 (grub_mdraid_detect_09): ... here and ...
26349 (grub_mdraid_detect_1x): ... here.
26350
263512010-07-20 Peter Henn <peter.henn@web.de>
26352
26353 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
26354 chunk size and disk size, which are already given as sector counts
26355 as distinct from the 0.90 units. Fetch the correct device number
26356 from the role table instead of using the table index.
26357
263582010-07-20 Felix Zielcke <fzielcke@z-51.de>
26359
26360 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
26361 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
26362 (WriteMostly1): New macro.
26363 Set array->name to NULL for metadata format 0.90. Add support for
26364 metadata 1.x. Fix some comments.
26365 * disk/raid.c (): Add support for name based RAID arrays. Fix a
26366 few comments.
26367 * util/getroot.c (grub_util_get_grub_dev): Add support for
26368 /dev/md/name style devices.
26369
4b761da9
CW
263702010-07-20 Colin Watson <cjwatson@ubuntu.com>
26371
26372 * .bzrignore: Ignore 20_linux_xen.
26373
5771289a
CW
263742010-07-17 Colin Watson <cjwatson@ubuntu.com>
26375
26376 * util/import_unicode.py: Remove unnecessary imports.
26377
5dab68df
AN
263782010-07-17 Aleš Nesrsta <starous@volny.cz>
26379
26380 Hotplugging and USB hub support.
26381
26382 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
26383 (grub_ohci): Likewise.
26384 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
26385 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
26386 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
26387 (GRUB_OHCI_CTRL_EDS): Likewise.
26388 (GRUB_OHCI_BULK_EDS): Likewise.
26389 (GRUB_OHCI_TDS): Likewise.
26390 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
26391 (grub_ohci_ed_phys2virt): New function.
26392 (grub_ohci_virt_to_phys): Likewise.
26393 (grub_ohci_td_phys2virt): Likewise.
26394 (grub_ohci_td_virt2phys): Likewise.
26395 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
26396 attachment.
26397 (grub_ohci_find_ed): New function.
26398 (grub_ohci_alloc_td): Likewise.
26399 (grub_ohci_free_td): Likewise.
26400 (grub_ohci_free_tds): Likewise.
26401 (grub_ohci_transfer): Use previously allocated memory.
26402 (grub_ohci_portstatus): Reset status changed bit.
26403 (grub_ohci_detect_dev): Supply status changed.
26404 (grub_ohci_fini_hw): Free memory.
26405 (grub_ohci_restore_hw): Reallocate memory.
26406 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
26407 Reset status change.
26408 (grub_uhci_detect_dev): Supply status_change.
26409 * bus/usb/usb.c (attach_hooks): New var.
26410 (grub_usb_device_attach): New function.
26411 (grub_usb_register_attach_hook_class): Likewise.
26412 (grub_usb_unregister_attach_hook_class): Likewise.
26413 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
26414 (grub_usb_add_hub): Reset connection changed bit.
26415 (attach_root_port): New function.
26416 (grub_usb_root_hub): Likewise.
26417 (poll_nonroot_hub): Likewise.
26418 (grub_usb_poll_devices): Likewise.
26419 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
26420 * disk/usbms.c (grub_usbms_open): Use device hooks.
26421 (grub_usbms_iterate) :Poll devices.
26422 (grub_usbms_finddevs): Split into ...
26423 (grub_usbms_attach): ... this ...
26424 (grub_usbms_attach): ... and this.
26425 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
26426 in detect_dev.
26427 (grub_usb_interface): New fields attached and detach_hook.
26428 (grub_usb_attach_hook_class): New type.
26429 (grub_usb_attach_desc): New struct.
26430 (grub_usb_register_attach_hook_class): New function.
26431 (grub_usb_unregister_attach_hook_class): Likewise.
26432 (grub_usb_poll_devices): Likewise.
26433 (grub_usb_device_attach): Likewise.
26434 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
26435 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
26436
3222efaf
VS
264372010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26438
26439 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
26440 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
26441 delta determination style. Works with most NetBSD partitions too.
26442
139b714a
VS
264432010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26444
26445 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
26446 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
26447
986aad56
VS
264482010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26449
26450 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
26451
99be513c
AB
264522010-07-14 Anton Blanchard <anton@samba.org>
26453
26454 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
26455 ET_DYN files.
26456
18075f62
GS
264572010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26458
26459 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
26460
8d9a5b15
GS
264612010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26462
26463 * kern/partition.c (grub_partition_check_containment): New function to
26464 check that a partition is physically contained in a parent. Since
26465 offsets are relative (and non-negative), this reduces to checking that
26466 the partition ends before its parent.
26467 (grub_partition_map_probe): Discard out-of-range sub-partitions.
26468 (grub_partition_iterate): Likewise.
26469 * include/grub/partition.h (grub_partition_map): Slightly more detailed
26470 comments.
26471 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
26472 partitions that start before their parent, and add debug printfs.
26473
19563c25
CW
264742010-07-13 Colin Watson <cjwatson@ubuntu.com>
26475
26476 * Makefile.in (.SUFFIX): Spell correctly, as ...
26477 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
26478 bare module name without `.mod', e.g. `test') tried to invoke a
26479 Modula-2 compiler.
26480
1a1f1e67
CW
264812010-07-13 Colin Watson <cjwatson@ubuntu.com>
26482
26483 * README: Point to the Info manual.
26484
811b0dca
JS
264852010-07-13 Jiro SEKIBA <jir@unicus.jp>
26486
26487 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
26488 2nd superblock position from partition size.
26489
e4f4eafc
CW
264902010-07-10 Colin Watson <cjwatson@ubuntu.com>
26491
26492 * Makefile.in (MAINTAINER_CLEANFILES): Remove
26493 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
26494 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
26495 outputs.
26496
4274c30f
VS
264972010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26498
26499 Restructure SCSI .id handling.
26500 Reported and tested by: Aleš Nesrsta.
26501
26502 * disk/ata.c (grub_atapi_close): Removed. All users updated.
26503 (grub_atapi_dev): Changed .name to "ata". New field .id.
26504 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
26505 (grub_usbms_dev): New field .id.
26506 * disk/scsi.c (grub_scsi_iterate): Generate name.
26507 (grub_scsi_open): Parse name.
26508 * include/grub/scsi.h (grub_make_scsi_id): New function.
26509 (grub_scsi_dev): Change iterate and open to number instead of naming
26510 busses. All users updated.
26511 (grub_scsi): Remove name. Add .bus.
26512
5bc24388
VS
265132010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26514
26515 * commands/help.c (grub_cmd_help): Fix a typo.
26516
249975ba
VS
265172010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26518
26519 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
26520 Reported and tested by: Colin Watson.
26521
3eaac1a1
VS
265222010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26523
26524 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
26525 in this context.
26526
becce1b1
VS
265272010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
26528
26529 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
26530
f7bf0918
CW
265312010-07-07 Colin Watson <cjwatson@ubuntu.com>
26532
26533 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
26534 indentation.
26535
0b0f9620
CW
265362010-07-06 Colin Watson <cjwatson@ubuntu.com>
26537
26538 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
26539 and disk/raid6_recover.c.
26540 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26541 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26542
1e545469
CW
265432010-07-06 Colin Watson <cjwatson@ubuntu.com>
26544
26545 * term/gfxterm.c (repaint_schedulded): Rename to ...
26546 (repaint_scheduled): ... this. Update all callers.
26547 (repaint_was_schedulded): Rename to ...
26548 (repaint_was_scheduled): ... this. Update all callers.
26549
5357687a
CW
265502010-07-06 Colin Watson <cjwatson@ubuntu.com>
26551
26552 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
26553 which we expect to be handled by upper layers.
26554
29d7e783
BC
265552010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
26556
26557 * bus/usb/usbhub.c: #include time.h header.
26558
37582066
CW
265592010-07-06 Colin Watson <cjwatson@ubuntu.com>
26560
26561 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
26562 entry_name also for entries without stat blocks (e.g. ".."); fixes
26563 corruption of the first entry in a directory.
26564
c8c06953
CW
265652010-07-06 Colin Watson <cjwatson@ubuntu.com>
26566
26567 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
26568 after setting gfxterm as the active terminal. GRUB_BACKGROUND
26569 doesn't work otherwise.
26570
e75056f1
CW
265712010-07-05 Colin Watson <cjwatson@ubuntu.com>
26572
26573 * docs/grub.texi (Features): Update list of supported file systems.
26574 (GNU/Linux): Update for GRUB 2.
26575 (Serial terminal): Remove mention of --disable-serial, which was a
26576 GRUB Legacy configure option. Update instructions to use
26577 `terminal_input' and `terminal_output' rather than `terminal'.
26578 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
26579 configuration' and `Installing GRUB using grub-install'.
26580 (Menu entry editor): Update for GRUB 2.
26581 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
26582 Document new -a, -u, and -v options.
26583 (initrd): New section.
26584 (initrd16): New section.
26585 (linux): New section.
26586 (linux16): New section.
26587 (search): The `var' argument to `--set' is optional.
26588 (GRUB only offers a rescue shell): Go into a little more detail on
26589 drive ordering.
26590
5cf69151
CW
265912010-07-05 Colin Watson <cjwatson@ubuntu.com>
26592
26593 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
26594
e3f90044
CW
265952010-07-05 Colin Watson <cjwatson@ubuntu.com>
26596
26597 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
26598 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
26599
38d8f4f3
CW
266002010-07-05 Colin Watson <cjwatson@ubuntu.com>
26601
26602 * util/i386/pc/grub-setup.c (setup): Rename prefix to
26603 install_prefix, in line with install_dos_part and install_bsd_part.
26604 Add new prefix variable, which is copied to install_prefix after
26605 comparing core.img in memory with the one read from disk in the
26606 no-embedding case, and use that rather than overwriting
26607 install_prefix immediately when installing to a partition.
26608 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
26609 Bicakci.
26610
57ebd41e
GS
266112010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26612
26613 * configure.ac: Avoid == in test command, it's not portable.
26614 * util/grub.d/30_os-prober.in: Likewise.
26615
cb7f64b2
CW
266162010-07-04 Colin Watson <cjwatson@ubuntu.com>
26617
26618 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
26619
6b654bb0
GS
266202010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26621
26622 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
26623 multiple (top-level) partmaps.
26624
72a2026d
VS
266252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26626
26627 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 26628 Reported by: Tino Keitel.
72a2026d 26629
df3eb88f
VS
266302010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26631
26632 Bidi and diacritics support.
26633
26634 * Makefile.in (widthspec.bin): New target.
26635 (widthspec.h): Likewise.
26636 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
26637 * autogen.sh: Generate unidata.c.
26638 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
26639 * commands/ls.c (grub_ls_list_devices): Likewise.
26640 (grub_ls_list_files): Likewise.
26641 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
26642 (grub_mini_cmd_lsmod): Likewise.
26643 * commands/read.c: Likewise.
26644 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
26645 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
26646 * lib/arg.c (grub_arg_show_help): Likewise.
26647 * lib/crypto.c (grub_password_get): Likewise.
26648 * normal/auth.c (grub_username_get): Likewise.
26649 * normal/misc.c (grub_normal_print_device_info): Likewise.
26650 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
26651 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
26652 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
26653 (normal/charset.c_DEPENDENCIES): New variable.
26654 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
26655 (pkglib_MODULES): Remove charset.mod.
26656 (charset_mod_SOURCES): Removed.
26657 (charset_mod_CFLAGS): Likewise.
26658 (charset_mod_LDFLAGS): Likewise.
26659 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
26660 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
26661 and term/tparm.c.
26662 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26663 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26664 (kernel_img_HEADERS): Add terminfo.h.
26665 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
26666 Fill ->font. Reverse ascii bitmaps.
26667 (grub_font_get_xheight): New function.
26668 * font/font.c (grub_font_get_string_width): Moved from here ...
26669 * gfxmenu/font.c (grub_font_get_string_width): ... here.
26670 * font/font.c (grub_font_draw_string): Moved from here ...
26671 * gfxmenu/font.c (grub_font_draw_string): ... here.
26672 * font/font.c (grub_font_dup_glyph): New function.
26673 (grub_font_blit_glyph): Likewise.
26674 (grub_font_blit_glyph_mirror): Likewise.
26675 (blit_comb): Likewise.
26676 (grub_font_construct_dry_run): Likewise.
26677 (grub_font_get_constructed_device_width): Likewise.
26678 (grub_font_construct_glyph): Likewise.
26679 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
26680 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
26681 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
26682 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
26683 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
26684 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
26685 (grub_font_get_xheight): New proto.
26686 (grub_font_get_constructed_device_width): Likewise.
26687 (grub_font_construct_glyph): Likewise.
26688 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
26689 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
26690 * include/grub/font.h (grub_font_draw_string): Moved from here ...
26691 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
26692 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
26693 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
26694 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
26695 (grub_console_getcharwidth): Likewise.
26696 * include/grub/misc.h (grub_xputs): New proto.
26697 (grub_puts): Inlined.
26698 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
26699 (grub_normal_get_line_counter): Removed.
26700 (grub_install_newline_hook): Likewise.
26701 (grub_normal_get_char_counter): New proto.
26702 (grub_normal_reset_more): Likewise.
26703 (grub_xputs_normal): Likewise.
26704 * include/grub/powerpc/ieee1275/console.h: Removed.
26705 * include/grub/sparc64/ieee1275/console.h: Likewise.
26706 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
26707 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
26708 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
26709 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
26710 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
26711 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
26712 (grub_term_input): Pass reference to self. All users updated.
26713 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
26714 Pass reference to self. New fields normal_color, highlight_color and
26715 data. All users updated.
26716 (grub_putchar): Removed.
26717 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
26718 (grub_unicode_estimate_width): New function.
26719 (grub_term_getcharwidth): Add defaults.
26720 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
26721 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
26722 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
26723 (grub_cls): Remove EXPORT_FUNC.
26724 (grub_setcolorstate): Inline.
26725 (grub_newline_hook): Removed.
26726 * include/grub/terminfo.h: Rewritten. All users updated.
26727 * include/grub/unicode.h: New file.
26728 * include/grub/video.h (grub_video_signed_rect): New type.
26729 * kern/emu/console.c (grub_console_highlight_color): Removed.
26730 (grub_console_normal_color): Likewise.
26731 (grub_console_standard_color): Made static.
26732 (grub_ncurses_putchar): Remove mapping.
26733 (grub_ncurses_getcharwidth): Removed.
26734 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26735 (grub_ncurses_setcolor): Removed.
26736 (grub_ncurses_getcolor): Likewise.
26737 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
26738 (grub_console_putchar): ... this.
26739 (grub_console_putchar): Handle argument difference.
26740 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
26741 console_init_early and console_init_lately.
26742 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
26743 * kern/misc.c (grub_puts): Removed.
26744 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
26745 (grub_vsnprintf_real): Remove str = NULL support.
26746 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
26747 * normal/charset.c (grub_utf8_to_ucs4): ... here.
26748 * kern/term.c (grub_putcode): Renamed to ...
26749 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
26750 (grub_putchar): Removed.
26751 (grub_xputs_dumb): New function.
26752 (grub_xputs): New variable.
26753 * lib/charset.c: Move from here ...
26754 * normal/charset.c: ... to here.
26755 (grub_ucs4_to_utf8): New function.
26756 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
26757 (join_types): New variable.
26758 (unpack_join): New function.
26759 (bidi_types): New variable.
26760 (unpack_bidi): New function.
26761 (get_bidi_type): Likewise.
26762 (get_join_type): Likewise.
26763 (is_mirrored): Likewise.
26764 (grub_unicode_get_comb_type): Likewise.
26765 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
26766 (is_type_after): Likewise.
26767 (grub_unicode_aglomerate_comb): Likewise.
26768 (bidi_line_wrap): Likewise.
26769 (grub_bidi_line_logical_to_visual): Likewise.
26770 (grub_bidi_logical_to_visual): Likewise.
26771 (grub_unicode_mirror_code): Likewise.
26772 (grub_unicode_shape_code): Likewise.
26773 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
26774 Don't use grub_putchar.
26775 * normal/main.c (grub_normal_init_page): Use grub_putcode.
26776 (grub_normal_reader_init): Likewise.
26777 (grub_xputs_saved): New variable.
26778 (GRUB_MOD_INIT): Set grub_xputs.
26779 (GRUB_MOD_FINI): Restore grub_xputs.
26780 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
26781 (menu_init): Avoid printing gfxmenu error.
26782 (show_menu): Use grub_normal_get_char_counter.
26783 * normal/menu_entry.c (update_screen): Fix out-of-array.
26784 (complete): Avoid NULL dereferencing.
26785 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
26786 * normal/menu_text.c (print_spaces): Removed.
26787 (grub_print_ucs4): Likewise.
26788 (grub_print_message_indented): Use grub_print_ucs4.
26789 (print_message): Use grub_putcode.
26790 (print_entry): Hanlde diacritics.
26791 * normal/term.c (term_state): New type.
26792 (grub_more_lines): Removed.
26793 (term_states): New variable.
26794 (grub_normal_line_counter): Renamed to ..
26795 (grub_normal_char_counter): ...this. All users updated.
26796 (grub_normal_get_line_counter): Renamed to ...
26797 (grub_normal_get_char_counter): ... this.
26798 (grub_normal_reset_more): New function.
26799 (process_newline): Removed.
26800 (print_more): New function.
26801 (grub_install_newline_hook): Removed.
26802 (map_code): New function.
26803 (grub_puts_terminal): Use grub_print_ucs4.
26804 (putglyph): New function.
26805 (putcode_real): Likewise.
26806 (grub_putcode): Use putcode_real.
26807 (get_maxwidth): New function.
26808 (get_startwidth): Likewise.
26809 (print_ucs4_terminal): Likewise.
26810 (find_term_state): Likewise.
26811 (put_glyphs_terminal): Likewise.
26812 (print_backlog): Likewise.
26813 (print_ucs4_real): Likewise.
26814 (grub_print_ucs4): Likewise.
26815 (grub_xputs_normal): Likewise.
26816 * term/efi/console.c (grub_console_putchar): Output diacritics.
26817 (grub_console_getcharwidth): Removed.
26818 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26819 * term/gfxterm.c (clear_char): Free chars.
26820 (scroll_up): Avoid leaking memory.
26821 (grub_gfxterm_putchar): Support diacritics.
26822 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26823 * term/i386/pc/console.c (grub_console_term_output): Declare as
26824 GRUB_TERM_CODE_TYPE_VGA.
26825 * term/i386/pc/vga.c (grub_vga_term): Declare as
26826 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
26827 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
26828 GRUB_TERM_CODE_TYPE_VGA.
26829 * term/i386/vga_common.c (map_char): Removed.
26830 (grub_console_putchar): Likewise.
26831 (grub_console_getcharwidth): Likewise.
26832 * term/ieee1275/ofconsole.c: Simplify using terminfo.
26833 (colors): Reordered to match terminfo.
26834 (grub_ofconsole_normal_color): Removed.
26835 (grub_ofconsole_writeesc): Likewise.
26836 (grub_ofconsole_highlight_color): Likewise.
26837 (grub_ofconsole_getcharwidth): Likewise.
26838 (grub_ofconsole_setcolorstate): Likewise.
26839 (grub_ofconsole_setcolor): Likewise.
26840 (grub_ofconsole_getcolor): Likewise.
26841 (grub_ofconsole_readkey): Renamed to ...
26842 (readkey): ... this. Remove escape sequence handling. Return -1 on no
26843 key.
26844 (grub_ofconsole_checkkey): Removed.
26845 (grub_ofconsole_getkey): Likewise.
26846 (grub_ofconsole_getxy): Likewise.
26847 (grub_ofconsole_gotoxy): Likewise.
26848 (grub_ofconsole_cls): Likewise.
26849 (grub_ofconsole_refresh): Likewise.
26850 (grub_ofconsole_terminfo_input): New struct.
26851 (grub_ofconsole_terminfo_output): Likewise.
26852 (grub_ofconsole_term_input): Use terminfo.
26853 (grub_ofconsole_term_output): Likewise.
26854 (grub_console_init): Split into ...
26855 (grub_console_init_early): ...this and ...
26856 (grub_console_init_lately): ...this. Use terminfo.
26857 (grub_ofconsole_putchar): Renamed to ...
26858 (put): ... this. Remove mapping.
26859 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26860 * term/serial.c: Simplify using terminfo.
26861 (xpos): Removed.
26862 (ypos): Likewise.
26863 (keep_track): Likewise.
26864 (registered): Likewise.
26865 (input_buf): Likewise.
26866 (npending): Likewise.
26867 (serial_translate_key_sequence): Likewise.
26868 (fill_input_buf): Likewise.
26869 (grub_serial_checkkey): Likewise.
26870 (grub_serial_getkey): Likewise.
26871 (grub_serial_getxy): Likewise.
26872 (grub_serial_gotoxy): Likewise.
26873 (grub_serial_putchar): Likewise.
26874 (grub_serial_cls): Likewise.
26875 (grub_serial_setcolorstate): Likewise.
26876 (grub_serial_setcursor): Likewise.
26877 (serial_hw_init): Use serial_hw_fetch.
26878 (grub_serial_terminfo_input): New variable.
26879 (grub_serial_terminfo_output): Likewise.
26880 (grub_serial_term_input): Use terminfo.
26881 (grub_serial_term_output): Likewise.
26882 * term/terminfo.c (putstr): Use put.
26883 (grub_terminfo_all_free): New function
26884 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
26885 (grub_terminfo_output_register): New function.
26886 (grub_terminfo_output_unregister): Likewise.
26887 (grub_terminfo_getxy): Likewise.
26888 (grub_terminfo_readkey): Likewise.
26889 (grub_terminfo_checkkey): Likewise.
26890 (grub_terminfo_getkey): Likewise.
26891 (grub_terminfo_input_init): Likewise.
26892 (print_terminfo): Likewise.
26893 (grub_cmd_terminfo): Handle encoding.
26894 (grub_terminfo_gotoxy): Track position.
26895 (grub_terminfo_cls): Likewise.
26896 (grub_terminfo_putchar): Likewise.
26897 (grub_terminfo_setcolorstate): Handle colors
26898 (grub_terminfo_cursor_on): This ...
26899 (grub_terminfo_cursor_off): ... and this merged into ...
26900 (grub_terminfo_setcursor): ... this.
26901 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
26902 * unicode/ArabicShaping.txt: New file (imported from Unicode).
26903 * unicode/BidiMirroring.txt: Likewise.
26904 * unicode/UnicodeData.txt: Likewise.
26905 * unicode/COPYING: Likewise.
26906 * util/grub-editenv.c (grub_putchar): Removed.
26907 (grub_xputs_real): New function.
26908 (grub_xputs): New variable.
26909 * util/grub-fstest.c (grub_putchar): Removed.
26910 (grub_xputs_real): New function.
26911 (grub_xputs): New variable.
26912 * util/grub-mkdevicemap.c (grub_putchar): Removed.
26913 (grub_xputs_real): New function.
26914 (grub_xputs): New variable.
26915 * util/grub-probe.c (grub_putchar): Removed.
26916 (grub_xputs_real): New function.
26917 (grub_xputs): New variable.
26918 * util/grub-script-check.c (grub_putchar): Removed.
26919 (grub_xputs_real): New function.
26920 (grub_xputs): New variable.
26921 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
26922 (grub_xputs_real): New function.
26923 (grub_xputs): New variable.
26924 * util/import_unicode.py: New file.
26925 * util/grub-mkfont.c (ft_errmsgs): New array.
26926 (grub_glyph_info): Make bitmap a pointer.
26927 (file_formats): New type WIDTH_SPEC.
26928 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
26929 (options): Add width-spec.
26930 (help): Likewise.
26931 (add_char): Renamed to ...
26932 (add_glyph): ... this.
26933 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
26934 (glyph_replace): New type.
26935 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
26936 (add_char): New function.
26937 (add_subst): Likewise.
26938 (process_cursive): Likewise.
26939 (add_font): Handle GSUB.
26940 (write_font_width_spec): New function.
26941 (main): Sort glyphs.
26942 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
26943 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
26944 * kern/term.c (grub_cls): Moved from here...
26945 * normal/term.c (grub_cls): ... here.
26946
50f0bcda
CW
269472010-07-02 Colin Watson <cjwatson@ubuntu.com>
26948
26949 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
26950 suitable for using within the format argument of printf when
26951 converting grub_size_t.
26952 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
26953 "x" to convert grub_size_t arguments.
26954
40372103
VS
269552010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26956
26957 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
26958 too long captions.
26959 (list_get_minimal_size): Take selection box into account.
26960
942a10c7
VS
269612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26962
26963 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
26964 NULL font.
26965
2bdb2892
CW
269662010-07-02 Colin Watson <cjwatson@ubuntu.com>
26967
26968 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
26969 devices when iterating over /dev/disk/by-id; they will be handled
26970 later if appropriate, which they aren't always (e.g. LVM).
26971
e03ed6c1
CW
269722010-07-02 Colin Watson <cjwatson@ubuntu.com>
26973
26974 * include/grub/misc.h (grub_reboot): Declare as noreturn.
26975 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
26976 fails.
26977 (grub_halt): Likewise.
26978 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
26979 reset-all fails.
26980 (grub_halt): Don't return, even if all of shut-down, power-off, and
26981 poweroff fail.
26982
47695765
CW
269832010-07-02 Colin Watson <cjwatson@ubuntu.com>
26984
26985 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
26986 arguments, not three.
26987
507736c8
CW
269882010-07-02 Colin Watson <cjwatson@ubuntu.com>
26989
26990 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
26991 * util/grub.d/10_linux.in: Use it to check for LVM, so that
26992 LVM-on-RAID is handled correctly.
26993
e3c8cd37
CW
269942010-07-02 Colin Watson <cjwatson@ubuntu.com>
26995
26996 * docs/grub.texi (Changes from GRUB Legacy): New section.
26997 (Future): Fix typo.
26998
8d4a2fec
CW
269992010-07-02 Colin Watson <cjwatson@ubuntu.com>
27000
27001 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
27002 grub.d/README accidentally ends up executable for one reason or
27003 another. Ignore it.
27004
1c4827be
VS
270052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27006
27007 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
27008 (gpt_partition_map_iterate): Support non-512B sectors.
27009
d9a0c941
VS
270102010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27011
27012 * kern/efi/init.c (grub_efi_init): Disable watchdog.
27013 Tested by: Seth Goldberg.
27014
48f27e87
VS
270152010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27016
27017 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
27018 Properly align mbi.
27019 Reported by: Seth Goldberg.
27020
b0c4f956
VS
270212010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27022
27023 * util/grub-mkrescue.in: Avoid module duplication.
27024
105a2e8c
SF
270252010-07-01 Sean Finney <seanius@seanius.net>
27026
27027 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
27028
5944958c
SF
270292010-07-01 Sean Finney <seanius@seanius.net>
27030
27031 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
27032
270332010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27034
27035 * disk/lvm.c (grub_lvm_checkvalue): New function.
27036 (grub_lvm_check_flag): Likewise.
27037
b79889ba
RM
270382010-07-01 Robert Millan <rmh@gnu.org>
27039
27040 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
27041 Support 'p' as partition separator on kernel of FreeBSD (used
27042 with GPT labels).
27043 (grub_util_biosdisk_get_grub_dev): Likewise.
27044
ec1d04f1
VS
270452010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27046
27047 Yeeloong firmware port.
27048
27049 * boot/mips/yeeloong/fwstart.S: New file.
27050 * bus/cs5536.c (gpiodump): New const.
27051 (set_io_space): New function.
27052 (set_iod): Likewise.
27053 (set_p2d): Likewise.
27054 (grub_cs5536_init_geode): Likewise.
27055 * commands/mips/yeeloong/lsspd.c: New file.
27056 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
27057 (serial_mod_SOURCES): New variable.
27058 (serial_mod_CFLAGS): Likewise.
27059 (serial_mod_LDFLAGS): Likewise.
27060 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
27061 term/terminfo.c and term/tparm.c.
27062 (pkglib_IMAGES): Add fwstart.img.
27063 (fwstart_img_SOURCES): New variable.
27064 (fwstart_img_CFLAGS): Likewise.
27065 (fwstart_img_ASFLAGS): Likewise.
27066 (fwstart_img_LDFLAGS): Likewise.
27067 (fwstart_img_FORMAT): Likewise.
27068 (pkglib_MODULES): Add lsspd.mod.
27069 (lsspd_mod_SOURCES): New variable.
27070 (lsspd_mod_CFLAGS): Likewise.
27071 (lsspd_mod_LDFLAGS): Likewise.
27072 (pkglib_MODULES): Add halt.mod.
27073 (halt_mod_SOURCES): New variable.
27074 (halt_mod_CFLAGS): Likewise.
27075 (halt_mod_LDFLAGS): Likewise.
27076 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
27077 (serial_mod_SOURCES): Removed.
27078 (serial_mod_CFLAGS): Likewise.
27079 (serial_mod_LDFLAGS): Likewise.
27080 * disk/ata.c (check_device): New function.
27081 (grub_ata_device_initialize): Use check_device.
27082 (grub_ata_iterate): Recheck devices.
27083 (grub_ata_open): Likewise.
27084 (grub_atapi_iterate): Likewise.
27085 (grub_atapi_open): Likewise.
27086 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
27087 (GRUB_ATA_CH1_PORT1): Likewise.
27088 (GRUB_ATA_CH0_PORT2): Likewise.
27089 (GRUB_ATA_CH1_PORT2): Likewise.
27090 * include/grub/mips/loongson.h: New file.
27091 * include/grub/mips/yeeloong/ec.h: Likewise.
27092 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
27093 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
27094 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
27095 * include/grub/misc.h (grub_halt): Declare as noreturn.
27096 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
27097 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
27098 (UART_ENABLE_FIFO_TRIGGER1): New definition.
27099 (UART_ENABLE_DTRRTS): Likewise.
27100 (UART_ENABLE_MODEM): Removed.
27101 (UART_ENABLE_OUT2): New const.
27102 * include/grub/term.h (grub_term_register_input_active): New function.
27103 (grub_term_register_output_active): Likewise.
27104 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
27105 argument.
27106 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
27107 (init_pci): New function.
27108 (grub_machine_init): Execute platform init when firmware. Init serial.
27109 (grub_halt): Implement.
27110 (grub_exit): Likewise.
27111 (grub_reboot): Likewise.
27112 * term/serial.c (serial_hw_init): Update macros.
27113 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
27114 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
27115 (image_targets): New target mipsel-yeeloong-flash.
27116 (generate_image): Support IMAGE_YEELOONG_FLASH.
27117 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
27118 (grub_video_sm712_setup): Init card.
27119 (grub_video_sm712_set_palette): Removed.
27120 * video/sm712_init.c: New file.
27121
ff4a70d2
CW
271222010-06-30 Colin Watson <cjwatson@ubuntu.com>
27123
27124 * Makefile.in (install-local): Temporarily prepend $(builddir) to
27125 PATH when running help2man and then run it on the unadorned
27126 executable names, rather than passing $(builddir)/* paths to
27127 help2man. This avoids the build directory ending up in generated
27128 manual pages.
27129
1246efeb
CW
271302010-06-29 Colin Watson <cjwatson@ubuntu.com>
27131
27132 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
27133 to avoid accidents when debugging with 'sh -x'.
27134 * util/grub-mkrescue.in: Likewise.
27135 * util/grub.d/00_header.in: Likewise.
27136 * util/grub.d/10_hurd.in: Likewise.
27137 * util/grub.d/10_kfreebsd.in: Likewise.
27138 * util/grub.d/10_linux.in: Likewise.
27139 * util/grub.d/10_netbsd.in: Likewise.
27140 * util/grub.d/10_windows.in: Likewise.
27141 * util/grub.d/20_linux_xen.in: Likewise.
27142 * util/grub.d/30_os-prober.in: Likewise.
27143 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27144
1ba9b889
CW
271452010-06-29 Colin Watson <cjwatson@ubuntu.com>
27146
27147 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
27148 last character in the buffer.
27149 Reported by: Vladimir Serbinenko.
27150
dccaf99d
RM
271512010-06-29 Robert Millan <rmh@gnu.org>
27152
27153 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
27154 (Command-line and menu entry commands): Document `badram' command.
27155
d500ed12
RM
271562010-06-28 Robert Millan <rmh@gnu.org>
27157
27158 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
27159 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
27160 command using ${GRUB_BADRAM} as parameter.
27161
20bc84a6
CW
271622010-06-28 Colin Watson <cjwatson@ubuntu.com>
27163
27164 * docs/grub.texi (Device map): New section.
27165 (Themes): New section (stub).
27166 * Makefile.in (docs/grub.info): The info documentation now builds
27167 without errors. Make sure it stays that way.
27168
4045dee1
VS
271692010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27170
27171 Use normal parser for menu entries.
27172 Reported by: Thomas Frauendorfer
27173
27174 * include/grub/parser.h (grub_parser_execute): Don't export.
27175 * normal/menu.c (grub_menu_execute_entry_real): New function.
27176 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
27177
bca58c7b
CW
271782010-06-28 Colin Watson <cjwatson@ubuntu.com>
27179
27180 * docs/grub.texi (Embedded configuration): New section (replacing
27181 old "Preset Menu" stub).
27182 (Images): New section.
27183 (configfile): Note that any menu entries defined in `file' are shown
27184 immediately.
27185
dec53e63
JT
271862010-06-28 Josh Triplett <josh@joshtriplett.org>
27187
27188 * mmap/i386/pc/mmap_helper.S: Set CF on return.
27189
c06e40f7
CW
271902010-06-28 Colin Watson <cjwatson@ubuntu.com>
27191
27192 * util/grub-install.in: Add --debug-image= option.
27193
cb88052b
CW
271942010-06-28 Colin Watson <cjwatson@ubuntu.com>
27195
27196 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
27197 possible on Linux.
27198
27199 * util/deviceiter.c (check_device): Rename to ...
27200 (check_device_readable_unique): ... this. Update all callers.
27201 Maintain and check a list of which devices (by canonicalized name)
27202 have already been seen.
27203 (clear_seen_devices): New function.
27204 (compare_file_names) [__linux__]: New function.
27205 (grub_util_iterate_devices): Clear the list of seen devices on exit
27206 and (just in case) on entry.
27207 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
27208 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
27209 seen-devices list, superseded by general code in check_device.
27210
bbe34652
CW
272112010-06-28 Colin Watson <cjwatson@ubuntu.com>
27212
27213 * commands/cat.c (options): New variable.
27214 (grub_cmd_cat): Parse options. If the --dos option is given, print
27215 DOS-style "\r\n" line endings as simple newlines (Debian bug
27216 #586358).
27217 (GRUB_MOD_INIT): Use extcmd.
27218 (GRUB_MOD_FINI): Likewise.
27219 * docs/grub.texi (cat): Document --dos.
27220
412e09f3
VS
272212010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27222
27223 XEN with Linux grub-mkconfig support.
27224
27225 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
27226 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
27227 GRUB_CMDLINE_XEN_DEFAULT.
27228 * util/grub.d/20_linux_xen.in: New file.
27229
53f3ef38 272302010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
27231
27232 Initialise VGA video on qemu ourselves.
27233
27234 * boot/i386/qemu/boot.S: Don't call 0xc000.
27235 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
27236 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
27237 (kernel_img_HEADERS): Add pci.h.
27238 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
27239 * configure.ac: Force unifont on qemu and yeeloong.
27240 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
27241 (grub_vga_palette_write): Use correct register.
27242 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
27243 Call grub_qemu_init_cirrus.
27244 * kern/i386/qemu/init.c: New file.
27245 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
27246
27247 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
27248
c75be4fb
PR
272492010-06-26 Pavel Roskin <proski@gnu.org>
27250
27251 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
27252 13.
27253
d8034603
CW
272542010-06-26 Colin Watson <cjwatson@ubuntu.com>
27255
27256 * docs/grub.texi (Simple configuration): Explain that
27257 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
27258 set to `true' to disable their respective recovery entries, not
27259 merely set.
27260
3fa06487
CW
272612010-06-26 Colin Watson <cjwatson@ubuntu.com>
27262
27263 Make the `source' command slightly faster.
27264
27265 * normal/main.c (grub_normal_execute): Don't re-read list files when
27266 nested.
27267
e9b29642
CW
272682010-06-23 Colin Watson <cjwatson@ubuntu.com>
27269
27270 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
27271 field position and mask size to red fields from mode_info, not
27272 green.
27273 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
27274 Remove redundant tag->common.framebuffer_type assignment.
27275 Reported by: Seth Goldberg.
27276
e726542f
CW
272772010-06-23 Colin Watson <cjwatson@ubuntu.com>
27278
27279 Sync up other versions of the Linux loader with Robert Millan's
27280 change of 2010-01-09, "Make loader output a bit more user-friendly".
27281
27282 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
27283 grub_dprintf().
27284 (grub_cmd_linux): Likewise.
27285 (grub_cmd_initrd): Likewise.
27286 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
27287 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27288
d6e98a17
CW
272892010-06-21 Colin Watson <cjwatson@ubuntu.com>
27290
27291 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
27292 larger than MEMORY_MAP_SIZE.
27293
14d3f08e
BC
272942010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
27295
27296 Fix parallel build.
27297
27298 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
27299 dependency.
27300 * script/parser.y: #include grub_script.tab.h header.
27301
4f9613a3
VS
273022010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27303
27304 Support >3GiB and <16MiB RAM in i386-qemu.
27305
27306 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
27307 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
27308 (grub_lower_mem): Removed.
27309 (grub_upper_mem): Likewise.
27310 (mem_size): Made static.
27311 (above_4g): New variable.
27312 (grub_machine_mmap_init): Detect small mem_size and above_4g.
27313 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
27314 support.
27315
05e51879
VS
273162010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27317
27318 Cirrus 5446 and Bochs video cards support.
27319
27320 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
27321 video_bochs.mod
27322 (video_cirrus_mod_SOURCES): New variable.
27323 (video_cirrus_mod_CFLAGS): Likewise.
27324 (video_cirrus_mod_LDFLAGS): Likewise.
27325 (video_bochs_mod_SOURCES): Likewise.
27326 (video_bochs_mod_CFLAGS): Likewise.
27327 (video_bochs_mod_LDFLAGS): Likewise.
27328 * include/grub/vga.h: New file.
27329 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
27330 (grub_video_fb_set_page_t): New type.
27331 (grub_video_fb_setup): New prototype.
27332 (grub_video_fb_swap_buffers): Likewise.
27333 (grub_video_fb_get_info_and_fini): Likewise.
27334 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
27335 (CRTC_DATA_PORT): Likewise.
27336 (CRTC_CURSOR): Likewise.
27337 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27338 (CRTC_CURSOR_ADDR_LOW): Likewise.
27339 (CRTC_CURSOR_DISABLE): Likewise.
27340 (update_cursor): Use grub_vga_cr_write.
27341 (grub_vga_text_setcursor): Likewise.
27342 * video/bochs.c: New file.
27343 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
27344 (palette): Likewise.
27345 (palette_size): Likewise.
27346 (framebuffer): New variable.
27347 (grub_video_fb_init): Use 'framebuffer'.
27348 (grub_video_fb_fini): Likewise.
27349 (grub_video_fb_get_info): Likewise.
27350 (grub_video_fb_get_palette): Likewise.
27351 (grub_video_fb_set_palette): Likewise.
27352 (grub_video_fb_set_viewport): Likewise.
27353 (grub_video_fb_get_viewport): Likewise.
27354 (grub_video_fb_map_color): Likewise.
27355 (grub_video_fb_map_rgb): Likewise.
27356 (grub_video_fb_map_rgba): Likewise.
27357 (grub_video_fb_unmap_color): Likewise.
27358 (grub_video_fb_unmap_color_int): Likewise.
27359 (grub_video_fb_fill_rect): Likewise.
27360 (grub_video_fb_blit_bitmap): Likewise.
27361 (grub_video_fb_blit_render_target): Likewise.
27362 (grub_video_fb_scroll): Likewise.
27363 (grub_video_fb_create_render_target): Likewise.
27364 (grub_video_fb_doublebuf_blit_init): Likewise.
27365 (grub_video_fb_set_active_render_target): Handle doublebuffering.
27366 (doublebuf_pageflipping_update_screen): New function.
27367 (doublebuf_pageflipping_init): Likewise.
27368 (grub_video_fb_setup): Likewise.
27369 (grub_video_fb_swap_buffers): Likewise.
27370 (grub_video_fb_get_info_and_fini): Likewise.
27371 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
27372 All users updated.
27373 (doublebuf_pageflipping_commit): Restructured into ...
27374 (doublebuf_pageflipping_set_page): ... this.
27375 (doublebuf_pageflipping_update_screen): Removed.
27376 (doublebuf_pageflipping_init): Likewise.
27377 (double_buffering_init): Likewise.
27378 (grub_video_vbe_setup): Use grub_video_fb_setup.
27379 (grub_video_vbe_swap_buffers): Removed.
27380 (grub_video_vbe_set_active_render_target): Likewise.
27381 (grub_video_vbe_get_active_render_target): Likewise.
27382 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
27383 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
27384 grub_video_fb_set_active_render_target and
27385 grub_video_fb_get_active_render_target.
27386 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
27387 (SEQUENCER_DATA_PORT): Likewise.
27388 (MAP_MASK_REGISTER): Likewise.
27389 (CRTC_ADDR_PORT): Likewise.
27390 (CRTC_DATA_PORT): Likewise.
27391 (START_ADDR_HIGH_REGISTER): Likewise.
27392 (START_ADDR_LOW_REGISTER): Likewise.
27393 (GRAPHICS_ADDR_PORT): Likewise.
27394 (GRAPHICS_DATA_PORT): Likewise.
27395 (READ_MAP_REGISTER): Likewise.
27396 (INPUT_STATUS1_REGISTER): Likewise.
27397 (INPUT_STATUS1_VERTR_BIT): Likewise.
27398 (get_map_mask): Use grub_vga_sr_read.
27399 (set_map_mask): Use grub_vga_sr_write.
27400 (set_read_map): Use grub_vga_gr_write.
27401 (set_start_address): Use grub_vga_cr_write.
27402 * video/sm712.c (framebuffer): Remove leftover fields.
27403
4321c64a
CW
274042010-06-20 Colin Watson <cjwatson@ubuntu.com>
27405
27406 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
27407 setting GRUB_VIDEO_BACKEND. Make it available as a user override
27408 instead. Replace the gfxterm backend check with a check that
27409 ${GRUB_PREFIX}/video.lst is non-empty.
27410 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
27411 again.
27412 (load_video): New generated function. Call it before loading
27413 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
27414 * util/grub.d/10_linux.in (linux_entry): Call load_video.
27415 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
27416 * docs/grub.texi (Simple configuration): Document
27417 GRUB_VIDEO_BACKEND.
27418
274192010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27420
27421 Use video functions in linux and xnu loaders.
27422
27423 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
27424 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
27425 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
27426 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
27427 loader/i386/pc/linux.c.
27428 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
27429 (find_line_len): Removed.
27430 (find_framebuf): Likewise.
27431 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
27432 * loader/i386/efi/xnu.c: Removed.
27433 * loader/i386/pc/xnu.c: Moved from here...
27434 * loader/i386/xnu.c: ...here.
27435
27436 Enable priorities in video drivers.
27437
27438 * include/grub/video.h (grub_video_adapter_prio_t): New type.
27439 (grub_video_adapter): New field prio.
27440 (grub_video_register): Respect prio when inserting.
27441 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
27442 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
27443 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
27444 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
27445 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
27446 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
27447 * video/sm712.c (grub_video_sm712_adapter): Likewise.
27448
27449 Fix SDL driver ID.
27450
27451 * include/grub/video.h (grub_video_driver_id_t): New value
27452 GRUB_VIDEO_DRIVER_SDL.
27453 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
27454
7d24e434
CW
274552010-06-17 Colin Watson <cjwatson@ubuntu.com>
27456
27457 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
27458 argument to printf.
27459 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27460
c88a83f6
CW
274612010-06-17 Colin Watson <cjwatson@ubuntu.com>
27462
27463 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
27464 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27465
094dfb69
CW
274662010-06-17 Colin Watson <cjwatson@ubuntu.com>
27467
27468 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
27469 directly, and recommend grub-install instead.
27470 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27471
2164da6b
CW
274722010-06-17 Colin Watson <cjwatson@ubuntu.com>
27473
27474 Fix i386-pc prefix handling with nested partitions (Debian bug
27475 #585068). Note that the case where the core image is booted using
27476 multiboot and relocated from its original location still requires
27477 more work.
27478
27479 * kern/i386/pc/init.c (make_install_device): If the prefix starts
27480 with "(,", fill the boot drive in between those two characters, but
27481 expect that a full partition specification including partition map
27482 names will follow.
27483 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
27484 specified, write a prefix without the drive name but including a
27485 full partition specification.
27486
044e2e60
CW
274872010-06-16 Colin Watson <cjwatson@ubuntu.com>
27488
27489 * util/grub-mkconfig.in: Ignore non-option arguments, for
27490 compatibility with older versions (before 2010-06-12) which did the
27491 same. In particular, this makes it easier to ship an update-grub
27492 wrapper which is compatible with that used with GRUB Legacy (Debian
27493 bug #586056).
27494
5591324f
GS
274952010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27496
27497 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
27498 for manual page generation.
27499
662e24d5
GS
275002010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27501
27502 * po/POTFILES: Remove leftover commands/handler.c.
27503
8d70754e
CW
275042010-06-14 Colin Watson <cjwatson@ubuntu.com>
27505
27506 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
27507 left this script non-functional.
27508
41160e2e
CW
275092010-06-14 Colin Watson <cjwatson@ubuntu.com>
27510
27511 * docs/man/grub-emu.h2m: New file.
27512
b5309cc1
CW
275132010-06-13 Colin Watson <cjwatson@ubuntu.com>
27514
27515 * docs/grub.texi (Commands): Document reduced command set in rescue
27516 mode.
27517 (cpuid): New section.
27518
fcb2d090
GS
275192010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
27520
27521 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
27522 new partition naming style.
27523 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
27524
96e5c556
BC
275252010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
27526
27527 Add "-o grub.iso" like cmdline options support.
27528
27529 * util/grub-install.in: Improve cmdline option parsing.
27530 * util/grub-mkconfig.in: Likewise.
27531 * util/grub-mkrescue.in: Likewise.
27532 * util/grub-reboot.in: Likewise.
27533 * util/grub-set-default.in: Likewise.
27534 * util/i386/efi/grub-install.in: Likewise.
27535 * util/ieee1275/grub-install.in: Likewise.
27536 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27537
c16be99b
CW
275382010-06-12 Colin Watson <cjwatson@ubuntu.com>
27539
27540 * .bzrignore: Ignore 41_custom.
27541
ce08a9fb
TS
275422010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27543
27544 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
27545
7beac90c
CW
275462010-06-12 Colin Watson <cjwatson@ubuntu.com>
27547
27548 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
27549 prototype declarations.
27550
27551 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
27552 generating fs, partmap, and video lists.
27553 * include/grub/fs.h (grub_fs_register): Omit prototype if
27554 GRUB_LST_GENERATOR is defined.
27555 * include/grub/partition.h (grub_partition_map_register): Likewise.
27556 * include/grub/video.h (grub_video_register): Likewise.
27557
1c8f0f8d
JM
275582010-06-12 Javier Martín <lordhabbit@gmail.com>
27559
27560 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
27561
a6085973
TS
275622010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27563
27564 * util/grub-mkrescue.in: Support --xorriso argument.
27565
25c56d29
VS
275662010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27567
27568 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
27569 Suggested by: Thomas Schmitt.
27570
e03e4b24
VS
275712010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27572
27573 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
27574 Suggested by: Thomas Schmitt.
27575
57711df6
VS
275762010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27577
27578 custom.cfg support.
27579
27580 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
27581 * util/grub.d/41_custom.in: New file.
27582
ee62c427
CW
275832010-06-12 Colin Watson <cjwatson@ubuntu.com>
27584
27585 * util/grub-mkrescue.in (make_image): Remove sh module, which has
27586 been merged back into normal.
27587
283af07a
CW
275882010-06-11 Colin Watson <cjwatson@ubuntu.com>
27589
27590 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
27591 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
27592
56a0d956
CW
275932010-06-11 Colin Watson <cjwatson@ubuntu.com>
27594
27595 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
27596 when generating manual pages.
27597 * docs/man/grub-bin2h.h2m: New file.
27598 * docs/man/grub-editenv.h2m: New file.
27599 * docs/man/grub-fstest.h2m: New file.
27600 * docs/man/grub-install.h2m: New file.
27601 * docs/man/grub-macho2img.h2m: New file.
27602 * docs/man/grub-mkconfig.h2m: New file.
27603 * docs/man/grub-mkdevicemap.h2m: New file.
27604 * docs/man/grub-mkfont.h2m: New file.
27605 * docs/man/grub-mkimage.h2m: New file.
27606 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
27607 * docs/man/grub-mkrelpath.h2m: New file.
27608 * docs/man/grub-mkrescue.h2m: New file.
27609 * docs/man/grub-ofpathname.h2m: New file.
27610 * docs/man/grub-pe2elf.h2m: New file.
27611 * docs/man/grub-probe.h2m: New file.
27612 * docs/man/grub-reboot.h2m: New file.
27613 * docs/man/grub-script-check.h2m: New file.
27614 * docs/man/grub-set-default.h2m: New file.
27615 * docs/man/grub-setup.h2m: New file.
27616
3a37e322
VS
276172010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
27618
27619 Use FOR_* macros instead of *_iterate whenever possible.
27620
27621 * commands/handler.c: Removed.
27622 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
27623 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
27624 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27625 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
27626 (grub_probe_SOURCES): Remove kern/parser.c.
27627 (util/grub-script-check.c_DEPENDENCIES): Removed.
27628 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
27629 and grub_script_check_init.c.
27630 (grub_script_check_init.lst): Removed.
27631 (grub_script_check_init.h): Likewise.
27632 (grub_script_check_init.c): Likewise.
27633 (pkglib_MODULES): Remove handler.mod and sh.mod.
27634 (handler_mod_SOURCES): Removed.
27635 (handler_mod_CFLAGS): Likewise.
27636 (handler_mod_LDFLAGS): Likewise.
27637 (normal_mod_SOURCES): Remove normal/handler.c.
27638 Add script/main.c, script/script.c, script/execute.c,
27639 script/function.c, script/lexer.c, grub_script.tab.c
27640 and grub_script.yy.c.
27641 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27642 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27643 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
27644 (grub_setup_SOURCES): Remove kern/parser.c.
27645 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27646 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
27647 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
27648 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27649 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27650 (grub_setup_SOURCES): Remove kern/parser.c.
27651 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27652 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
27653 * include/grub/command.h (grub_command_iterate): Removed.
27654 (FOR_COMMANDS): New macro.
27655 * include/grub/dl.h (grub_dl): New member next.
27656 (grub_dl_iterate): Removed.
27657 (grub_dl_head): New variable declaration.
27658 (FOR_DL_MODULES): New macro.
27659 * include/grub/fs.h: Include list.h.
27660 (grub_fs): Make next first element.
27661 (grub_fs_list): New variable declaration.
27662 (grub_fs_register): Make inline.
27663 (grub_fs_unregister): Likewise.
27664 (grub_fs_iterate): Removed.
27665 (FOR_FILESYSTEMS): New macro.
27666 * include/grub/handler.h: Removed.
27667 * include/grub/list.h (grub_list_hook_t): Removed.
27668 (grub_list_test_t): Likewise.
27669 (grub_list_pop): Likewise.
27670 (grub_list_iterate): Likewise.
27671 (grub_list_insert): Likewise.
27672 (FOR_LIST_ELEMENTS): New macro.
27673 * include/grub/parser.h (grub_parser_class): Removed.
27674 (grub_parser_register): Likewise.
27675 (grub_parser_unregister): Likewise.
27676 (grub_parser_get_current): Likewise.
27677 (grub_parser_set_current): Likewise.
27678 (grub_register_rescue_parser): Likewise.
27679 (grub_rescue_parse_line): New function.
27680 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
27681 * include/grub/script_sh.h (grub_script_function_list): New variable
27682 declaration.
27683 (FOR_SCRIPT_FUNCTIONS): New macro.
27684 (grub_script_function_iterate): Removed.
27685 (grub_normal_parse_line): New prototype.
27686 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
27687 (FOR_DISABLED_TERM_INPUTS): Likewise.
27688 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27689 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27690 * include/grub/video.h (grub_video_adapter): Move 'next' to first
27691 element.
27692 (grub_video_register): Inline.
27693 (grub_video_unregister): Likewise.
27694 (grub_video_adapter_list): New variable declaration.
27695 (grub_video_iterate): Removed.
27696 (FOR_VIDEO_ADAPTERS): New macro.
27697 * kern/dl.c (grub_dl_list): Removed. All users updated.
27698 (grub_dl_iterate): Removed.
27699 * kern/fs.c (grub_fs_list): Make global.
27700 (grub_fs_register): Removed.
27701 (grub_fs_unregister): Likewise.
27702 (grub_fs_iterate): Likewise.
27703 * kern/handler.c: Removed.
27704 * kern/list.c (grub_list_pop): Removed.
27705 (grub_list_iterate): Likewise.
27706 (grub_list_insert): Likewise.
27707 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
27708 (grub_prio_list_insert): Don't use grub_list_insert.
27709 * kern/main.c (grub_register_rescue_parser): Don't call
27710 grub_register_rescue_parser.
27711 * kern/parser.c (grub_parser_class): Removed.
27712 (grub_parser_execute): Use grub_rescue_parse_line.
27713 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
27714 (grub_rescue_parser): Removed.
27715 (grub_register_rescue_parser): Likewise.
27716 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
27717 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
27718 (grub_auth_check_authentication): Likewise.
27719 * normal/completion.c (iterate_command): Removed.
27720 (grub_normal_do_completion): Use FOR_COMMANDS.
27721 * normal/handler.c: Removed.
27722 * normal/main.c (read_config_file): Remove parser changing.
27723 (grub_normal_execute): Don't call read_handler_list.
27724 (grub_normal_read_line_real): Statically allocate prompt.
27725 (grub_cmdline_run): Use grub_normal_parse_line.
27726 (GRUB_MOD_FINI): Don't call free_handler_list.
27727 * normal/menu_entry.c (run): Likewise.
27728 * script/function.c (grub_script_function_list): Make global.
27729 (grub_script_function_iterate): Removed.
27730 * script/main.c (grub_normal_parse_line): Make global.
27731 (grub_sh_parser): Removed.
27732 (GRUB_MOD_INIT): Likewise.
27733 (GRUB_MOD_FINI): Likewise.
27734 * tests/lib/functional_test.c (grub_functional_test): Use
27735 FOR_LIST_ELEMENTS.
27736 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
27737 (grub_test_run): Use FOR_LIST_ELEMENTS.
27738 * tests/lib/unit_test.c (main): Likewise.
27739 * util/deviceiter.c (grub_util_iterate_devices): Don't use
27740 grub_list_pop.
27741 * util/grub-fstest.c (grub_term_input_class): Removed.
27742 (grub_term_output_class): Likewise.
27743 * util/grub-probe.c: Likewise.
27744 * util/i386/pc/grub-setup.c: Likewise.
27745 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27746 * util/grub-script-check.c (main): Don't call grub_init_all and
27747 grub_fini_all.
27748 * video/video.c (grub_video_adapter_list): Make global.
27749 (grub_video_register): Removed.
27750 (grub_video_unregister): Likewise.
27751 (grub_video_iterate): Likewise.
27752
6289c3a7
VS
277532010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
27754
27755 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
27756 reported by Henrique Ferreiro.
27757
91460247
RM
277582010-06-09 Robert Millan <rmh@gnu.org>
27759
27760 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
27761 ones, when both are available.
27762
0ea7c4f9
GS
277632010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27764
27765 Make --version uniform and avoid hard-coded program name.
27766
27767 * util/grub-mkimage.c (main): Use `program_name' instead of
27768 hard-coded string.
27769 * util/i386/pc/grub-setup.c (main): Likewise.
27770 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
27771 * util/grub-install.in: Save the basename of $0 in $self, and use the
27772 latter in informational messages. Use the same format for --version
27773 as the binary programs.
27774 * util/grub-mkconfig.in: Likewise.
27775 * util/grub-mkrescue.in: Likewise.
27776 * util/grub-reboot.in: Likewise.
27777 * util/grub-set-default.in: Likewise.
27778 * util/i386/efi/grub-install.in: Likewise.
27779 * util/ieee1275/grub-install.in: Likewise.
27780 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27781
e8a6f3b6
GS
277822010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27783
27784 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
27785 embedding area. Use <= instead of == when checking for non-emptiness.
27786
f4d095d7
GS
277872010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27788
27789 * configure.ac: Add `.' to the directories searched for unifont.
27790
50e532ca
CW
277912010-06-08 Colin Watson <cjwatson@ubuntu.com>
27792
27793 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
27794 grub_script.yy.h.
27795
d39f3dec
CW
277962010-06-08 Colin Watson <cjwatson@ubuntu.com>
27797
27798 * docs/grub.texi (History): Expand to cover GRUB 2.
27799 (Serial terminal): Refer to `terminal_input' and `terminal_output'
27800 commands, not `terminal'.
27801 (serial): Likewise.
27802 (terminal_input): New section.
27803 (terminal_output): New section.
27804 (uppermem): New section (stub).
27805 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
27806
6ef0ddb4
CW
278072010-06-08 Colin Watson <cjwatson@ubuntu.com>
27808
27809 * docs/grub.texi (Security): Menu entries are unrestricted by
27810 default, not restricted to superusers as I had previously thought.
27811 Reword to account for this.
27812
e0f4c438
CW
278132010-06-07 Colin Watson <cjwatson@ubuntu.com>
27814
27815 * kern/emu/misc.c (device_mapper_null_log): New function.
27816 (grub_device_mapper_supported): New function.
27817 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
27818 prototype.
27819 * kern/emu/hostdisk.c (find_partition_start): Check whether
27820 device-mapper is supported before trying to use it.
27821 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
27822
da908200
CW
278232010-06-07 Colin Watson <cjwatson@ubuntu.com>
27824
27825 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
27826 (File name syntax): Likewise.
27827 (help): --all is no longer supported in GRUB 2. Be more precise
27828 about pattern matching.
27829
fb55c3ac
CW
278302010-06-07 Colin Watson <cjwatson@ubuntu.com>
27831
27832 * normal/completion.c (grub_normal_do_completion): When completing
27833 arguments to "set" and the current word contains an equals sign,
27834 skip to after the equals sign before starting completion.
27835
258c2573
CW
278362010-06-07 Colin Watson <cjwatson@ubuntu.com>
27837
27838 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
27839
ee75515e
CW
278402010-06-07 Colin Watson <cjwatson@ubuntu.com>
27841
27842 * docs/grub.texi (Network): New section.
27843 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
27844 `(nd)' as in GRUB Legacy.
27845 (pxe_unload): New section.
27846
a6a700aa
CW
278472010-06-07 Colin Watson <cjwatson@ubuntu.com>
27848
27849 * docs/grub.texi (Troubleshooting): `echo' is not usually available
27850 in the rescue shell, so recommend using `set' instead. Thanks,
27851 Jordan Uggla.
27852
4003dd38
CW
278532010-06-07 Colin Watson <cjwatson@ubuntu.com>
27854
27855 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
27856 (password): New section.
27857 (password_pbkdf2): New section.
27858 (search): New section.
27859 (Security): New section.
27860 (Troubleshooting): New section, currently very incomplete.
27861 (Invoking grub-mkpasswd-pbkdf2): New section.
27862 (Internals): New section, currently very incomplete.
27863
e1cbcc40
CW
278642010-06-07 Colin Watson <cjwatson@ubuntu.com>
27865
27866 * util/grub.d/00_header.in: Add some more quoting (of
27867 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
27868 work again.
27869 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
27870
db8fa1ad
CW
278712010-06-07 Colin Watson <cjwatson@ubuntu.com>
27872
27873 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
27874 to `count', fixing variable shadowing that broke the -c option.
27875
278762010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
27877
27878 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
27879 in case they contain spaces.
27880
f28a9212
CW
278812010-06-04 Colin Watson <cjwatson@ubuntu.com>
27882
27883 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
27884 "part_" to partmap module names, in line with grub-install.
27885 Reported by: Jindřich Makovička (Debian bug #584426).
27886
9cdfe32f
CW
278872010-06-04 Colin Watson <cjwatson@ubuntu.com>
27888
27889 * util/grub-mkimage.c: Make target-related error messages slightly
27890 more helpful; -O talks about "format". Explicitly point to the use
27891 of -O if no target is specified.
27892 Reported by: Didier Raboud (Debian bug #584415).
27893
795b593a
CW
278942010-06-03 Colin Watson <cjwatson@ubuntu.com>
27895
27896 * INSTALL: Document several build requirements for optional features
27897 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
27898
9d9b5833
GS
278992010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
27900
27901 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
27902 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
27903 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
27904
0819fec8
CW
279052010-06-02 Colin Watson <cjwatson@ubuntu.com>
27906
27907 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
27908 Thanks to Jordan Uggla for spotting this.
27909
49396b4f
VS
279102010-06-02 Aleš Nesrsta <starous@volny.cz>
27911
27912 Finally make USB usable.
27913
27914 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
27915 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
27916 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
27917 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
27918 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
27919 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
27920 (GRUB_OHCI_FSMPS): Likewise.
27921 (GRUB_OHCI_PERIODIC_START): Likewise.
27922 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
27923 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
27924 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
27925 (GRUB_OHCI_SET_PORT_RESET): Likewise.
27926 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
27927 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
27928 (grub_ohci_transaction): Likewise.
27929 (grub_ohci_transfer): Improve condition detection algorithms.
27930 Handle toggle property. Program the transactions correctly.
27931 Improve error handling. Various important fixups.
27932 (grub_ohci_portstatus): Put register writes in right order.
27933 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
27934 (grub_uhci_transfer): Don't show "failed" message on success.
27935 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
27936 array.
27937 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
27938 determine its size.
27939 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
27940 before initialization is completed. Use IN direction for empty
27941 transfers. Use last_trans and compute toggle.
27942 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
27943 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
27944 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
27945 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
27946 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
27947 (grub_usb_device): Increase toggle to 256.
27948 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
27949 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
27950 GRUB_USBMS_SUBCLASS_SFF8070.
27951 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
27952 (grub_scsi_inquiry): New member page and alloc_length.
27953 (grub_scsi_request_sense): New structure.
27954 (grub_scsi_request_sense_data): Likewise.
27955 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
27956 control.
27957 * disk/scsi.c (grub_scsi_request_sense): New function.
27958 (grub_scsi_test_unit_ready): Likewise.
27959 (grub_scsi_inquiry): Fill new fields.
27960 (grub_scsi_read_capacity): Likewise.
27961 (grub_scsi_read10): Add request sense at the end.
27962 (grub_scsi_read12): Likewise.
27963 (grub_scsi_write10): Likewise.
27964 (grub_scsi_write12): Likewise.
27965 (grub_scsi_open): Add Test Unit Ready.
27966 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
27967 Support additional subclasses. Con't clear halt yet. Activate the
27968 proper config. Calculate LUNs correctly.
27969 (grub_usbms_transfer): Various important fixups.
27970
279712010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27972
27973 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
27974 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
27975 (grub_ohci_fini_hw): New function.
27976 (grub_ohci_restore_hw): Likewise.
27977 (GRUB_MOD_INIT(ohci)): Register preboot hook.
27978 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
27979 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
27980
279812010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27982
27983 Dedicated DMA allocations.
27984
27985 * bus/pci.c (grub_memalign_dma32): New function
27986 (grub_dma_free): Likewise.
27987 (grub_dma_get_virt): Likewise.
27988 (grub_dma_get_phys): Likewise.
27989 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
27990 (grub_ohci_pci_iter): Use dma32_alloc.
27991 (grub_ohci_transfer): Likewise.
27992 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
27993 (grub_usb_bulk_readwrite): Likewise.
27994 * include/grub/pci.h: Add declarations.
27995
279962010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27997
27998 CS5536 support.
27999
28000 * bus/cs5536.c: New file.
28001 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
28002 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
28003 (cs5536_mod_SOURCES): New variable.
28004 (cs5536_mod_CFLAGS): Likewise.
28005 (cs5536_mod_LDFLAGS): Likewise.
28006 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
28007 machine/pci.h.
28008 (kernel_img_SOURCES): Add bus/cs5536.c.
28009 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
28010 usb_keyboard.mod.
28011 (usb_mod_SOURCES): New variable.
28012 (usb_mod_CFLAGS): New variable.
28013 (usb_mod_LDFLAGS): New variable.
28014 (usbtest_mod_SOURCES): New variable.
28015 (usbtest_mod_CFLAGS): New variable.
28016 (usbtest_mod_LDFLAGS): New variable.
28017 (ohci_mod_SOURCES): New variable.
28018 (ohci_mod_CFLAGS): New variable.
28019 (ohci_mod_LDFLAGS): New variable.
28020 (usbms_mod_SOURCES): New variable.
28021 (usbms_mod_CFLAGS): New variable.
28022 (usbms_mod_LDFLAGS): New variable.
28023 (usb_keyboard_mod_SOURCES): New variable.
28024 (usb_keyboard_mod_CFLAGS): New variable.
28025 (usb_keyboard_mod_LDFLAGS): New variable.
28026 * include/grub/smbus.h: New file.
28027 * include/grub/cs5536.h: New file.
28028
0b35b2a9
CW
280292010-06-02 Colin Watson <cjwatson@ubuntu.com>
28030
28031 * util/grub.d/00_header.in: Add safety check to make sure that
28032 ${locale_dir} exists before trying to probe it.
28033
ca0afd5b
CW
280342010-06-02 Colin Watson <cjwatson@ubuntu.com>
28035
28036 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
28037 per the GNU Coding Standards; this is now too obscure to be worth
28038 documenting.
28039 (QNX): Likewise.
28040 (chainloader): Remove cross-reference to `SCO UnixWare'.
28041
1c41aa78
CW
280422010-06-02 Colin Watson <cjwatson@ubuntu.com>
28043
28044 * docs/grub.texi (Chain-loading): New section.
28045 (DOS/Windows): New section, borrowed from GRUB Legacy with details
28046 adjusted for GRUB 2.
28047 (SCO UnixWare): Likewise.
28048 (QNX): Likewise.
28049 (chainloader): Add reference to `Block list syntax'.
28050 (drivemap): New section.
28051 (parttool): New section.
28052
bb8ea0f5
CW
280532010-06-02 Colin Watson <cjwatson@ubuntu.com>
28054
28055 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
28056 the grub shell'.
28057 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
28058 (Installing GRUB using grub-install): Remove reference to the grub
28059 shell; mention `grub-mkimage' and `grub-setup' instead.
28060 (Invoking grub-install): Likewise.
28061 (Interface): Add reference to `Menu entry editor'.
28062 (serial): Remove `--device' option.
28063
288dd6ed
CW
280642010-06-02 Colin Watson <cjwatson@ubuntu.com>
28065
28066 * docs/grub.texi (Configuration): New section, documenting
28067 configuration file generation using grub-mkconfig. I've left a slot
28068 for documenting the full shell scripting format but have not yet
28069 started on writing that up.
28070 (Invoking grub-mkconfig): New section.
28071
34c9f0e9
CW
280722010-06-02 Colin Watson <cjwatson@ubuntu.com>
28073
28074 * docs/grub.texi (direntry): Remove grub-terminfo reference.
28075 (GNU GRUB manual): Likewise.
28076 (General commands): Update description of `terminfo' for GRUB 2.
28077
9121567e
CW
280782010-06-02 Colin Watson <cjwatson@ubuntu.com>
28079
28080 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
28081 (GRUB_MOD_INIT): Fix capitalisation.
28082 * docs/grub.texi (Command-line and menu entry commands): Document
28083 gettext and gptsync commands.
28084
ab631611
CW
280852010-06-02 Colin Watson <cjwatson@ubuntu.com>
28086
28087 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
28088 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
28089
bde4a9ac
CW
280902010-06-01 Colin Watson <cjwatson@ubuntu.com>
28091
28092 Add btrfs probing support, currently only in the single-device case.
28093
28094 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
28095 function.
28096 (grub_guess_root_device): Call find_root_device_from_mountinfo
28097 before looking in /dev.
28098
b1d17e10
VS
280992010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28100
28101 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
28102 GRUB_DISK_SIZE_UNKNOWN.
28103 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
28104
dfbfe004
JS
281052010-05-31 Jiro SEKIBA <jir@unicus.jp>
28106
28107 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
28108 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
28109 corrupted or not synced properly.
28110
c2ffc8e9
VS
281112010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28112
28113 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
28114 Reported by: Seth Goldberg.
28115
56293166
VS
281162010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28117
28118 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
28119 addition of dest.
28120 Reported by: Seth Goldberg.
28121
7620e7de
VS
281222010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28123
28124 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
28125 Reported by: Seth Goldberg.
28126
c837af3f
VS
281272010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28128
28129 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
28130 64-bit address as signed on MIPS.
28131
c7c75cf4
CW
281322010-05-28 Colin Watson <cjwatson@ubuntu.com>
28133
28134 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
28135 to the empty string.
28136
fa4b8490
BC
281372010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
28138
28139 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
28140
28141 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
28142 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
28143 * kern/misc.c (__enable_execute_stack): Disable on
28144 GRUB_MACHINE_EMU.
28145
a33075b9
CW
281462010-05-28 Colin Watson <cjwatson@ubuntu.com>
28147
28148 Make grub-probe work with symbolic links under /dev/mapper as well
28149 as with real block devices. The Linux world seems to be (at best)
28150 in transition here, and GRUB shouldn't get caught in the middle.
28151
28152 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
28153 /dev/mapper.
28154
d8708134
CW
281552010-05-27 Colin Watson <cjwatson@ubuntu.com>
28156
28157 * util/grub-script-check.c (main): Ensure defined behaviour on empty
28158 input files (in which case exit zero).
28159
db2102a0
CW
281602010-05-27 Colin Watson <cjwatson@ubuntu.com>
28161
28162 * kern/emu/misc.c (canonicalize_file_name): realpath can still
28163 return NULL for various reasons even if it has a maximum-length
28164 buffer: for example, there might be a symlink loop, or the path
28165 might exceed PATH_MAX. If this happens, return NULL.
28166
5fdba519
RM
281672010-05-27 Robert Millan <rmh@gnu.org>
28168
28169 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
28170 partmap module to handle cross-partmap setups.
28171 Reported by Orestes Mas. Gràcies!
28172
d1d368e4
CW
281732010-05-27 Colin Watson <cjwatson@ubuntu.com>
28174
28175 * util/grub-mkrescue.in: Initialise override_dir rather than
28176 assuming that it's unset or empty in the environment.
28177
95ac3c73
GS
281782010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
28179
28180 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
28181 variable index into p_index to suppress a warning with -Wshadow.
28182
7d8c0213
BC
281832010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
28184
28185 * INSTALL: Added flex >= 2.5.35 requirement.
28186
db4d5813
VS
281872010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28188
28189 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
28190
f24f4300
VS
281912010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28192
28193 cmostest support.
28194
28195 * commands/i386/cmostest.c: New file.
28196 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
28197 (cmostest_mod_SOURCES): New variable.
28198 (cmostest_mod_CFLAGS): Likewise.
28199 (cmostest_mod_LDFLAGS): Likewise.
28200 * conf/i386-pc.rmk: Likewise.
28201 * docs/grub.texi (Vendor power-on keys): New section.
28202 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
28203 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
28204 and GRUB_BUTTON_CMOS_ADDRESS.
28205 * util/grub.d/00_header.in: Handle powering-on by separate button.
28206
ad603f61
VS
282072010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28208
28209 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
28210 Removed drawing_scrollbar argument. All users updated
28211 Fixes #29792.
28212 Reported by Jo Shields
28213
3ecb080a
VS
282142010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28215
28216 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
28217 buffer since gfxterm handles double repaint.
28218
5f2316c1
VS
282192010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28220
28221 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
28222 * term/gfxterm.c (real_scroll): Likewise.
28223
9a25f885
VS
282242010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28225
28226 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
28227 before calling BIOS.
28228
39fbb79a
VS
282292010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28230
28231 * include/grub/i18n.h: Always enable grub_gettext.
28232
228cfa97
VS
282332010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28234
28235 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
28236 partition naming style.
28237
21717c8f
CW
282382010-05-21 Colin Watson <cjwatson@ubuntu.com>
28239
28240 * util/grub-mkconfig.in: Fix handling of -o so that it works when
28241 not the first option.
28242
c0f48e65
CW
282432010-05-20 Colin Watson <cjwatson@ubuntu.com>
28244
28245 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
28246
96779aec
CW
282472010-05-20 Colin Watson <cjwatson@ubuntu.com>
28248
28249 * util/misc.c: Move inclusion of <limits.h> to ...
28250 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
28251
fa9d256e
GS
282522010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
28253
28254 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
28255 Fix merge error in NetBSD code.
28256 (find_partition_start) [__NetBSD__]: Likewise.
28257
123b7a85
BC
282582010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
28259
28260 Fix grub-mkrescue usage unit testing.
28261
28262 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
28263
74276c0d
CF
282642010-05-18 Christian Franke <franke@computer.org>
28265
28266 * util/grub.d/10_windows.in: Use path names instead of
28267 drive letters to prevent warning from Cygwin 1.7.
28268 Add drivemap command to menuentry if needed.
28269
c4f7b523
ST
282702010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
28271
28272 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
28273 gnumach and gnumach.gz.
28274
95b97950
VS
282752010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28276
28277 * include/grub/i18n.h (gettext): Inline instead of using #define.
28278 (grub_gettext): Likewise.
28279 (_): Likewise.
28280
01b8d2d7
VS
282812010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28282
28283 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
28284 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
28285 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
28286 (main): Add a slash after pkglibdirroot.
28287
654e1d1e
VS
282882010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28289
28290 * util/grub-install.in: Add missing "in" keyword.
28291
26966aeb
VS
282922010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28293
28294 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
28295 Reported by: Seth Goldberg.
28296
75006747
VS
282972010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28298
28299 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
28300
74cbf5bd
CW
283012010-05-18 Colin Watson <cjwatson@ubuntu.com>
28302
28303 * configure.ac: Check for Linux device-mapper support.
28304
28305 * util/hostdisk.c (device_is_mapped): New function.
28306 (find_partition_start): New function, partly broken out from
28307 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
28308 device-mapper support added.
28309 (linux_find_partition): Use find_partition_start.
28310 (convert_system_partition_to_system_disk): Add `st' argument.
28311 Support Linux /dev/mapper/* devices if device-mapper support is
28312 available; only DM-RAID devices are understood at present.
28313 (find_system_device): Add `st' argument. Pass it to
28314 convert_system_partition_to_system_disk.
28315 (grub_util_biosdisk_get_grub_dev): Pass stat result to
28316 find_system_device and convert_system_partition_to_system_disk. Use
28317 find_partition_start.
28318
28319 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
28320 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
28321 * util/deviceiter.c [__linux__]: Define MINOR.
28322 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
28323 * util/mkdevicemap.c (grub_putchar): New function.
28324 (grub_getkey): New function.
28325 (grub_refresh): New function.
28326 (main): Set debug=all if -v -v is used.
28327
355b51e9
CW
283282010-05-18 Colin Watson <cjwatson@ubuntu.com>
28329
28330 Fix build with non-GNU libcs.
28331
28332 * util/misc.c (canonicalize_file_name): Move to ...
28333 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
28334 grub_make_system_path_relative_to_its_root.
28335
7fb5c25f
CW
283362010-05-18 Colin Watson <cjwatson@ubuntu.com>
28337
28338 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
28339 we handle finding grub-mkimage. Default to finding grub-mkimage in
28340 ${bindir} with program_transform_name applied, and provide a
28341 --grub-mkimage option to override this.
28342
1d3293d6
VS
283432010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28344
28345 Remove grub-mkisofs.
28346
28347 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
28348 (grub_mkisofs_SOURCES): Removed.
28349 (grub_mkisofs_CFLAGS): Removed.
28350 * util/mkisofs/defaults.h: Removed.
28351 * util/mkisofs/eltorito.c: Likewise.
28352 * util/mkisofs/exclude.h: Likewise.
28353 * util/mkisofs/hash.c: Likewise.
28354 * util/mkisofs/include/: Likewise.
28355 * util/mkisofs/include/fctldefs.h: Likewise.
28356 * util/mkisofs/include/mconfig.h: Likewise.
28357 * util/mkisofs/include/prototyp.h: Likewise.
28358 * util/mkisofs/include/statdefs.h: Likewise.
28359 * util/mkisofs/iso9660.h: Likewise.
28360 * util/mkisofs/joliet.c: Likewise.
28361 * util/mkisofs/match.c: Likewise.
28362 * util/mkisofs/match.h: Likewise.
28363 * util/mkisofs/mkisofs.c: Likewise.
28364 * util/mkisofs/mkisofs.h: Likewise.
28365 * util/mkisofs/msdos_partition.h: Likewise.
28366 * util/mkisofs/multi.c: Likewise.
28367 * util/mkisofs/name.c: Likewise.
28368 * util/mkisofs/rock.c: Likewise.
28369 * util/mkisofs/tree.c: Likewise.
28370 * util/mkisofs/write.c: Likewise.
28371
5dde9afe
VS
283722010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28373
28374 Unify grub-mkimage accross platforms.
28375
28376 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
28377 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
28378 (grub_mkelfimage_SOURCES): Removed.
28379 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
28380 (util/grub-mkimage.c_DEPENDENCIES): .. this.
28381 (bin_UTILITIES): Add grub-mkimage.
28382 (grub_mkimage_SOURCES): New variable.
28383 (kernel_img_HEADERS): Remove machine/kernel.h.
28384 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
28385 (pkglib_PROGRAMS): Add kernel.img.
28386 (kernel_img_HEADERS): Add machine/kernel.h.
28387 (kernel_img_FORMAT): Removed.
28388 (bin_UTILITIES): Remove grub-mkimage.
28389 (grub_mkimage_SOURCES): Removed.
28390 (grub_mkimage_CFLAGS): Likewise.
28391 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28392 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
28393 (pkglib_PROGRAMS): Add kernel.img.
28394 (bin_UTILITIES): Remove grub-mkimage.
28395 (grub_mkimage_SOURCES): Removed.
28396 (grub_mkimage_CFLAGS): Likewise.
28397 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28398 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
28399 (pkglib_PROGRAMS): Add kernel.img.
28400 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
28401 (pkglib_PROGRAMS): Add kernel.img.
28402 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
28403 (grub_mkimage_SOURCES): Removed.
28404 (grub_mkimage_CFLAGS): Likewise.
28405 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28406 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
28407 (pkglib_PROGRAMS): Add kernel.img.
28408 (bin_UTILITIES): Remove grub-mkimage.
28409 (grub_mkimage_SOURCES): Removed.
28410 (grub_mkimage_CFLAGS): Likewise.
28411 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28412 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
28413 (grub_mkimage_SOURCES): Removed.
28414 (grub_mkimage_CFLAGS): Likewise.
28415 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28416 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
28417 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
28418 (grub_pe32_optional_header): ... this.
28419 (grub_pe64_optional_header): ... and this. All users updated.
28420 (GRUB_PE32_PE32_MAGIC): Split into ..
28421 (GRUB_PE32_PE32_MAGIC): .. this.
28422 (GRUB_PE32_PE64_MAGIC): .. and this.
28423 (GRUB_PE32_SIGNATURE_SIZE): New definition.
28424 * include/grub/elf.h (PT_GNU_STACK): New definition.
28425 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
28426 * include/grub/i386/efi/kernel.h: Likewise.
28427 * include/grub/i386/kernel.h: Likewise.
28428 * include/grub/i386/pc/kernel.h: Likewise.
28429 * include/grub/i386/qemu/boot.h: Likewise.
28430 * include/grub/mips/kernel.h: Likewise.
28431 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28432 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28433 * include/grub/powerpc/kernel.h: Likewise.
28434 * include/grub/sparc64/ieee1275/boot.h: Likewise.
28435 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28436 * include/grub/sparc64/kernel.h: Likewise.
28437 * include/grub/x86_64/efi/kernel.h: Likewise.
28438 * include/grub/x86_64/kernel.h: Likewise.
28439 * include/grub/offsets.h: New file.
28440 * include/grub/kernel.h (grub_module_info): Split into ...
28441 (grub_module_info32): ... this.
28442 (grub_module_info64): ... and this.
28443 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
28444 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
28445 (grub_boot_blocklist): Moved from here ...
28446 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
28447 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
28448 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
28449 * include/grub/types.h (grub_target_to_host16): Removed.
28450 (grub_target_to_host32): Likewise.
28451 (grub_target_to_host64): Likewise.
28452 (grub_host_to_target16): Likewise.
28453 (grub_host_to_target32): Likewise.
28454 (grub_host_to_target64): Likewise.
28455 (grub_host_to_target_addr): Likewise.
28456
28457 Support grub-mkrescue for efi, coreboot and qemu.
28458
28459 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
28460 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
28461 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
28462 * util/grub-mkrawimage.c: Moved from here ...
28463 * util/grub-mkimage.c: ... here. All users updated.
28464 (ALIGN_ADDR): Use image_target.
28465 (TARGET_NO_FIELD): New const.
28466 (image_target_desc): New type.
28467 (image_targets): New array.
28468 (grub_target_to_host64): Use image_target.
28469 (grub_target_to_host32): Likewise.
28470 (grub_target_to_host16): Likewise.
28471 (grub_host_to_target64): Likewise.
28472 (grub_host_to_target32): Likewise.
28473 (grub_host_to_target16): Likewise.
28474 (grub_host_to_target_addr): Likewise.
28475 (generate_image): Handle multiimage.
28476 (main): Require -O parameter. All users updated.
28477 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
28478 util/efi/grub-mkimage.c
28479 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
28480 New option --rom-directory.
28481 Use xorriso.
28482 * util/i386/efi/grub-mkimage.c: Removed.
28483 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
28484 (grub_target_to_host32): Likewise.
28485 (grub_target_to_host64): Likewise.
28486 (grub_host_to_target16): Likewise.
28487 (grub_host_to_target32): Likewise.
28488 (grub_host_to_target64): Likewise.
28489 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
28490 (grub_target_to_host32): Likewise.
28491 (grub_target_to_host64): Likewise.
28492 (grub_host_to_target16): Likewise.
28493 (grub_host_to_target32): Likewise.
28494 (grub_host_to_target64): Likewise.
28495
f4fc97d0
BC
284962010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
28497
28498 Source tree is reorganized for emu build.
28499
28500 * include/grub/util/console.h: Move from here...
28501 * include/grub/emu/console.h: ...to here.
28502 * include/grub/util/getroot.h: Move from here...
28503 * include/grub/emu/getroot.h: ...to here.
28504 * include/grub/util/hostdisk.h: Move from here...
28505 * include/grub/emu/hostdisk.h: ...to here.
28506 * util/console.c: Move from here...
28507 * kern/emu/console.c: ...to here.
28508 * util/getroot.c: Move from here...
28509 * kern/emu/getroot.c: ...to here.
28510 * util/grub-emu.c: Move from here...
28511 * kern/emu/main.c: ...to here.
28512 * util/hostdisk.c: Move from here...
28513 * kern/emu/hostdisk.c: ...to here.
28514 * util/hostfs.c: Move from here...
28515 * kern/emu/hostfs.c: ...to here.
28516 * util/mm.c: Move from here...
28517 * kern/emu/mm.c: ...to here.
28518 * util/pci.c: Move from here...
28519 * bus/emu/pci.c: ...to here.
28520 * util/sdl.c: Move from here...
28521 * video/emu/sdl.c: ...to here.
28522 * util/time.c: Move from here...
28523 * kern/emu/time.c: ...to here.
28524 * util/usb.c: Move from here...
28525 * bus/usb/emu/usb.c: ...to here.
28526
28527 * include/grub/emu/misc.h: New header for grub-emu functions.
28528 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
28529
28530 * conf/any-emu.rmk: Rule updates for above renames.
28531 * conf/common.rmk: Likewise.
28532 * conf/i386-pc.rmk: Likewise.
28533 * conf/i386-qemu.rmk: Likewise.
28534 * conf/mips.rmk: Likewise.
28535 * conf/sparc64-ieee1275.rmk: Likewise.
28536 * conf/x86-efi.rmk: Likewise.
28537
28538 * disk/lvm.h: #include updates for above renames.
28539 * util/grub-mkrelpath.c: Likewise.
28540 * util/grub-probe.c: Likewise.
28541 * util/i386/pc/grub-setup.c: Likewise.
28542 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28543 * kern/emu/console.c: Likewise.
28544 * kern/emu/getroot.c: Likewise.
28545 * kern/emu/hostdisk.c: Likewise.
28546 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
28547
28548 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
28549 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
28550 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
28551 * util/misc.c: Remove grub-emu functions.
28552
cced9145
VS
285532010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
28554
28555 Fix gfxmenu crash.
28556 Reported by: Thorsten Grützmacher.
28557
28558 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
28559 timeout hook.
28560 (circprog_set_property): Register and unregister timeout hook.
28561 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
28562 (label_destroy): Free template. and unregister hook.
28563 (label_set_state): New function.
28564 (label_set_property): Handle templates and hooks.
28565 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
28566 timeout hook.
28567 (progress_bar_set_property): Register and unregister timeout hook.
28568 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
28569 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
28570 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
28571 (update_timeout_visit): Removed.
28572 (update_timeouts): New function.
28573 (redraw_timeouts): Likewise.
28574 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
28575 (grub_gfxmenu_clear_timeout): Likewise.
28576 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
28577 (grub_gfxmenu_timeout_notify): Likewise.
28578 (grub_gfxmenu_timeout_notifications): New external variable.
28579 (grub_gfxmenu_timeout_register): New function.
28580 (grub_gfxmenu_timeout_unregister): Likewise.
28581
c6e5caab
VS
285822010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28583
28584 Transform (broken) vga terminal into (working) vga video driver.
28585
28586 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
28587 video/i386/pc/vga.c.
28588 * include/grub/video.h (grub_video_driver_id):
28589 Add GRUB_VIDEO_DRIVER_VGA.
28590 * term/i386/pc/vga.c: Renamed to ...
28591 * video/i386/pc/vga.c: ...this
28592 (DEBUG_VGA): Removed.
28593 (CHAR_WIDTH): Likewise.
28594 (CHAR_HEIGHT): Likewise.
28595 (TEXT_WIDTH): Likewise.
28596 (TEXT_HEIGHT): Likewise.
28597 (DEFAULT_FG_COLOR): Likewise.
28598 (DEFAULT_BG_COLOR): Likewise.
28599 (colored_char): Likewise.
28600 (xpos): Likewise.
28601 (ypos): Likewise.
28602 (cursor_state): Likewise.
28603 (fg_color): Likewise.
28604 (bg_color): Likewise.
28605 (text_buf): Likewise.
28606 (page): Likewise.
28607 (font): Likewise.
28608 (framebuffer): New variable.
28609 (set_read_map): Disabled.
28610 (setup): New variable.
28611 (is_target): Likewise.
28612 (grub_vga_mod_init): Likewise.
28613 (grub_vga_mod_fini): Likewise.
28614 (check_vga_mem): Likewise.
28615 (write_char): Likewise.
28616 (write_cursor): Likewise.
28617 (scroll_up): Likewise.
28618 (grub_vga_putchar): Likewise.
28619 (grub_vga_getcharwidth): Likewise.
28620 (grub_vga_getwh): Likewise.
28621 (grub_vga_getxy): Likewise.
28622 (grub_vga_gotoxy): Likewise.
28623 (grub_vga_cls): Likewise.
28624 (grub_vga_setcolorstate): Likewise.
28625 (grub_vga_setcursor): Likewise.
28626 (grub_video_vga_init): New function.
28627 (grub_video_vga_setup): Likewise.
28628 (grub_video_vga_fini): Likewise.
28629 (update_target): Likewise.
28630 (grub_video_vga_blit_bitmap): Likewise.
28631 (grub_video_vga_blit_render_target): Likewise.
28632 (grub_video_vga_set_active_render_target): Likewise.
28633 (grub_video_vga_get_active_render_target): Likewise.
28634 (grub_video_vga_swap_buffers): Likewise.
28635 (grub_video_vga_set_palette): Likewise.
28636 (grub_video_vga_get_info_and_fini): Likewise.
28637 (grub_vga_term): Removed.
28638 (grub_video_vga_adapter): New variable.
28639 (GRUB_MOD_INIT): Register a video driver instead of terminal.
28640 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
28641
2bf61a98
VS
286422010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28643
28644 * video/readers/jpeg.c: Indented.
28645
09ddcd11
VS
286462010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28647
28648 Various jpeg cleanups.
28649
28650 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
28651 (grub_jpeg_decode_quan_table): Use sizeof.
28652 (grub_jpeg_decode_du): Use ARRAY_SIZE.
28653
e5507505
PH
286542010-05-05 Peter Hurley <No e-mail available> (tiny change)
28655
28656 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
28657 tables. Ignore non-last ac bit.
28658 (grub_jpeg_decode_quan_table): Likewise.
28659
7e720a9b
VS
286602010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28661
28662 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
28663 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
28664 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28665 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
28666 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
28667 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
28668
a7fc080b
VS
286692010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28670
28671 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
28672 error.
28673
2bf6012d
VS
286742010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28675
28676 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
28677
265d68cd
VS
286782010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28679
28680 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
28681 condition.
28682
286832010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
28684
28685 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
28686 part.
28687
265d68cd 286882010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
28689
28690 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
28691 pointers.
28692
265d68cd 286932010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
28694
28695 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
28696
d1b61374
CF
286972010-05-01 Christian Franke <franke@computer.org>
28698
28699 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
28700 Remove broken Cygwin path conversion.
28701 * util/misc.c: [__CYGWIN__] Add include and define.
28702 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
28703 for Cygwin 1.7.
28704 (make_system_path_relative_to_its_root): Simplify loop, replace early
28705 return by break.
28706 [__CYGWIN__] Add conversion to win32 path.
28707 Include "/" case in trailing slash removal.
28708
3558c6e9
VS
287092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28710
28711 * kern/main.c (grub_load_config): Fix copy-pasted comment.
28712 Reported by: Seth Goldberg
28713
f5f3ff93
VS
287142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28715
28716 * commands/help.c (grub_cmd_help): Fix a typo.
28717 Reported by: Seth Goldberg
28718
d8b5cd40
VS
287192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28720
28721 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
28722 name and add N_.
28723 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
28724 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
28725 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
28726 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
28727 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
28728 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
28729 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28730 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28731 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28732 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28733 * normal/context.c (GRUB_MOD_INIT): Likewise.
28734 * normal/main.c (GRUB_MOD_INIT): Likewise.
28735 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28736 * term/serial.c (GRUB_MOD_INIT): Likewise.
28737 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28738
88c14915
VS
287392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28740
28741 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
28742 extra == 0.
28743
165134bc
VS
287442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28745
28746 * commands/iorw.c: New file.
28747 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
28748 (iorw_mod_SOURCES): New variable.
28749 (iorw_mod_CFLAGS): Likewise.
28750 (iorw_mod_LDFLAGS): Likewise.
28751
c5ac9b32
VS
287522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28753
28754 Hotkey support
28755
28756 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
28757 * normal/main.c (hotkey_aliases): New variable.
28758 (grub_normal_add_menu_entry): Parse "--hotkey".
28759 * normal/menu_text.c (run_menu): Handle hotkeys.
28760
ce60689c
VS
287612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28762
28763 * kern/i386/coreboot/init.c (grub_machine_init): Call
28764 grub_machine_mmap_init on qemu.
28765
0359d006
VS
287662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28767
28768 * boot/i386/qemu/boot.S: Add a missing .code16.
28769
7819a456
VS
287702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28771
28772 Use LBIO on coreboot.
28773
28774 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
28775 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
28776 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
28777 New declaration.
28778 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
28779 grub_machine_mmap_init on coreboot.
28780 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
28781 GRUB_LINUXBIOS_MEMBER_LINK.
28782 (grub_machine_mmap_iterate): Fix declaration.
28783 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
28784
7210dca9
VS
287852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28786
28787 Split coreboot and multiboot ports.
28788
28789 * conf/i386-multiboot.rmk: New file.
28790 * configure.ac: Add multiboot port.
28791 * include/grub/i386/multiboot/boot.h: New file.
28792 * include/grub/i386/multiboot/console.h: Likewise.
28793 * include/grub/i386/multiboot/init.h: Likewise.
28794 * include/grub/i386/multiboot/kernel.h: Likewise.
28795 * include/grub/i386/multiboot/loader.h: Likewise.
28796 * include/grub/i386/multiboot/memory.h: Likewise.
28797 * include/grub/i386/multiboot/serial.h: Likewise.
28798 * include/grub/i386/multiboot/time.h: Likewise.
28799 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
28800 * loader/multiboot.c: Likewise.
28801 * loader/multiboot_mbi2.c: Likewise.
28802 * util/grub-mkrescue.in: Generate multiboot rescue.
28803
6f8aaf68
VS
288042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28805
3080f7a7
VS
28806 * kern/parser.c (grub_parser_execute): Cope with read-only config.
28807
288082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28809
28810 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
28811
28812 * commands/terminal.c (abstract_terminal): New struct.
28813 (handle_command): New function. Based on grub_cmd_terminal_input.
28814 (grub_cmd_terminal_input): Use handle_command.
28815 (grub_cmd_terminal_output): Use handle_command.
28816
a8ebb841
BC
288172010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
28818
28819 Fix comment handling.
28820
28821 * tests/grub_script_comments.in: New testcase.
28822 * conf/tests.rmk: Rules for new testcase.
28823 * script/yylex.l: Updated flex rules.
28824
bb06ba08
ST
288252010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
28826
28827 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
28828 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
28829 if argc is 1.
bb06ba08 28830
cc9d2425
VS
288312010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28832
28833 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
28834 autogen issues.
28835
460d8402
CF
288362010-04-26 Christian Franke <franke@computer.org>
28837
28838 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
28839 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
28840 (grub_get_prefix): Remove function.
28841 * util/grub-emu.c (main): Replace grub_get_prefix () call by
28842 make_system_path_relative_to_its_root ().
28843 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
28844
553c01f9
CF
288452010-04-24 Christian Franke <franke@computer.org>
28846
28847 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
28848 (kernel_img_LDFLAGS): Remove -static-libgcc.
28849
2aec1692
CF
288502010-04-24 Christian Franke <franke@computer.org>
28851
28852 * configure.ac: Do not CHECK_BSS_START_SYMBOL
28853 and CHECK_END_SYMBOL if grub-emu is built.
28854 Unset TARGET_OBJ2ELF if grub-emu is built
28855 without module support.
28856
f67dc308
JS
288572010-04-24 Jiro SEKIBA <jir@unicus.jp>
28858
28859 Nilfs2 support.
28860
28861 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
28862 (grub_fstest_SOURCES): Likewise.
28863 (pkglib_MODULES): Add nilfs2.mod.
28864 (nilfs2_mod_SOURCES): New variable.
28865 (nilfs2_mod_CFLAGS): Likewise.
28866 (nilfs2_mod_LDFLAGS): Likewise.
28867 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28868 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28869 * fs/nilfs2.c: New file.
28870
4ba8d354
VS
288712010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
28872
28873 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
28874 is not supported.
28875
0d2c20c6
GS
288762010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
28877
28878 Add grub-mkconfig support for NetBSD.
28879
28880 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
28881 * util/grub-mkconfig.in: export new NetBSD specific variables.
28882 * po/POTFILES-shell: added 10_netbsd.in.
28883 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
28884
bc4a2d83
BC
288852010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
28886
28887 Fix emu build with grub-emu-pci and grub-emu-modules.
28888
28889 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
28890 functions.
28891 * include/grub/libpciaccess.h: New file.
28892 * conf/any-emu.rmk: Update kernel headers for emu build.
28893
f48c87aa
VS
288942010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28895
28896 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
28897
18959385
VS
288982010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28899
28900 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
28901
0037de3f
VS
289022010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28903
28904 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
28905 Retrieve chosen/bootpath if bootpath isn't hardcoded.
28906 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
28907 util/ieee1275/ofpath.c.
28908 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
28909 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
28910 * include/grub/sparc64/ieee1275/boot.h
28911 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
28912 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
28913 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
28914 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
28915 const char *.
28916 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
28917 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
28918 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
28919 install.
28920
38e55e90
GS
289212010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
28922
28923 * util/grub-mkconfig.in: Corrected two == equality tests.
28924 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
28925 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
28926 expect a number appended to it.
28927 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
28928 expects a number appended to it.
28929
a9e6ff28
VS
289302010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28931
28932 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
28933
0b830b8f
VS
289342010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28935
28936 * util/hostdisk.c (make_device_name): Change to new partition naming.
28937
0973daeb
VS
289382010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
28939
28940 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
28941
460d8402 289422010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
28943
28944 * Makefile.in: Add missing localedir setting.
28945
0b456309
CW
289462010-04-14 Colin Watson <cjwatson@ubuntu.com>
28947
28948 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
28949 mistake in r2156. Noticed by Anthony Fok.
28950
28951 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
28952 @localedir@.
28953 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28954
08f46d62
BC
289552010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
28956
28957 Fix a spurious, uninitialized variable warning.
28958
28959 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
28960 Initialize variable, shdr.
28961 (grub_freebsd_load_elfmodule): Likewise.
28962 (grub_freebsd_load_elf_meta): Likewise.
28963
8c4a72d4
BC
289642010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
28965
28966 Fix for escaped dollar in double quoted strings.
28967
28968 * script/yylex.l: Updated flex rules.
28969 * conf/tests.rmk: Rule for new testcase.
28970 * tests/grub_script_dollar.in: New testcase.
28971
ce44826e
CPE
289722010-04-13 Carles Pina i Estany <carles@pina.cat>
289732010-04-13 Colin Watson <cjwatson@ubuntu.com>
28974
28975 Enclose all translated strings in grub.cfg in single quotes, and
28976 escape them appropriately (Ubuntu bug #552921).
28977
28978 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
28979 * util/grub.d/10_hurd.in: Use it.
28980 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28981 * util/grub.d/10_linux.in (linux_entry): Likewise.
28982
4b0cd8f8
VS
289832010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28984
28985 Fix cygwin compilation.
28986
28987 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
28988 * include/grub/misc.h (__register_frame_info)
28989 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
28990 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28991 * kern/misc.c (__register_frame_info)
28992 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
28993 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28994
01fcf061
VS
289952010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28996
28997 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
28998
5d04b11e
VS
289992010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29000
29001 Unify libgcc processing.
29002
29003 * Makefile.in (kernel_img_LDFLAGS): New variable.
29004 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
29005 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
29006 overwriting.
29007 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
29008 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
29009 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
29010 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
29011 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
29012 overwriting. Remove -lgcc and -static-libgcc
29013 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
29014 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29015 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29016 (kernel_img_LDFLAGS): Append instead of overwriting.
29017 Remove -lgcc and -static-libgcc
29018 * conf/sparc64-ieee1275.rmk: Likewise.
29019 * include/grub/powerpc/libgcc.h: Move to ...
29020 * include/grub/libgcc.h: .. this.
29021 * include/grub/libgcc.h: Don't export most of the function on x86.
29022 (__bswapsi2): New export.
29023 (__bswapdi2): Likewise.
29024 * include/grub/mips/libgcc.h: Removed.
29025 * include/grub/sparc64/libgcc.h: Likewise.
29026
b7f3ac29
VS
290272010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29028
29029 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
29030 disk_info_msg (conflicts with gettexting into languages with cases).
29031
2c7031b1
GS
290322010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
29033
29034 Add grub-probe support for NetBSD.
29035
29036 * util/getroot.c (find_root_device): Convert block device to
29037 character device on NetBSD.
29038 * util/probe.c (probe): Require character device on NetBSD.
29039 * util/hostdisk.c: NetBSD specific headers.
29040 (configure_device_driver): new function to tune device driver
29041 parameters (currently only for NetBSD floppy driver).
29042 (grub_util_biosdisk_open): NetBSD specific code (get disk size
29043 via disklabel ioctl).
29044 (open_device): call configure_device_driver on NetBSD.
29045 (convert_system_partition_to_system_disk): NetBSD specific code.
29046 (device_is_wholedisk): Likewise.
29047 (grub_util_biosdisk_get_grub_dev): Likewise.
29048 (make_device_name): Fixed a typo in bsd_part_str.
29049 * configure.ac: check for opendisk() and getrawpartition() on
29050 NetBSD and set LIBUTIL.
29051 * Makefile.in: add LIBUTIL to LIBS.
29052
f516290c
BC
290532010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29054
29055 Documentation fix.
29056
29057 * util/grub-script-check.c: Better help message.
29058
d8dcc0df
BC
290592010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29060
29061 Fix FreeBSD build.
29062
29063 * configure.ac: Flex version check.
29064 * conf/common.rmk: Add -Wno-error to sh.mod.
29065 * script/yylex.l: Remove all #pragma.
29066
6734334a
VS
290672010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29068
29069 * include/grub/util/misc.h (canonicalise_file_name): Add missing
29070 prototype.
29071 Reported by: Seth Goldberg.
29072
daea6abd
VS
290732010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29074
29075 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
29076 Rename "module" to "module2".
29077 Reported by: Seth Goldberg.
29078
f2fd9d2b
VS
290792010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29080
29081 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
29082 EXPORT_FUNC.
29083 Reported by: Seth Goldberg.
29084
be124579
VS
290852010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29086
29087 * lib/posix_wrap/locale.h: Add missing file.
29088 Reported by: Seth Goldberg.
29089
ef5da797
VS
290902010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29091
29092 grub-emu module load support.
29093
29094 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
29095 NO_DYNAMIC_MODULES switched to this.
29096 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
29097 (CFLAGS): Likewise.
29098 * conf/any-emu.rmk: Generate symlist.
29099 (kernel_img_HEADERS): Add util/datetime.h.
29100 (kernel_img_HEADERS) [sdl]: Add sdl.h.
29101 (kernel_img_HEADERS) [libusb]: Add libusb.h.
29102 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
29103 kern/$(target_cpu)/cache.S.
29104 * configure.ac (grub-emu-modules): New option.
29105 * genmk.rb: Handle multiple source lists.
29106 * include/grub/sdl.h: New file.
29107 * include/grub/libusb.h: Likewise.
29108 * util/grub-emu.c (main): Hanle (host) root.
29109 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
29110 GRUB_ERR_UNKNOWN_DEVICE.
29111 * util/misc.c: Move mm functions to ...
29112 * util/mm.c: ... here. All users updated.
29113
47822096
VS
291142010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29115
29116 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
29117 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
29118 missing files.
29119 (maintainer-clean): Remove libgcrypt-grub.
29120
5d7e7445
VS
291212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29122
29123 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
29124
25f4e252
EC
291252010-04-09 EFI Coder <eficoder@hotmail.com>
29126
29127 * normal/menu_text.c (print_message): Clean up the message and show
29128 the Fn information when on EFI
29129 * term/efi/console.c (grub_console_checkkey): Add F4 support.
29130
027de555
VS
291312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29132
29133 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
29134 All users updated.
29135 * normal/crypto.c (read_crypto_list): Likewise.
29136 * normal/dyncmd.c (read_command_list): Likewise.
29137 * normal/term.c (read_terminal_list): Likewise.
29138 * normal/main.c (read_lists): Use explicit prefix.
29139 (read_lists_hook): Use read_lists.
29140 (grub_normal_execute): Likewise.
29141
47779711
VS
291422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29143
29144 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
29145 Reported by: Thomas Schmitt.
29146 Add -no-emul-boot to grub-mkisofs parameters.
29147
1118c32e
VS
291482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29149
29150 * font/font.c: Indented.
29151
7d652447
BC
291522010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29153
29154 Elif support to GRUB script (by Deepak Vankadaru).
29155
29156 * tests/grub_script_if.in: New testcase.
29157 * conf/tests.rmk: Rule for new testcase.
29158 * script/parser.y: Grammar rules for elif.
29159
34bb22df
BC
291602010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29161
29162 While and until loops support to GRUB script.
29163
29164 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
29165 (grub_script_create_cmdwhile): New function prototype.
29166 (grub_script_execute_cmdwhile): New function prototype.
29167 * script/execute.c (grub_script_execute_cmdwhile): New function.
29168 * script/parser.y (command): New commands.
29169 (whilecmd): New grammar rule.
29170 (untilcmd): New grammar rule.
29171 * script/script.c (grub_script_create_cmdwhile): New function.
29172 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
29173 function.
29174
29175 * tests/grub_script_while1.in: New testcase.
29176 * conf/tests.rmk: Rule for new testcase.
29177
e215d8e0
VS
291782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29179
29180 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
29181 as *.jpg.
29182
d7c43ba1
MV
291832010-04-09 Mario Vazquez <mariovazq@gmail.com>
29184
29185 GRUB_BACKGROUND support.
29186
29187 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
29188 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
29189
d64795c0
VS
291902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29191
29192 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 29193 Idea by: Mario Vazquez
d64795c0
VS
29194
29195 * util/grub.d/00_header.in: Load pf2 and image modules.
29196
f267f83a
VS
291972010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29198
29199 grub-mkconfig multiple terminal support.
29200
29201 * util/grub-mkconfig.in: Handle multiple terminals correctly.
29202 * util/grub.d/00_header.in: Likewise.
29203
b7841ceb
VS
292042010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29205
29206 * Makefile.in: Specify files explicitly instead of using $< and $@ since
29207 we use cd $(srcdir).
29208
df60998c
CW
292092010-04-08 Colin Watson <cjwatson@ubuntu.com>
29210
29211 * util/grub.d/10_linux.in: Only use the first word of
29212 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
29213 spaces in GRUB_DISTRIBUTOR.
29214 * util/grub.d/10_kfreebsd.in: Likewise.
29215 * util/grub.d/10_hurd.in: Likewise.
29216
fa09c82e
BC
292172010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
29218
14e18ae3 29219 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
29220
29221 * tests/util/grub-shell.in: Remove -serial stdio option.
29222
daf892b3
BC
292232010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
29224
29225 POSIX header file wrappers.
29226
29227 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
29228 equivalents.
29229 * lib/posix_wrap/ctype.h: Likewise.
29230 * lib/posix_wrap/errno.h: Likewise.
29231 * lib/posix_wrap/langinfo.h: Likewise.
29232 * lib/posix_wrap/limits.h: Likewise.
29233 * lib/posix_wrap/localcharset.h: Likewise.
29234 * lib/posix_wrap/stdint.h: Likewise.
29235 * lib/posix_wrap/stdio.h: Likewise.
29236 * lib/posix_wrap/stdlib.h: Likewise.
29237 * lib/posix_wrap/string.h: Likewise.
29238 * lib/posix_wrap/sys/types.h: Likewise.
29239 * lib/posix_wrap/unistd.h: Likewise.
29240 * lib/posix_wrap/wchar.h: Likewise.
29241 * lib/posix_wrap/wctype.h: Likewise.
29242 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
29243 (grub_script.yy.h): Likewise.
29244 * script/yylex.l: Remove POSIX emulation #defines.
29245 * Makefile.in (POSIX_CFLAGS): New variable.
29246 (GNULIB_UTIL_CFLAGS): Likewise.
29247
29248 Regexp support.
29249
29250 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
29251 (regexp_mod_SOURCES): New variable.
29252 (regexp_mod_CFLAGS): Likewise.
29253 (regexp_mod_LDFLAGS): Likewise.
29254 * commands/regexp.c: New file.
29255 * gnulib/regcomp.c: New file. Imported from gnulib.
29256 * gnulib/regex.c: Likewise.
29257 * gnulib/regex_internal.c: Likewise.
29258 * gnulib/regex_internal.h: Likewise.
29259 * gnulib/regexec.c: Likewise.
29260 * gnulib/regex.h: Likewise.
29261
974ac4f7
VS
292622010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29263
29264 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
29265 unsupported video mode types.
29266
2622c3ff
VS
292672010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29268
29269 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
29270
064cb524
VS
292712010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29272
29273 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
29274 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
29275
a8c3b552
VS
292762010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29277
29278 Remove unused grub_vga_get_font.
29279
29280 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
29281 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
29282
187bbe3d
GS
292832010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29284
29285 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
29286 * include/grub/misc.h: Likewise.
29287
b9396631
GS
292882010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29289
29290 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
29291 for which failure is fatal.
29292
50479feb
GS
292932010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29294
29295 * util/grub-install.in: Use mkdir -p to create grub directory.
29296 * util/i386/efi/grub-install.in: Likewise.
29297 * util/ieee1275/grub-install.in: Likewise.
29298
b1654fdf
GS
292992010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29300
29301 * Makefile.in (LEX): new variable.
29302
bd5a6415
GS
293032010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29304
29305 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
29306 `=' and added double quotes on operands of this equality test.
29307
3db3a82b
VS
293082010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29309
29310 * Makefile.in (uninstall): Remove a leftover debug echo.
29311 Reported by: Grégoire Sutre
29312
38023412
VS
293132010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29314
29315 MIPS multiboot2 support.
29316
29317 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
29318 (multiboot2_mod_SOURCES): New variable.
29319 (multiboot2_mod_CFLAGS): Likewise.
29320 (multiboot2_mod_LDFLAGS): Likewise.
29321 (multiboot2_mod_ASFLAGS): Likewise.
29322 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
29323 definition.
29324 (MULTIBOOT_ENTRY_REGISTER): Likewise.
29325 (MULTIBOOT_MBI_REGISTER): Likewise.
29326 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
29327 (MULTIBOOT_ELF32_MACHINE): Likewise.
29328 (MULTIBOOT_ELF64_MACHINE): Likewise.
29329 * include/grub/mips/multiboot.h: New file.
29330 * include/grub/video.h (grub_video_driver_id): New type
29331 GRUB_VIDEO_DRIVER_SM712.
29332 (grub_video_get_info_and_fini): Export.
29333 (grub_video_get_palette): Likewise.
29334 (grub_video_get_driver_id): Likewise.
29335 * include/multiboot2.h: Resynced with spec.
29336 * loader/i386/multiboot.c: Moved from here ...
29337 * loader/multiboot.c: ... here. All users updated.
29338 (grub_multiboot_boot): Use platform-specific macros.
29339 * loader/i386/multiboot_elfxx.c: Moved from here ...
29340 * loader/multiboot_elfxx.c: ... here. All users updated.
29341 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
29342 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
29343 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
29344
47674667
VS
293452010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
29346
29347 Import gnulib argp module.
29348
29349 * gnulib/argp-ba.c: New file.
29350 * gnulib/argp-eexst.c: Likewise.
29351 * gnulib/argp-fmtstream.c: Likewise.
29352 * gnulib/argp-fmtstream.h: Likewise.
29353 * gnulib/argp-fs-xinl.c: Likewise.
29354 * gnulib/argp-help.c: Likewise.
29355 * gnulib/argp-namefrob.h: Likewise.
29356 * gnulib/argp-parse.c: Likewise.
29357 * gnulib/argp-pin.c: Likewise.
29358 * gnulib/argp-pv.c: Likewise.
29359 * gnulib/argp-pvh.c: Likewise.
29360 * gnulib/argp-version-etc.c: Likewise.
29361 * gnulib/argp-version-etc.h: Likewise.
29362 * gnulib/argp-xinl.c: Likewise.
29363 * gnulib/argp.h: Likewise.
29364
495442ed
VS
293652010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29366
29367 * kern/device.c (grub_device_iterate): Clear errors after failed
29368 opening device.
29369
f9fd65df
VS
293702010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29371
29372 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
29373 returned by firmware.
29374
af09641e
VS
293752010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
29376
29377 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
29378 compilation on coreboot and qemu
29379
016883a5
VS
293802010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29381
29382 * include/multiboot2.h: Resync with spec.
29383
f97e1f7d
VS
293842010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29385
29386 Multiboot2 tag support
29387
29388 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
29389 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
29390 Remove loader/multiboot_loader.c.
29391 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
29392 (grub_multiboot2_real_boot): Likewise.
29393 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
29394 (grub_get_multiboot_mmap_count): New proto.
29395 (grub_fill_multiboot_mmap): Likewise.
29396 (grub_multiboot_set_video_mode): Likewise.
29397 (grub_multiboot_set_console): Likewise.
29398 (grub_multiboot_load): Likewise.
29399 (grub_multiboot_load_elf): Likewise.
29400 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
29401 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
29402 * include/multiboot.h: Resynced with specification.
29403 * include/multiboot2.h: Resynced with specification.
29404 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
29405 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
29406 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
29407 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
29408 users updated.
29409 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
29410 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
29411 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
29412 Removed.
29413 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
29414 Moved from here...
29415 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
29416 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
29417 Moved from here...
29418 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
29419 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
29420 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
29421 All users updated.
29422 * loader/i386/multiboot_mbi2.c: New file.
29423
3506b90b
VS
294242010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29425
29426 Resync with gnulib.
29427
29428 * Makefile.in (GNULIB_CFLAGS): New variable.
29429 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
29430 (grub_script_check_CFLAGS): New variable.
29431 * gnulib/alloca.h: Resync with gnulib.
29432 * gnulib/error.c: Likewise.
29433 * gnulib/error.h: Likewise.
29434 * gnulib/fnmatch.c: Likewise.
29435 * gnulib/fnmatch_loop.c: Likewise.
29436 * gnulib/getdelim.c: Likewise.
29437 * gnulib/getline.c: Likewise.
29438 * gnulib/getopt.c: Likewise.
29439 * gnulib/getopt1.c: Likewise.
29440 * gnulib/getopt_int.h: Likewise.
29441 * gnulib/gettext.h: Likewise.
29442 * gnulib/progname.c: Likewise.
29443 * gnulib/progname.h: Likewise.
29444
394a3120
GS
294452010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
29446
29447 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
29448 which is the case with --disabled-nls.
29449
29450 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
29451 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
29452 * util/misc.c: Likewise.
29453 * util/mkisofs/mkisofs.c: Likewise.
29454 * util/mkisofs/mkisofs.h: Likewise.
29455
969d1c78
VS
294562010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29457
29458 Simplify Apple CC support.
29459
29460 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
29461 Add 0 byte at the end not to have a symbol with empty target.
29462 * mmap/i386/pc/mmap_helper.S: Likewise.
29463 * genmk.rb: Ignore errors 2030 and 2050.
29464 * kern/i386/pc/startup.S: Use LOCAL when possible.
29465
8d2977bb
BC
294662010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
29467
29468 Testcase and the fix for final semicolon on cmdline.
29469
29470 * tests/grub_script_final_semicolon.in: New testcase.
29471 * conf/tests.rmk: Rules for the new testcase.
29472 * script/parser.y: Grammar fix.
29473
a7bd6915
BC
294742010-03-26 BVK Chaitanya <bvk@localhost>
29475
29476 Blank lines testcase for GRUB script.
29477
29478 * tests/grub_script_blanklines.in: New testcase.
29479 * conf/tests.rmk: Rules for the new testcase.
29480
e4ff6628
VS
294812010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29482
29483 Don't use __FILE__.
29484
29485 * genmk.rb: Add -DGRUB_FILE to all C targets.
29486 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
29487 * include/grub/list.h: Likewise.
29488 * include/grub/misc.h: Likewise.
29489 * include/grub/mm.h: Likewise.
29490 * include/grub/test.h: Likewise.
29491 * kern/mm.c: Likewise.
29492 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29493
6a5cf6b6
VS
294942010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29495
29496 Sunpc partitions support.
29497
29498 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
29499 (grub_fstest_SOURCES): Likewise.
29500 (pkglib_MODULES): Add part_sunpc.mod.
29501 (part_sunpc_mod_SOURCES): New variable.
29502 (part_sunpc_mod_CFLAGS): Likewise.
29503 (part_sunpc_mod_LDFLAGS): Likewise.
29504 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
29505 * partmap/sunpc.c: New file.
29506
746d9045
BC
295072010-03-26 BVK Chaitanya <bvk@localhost>
29508
29509 For loop support to GRUB script.
29510
29511 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
29512 (grub_script_create_cmdfor): New function prototype.
29513 (grub_script_execute_cmdfor): New function prototype.
29514 * script/execute.c (grub_script_execute_cmdfor): New function.
29515 * script/parser.y (command): New for command.
29516 (forcmd): New grammar rule.
29517 * script/script.c (grub_script_create_cmdfor): New function.
29518 * util/grub-script-check.c (grub_script_execute_cmdfor): New
29519 function.
29520 * tests/grub_script_for1.in: New testcase.
29521 * conf/tests.rmk: Rules for new testcase.
29522
18486b18
VS
295232010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29524
29525 Nested partitions
29526
29527 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
29528 'partition' is NULL, grub_partition_get_start already does that.
29529 * commands/loadenv.c (check_blocklists): Likewise.
29530 (write_blocklists): Likewise.
29531 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
29532 (grub_fstest_SOURCES): Likewise.
29533 (pkglib_MODULES): Add part_bsd.mod.
29534 (part_bsd_mod_SOURCES): New variable.
29535 (part_bsd_mod_CFLAGS): Likewise.
29536 (part_bsd_mod_LDFLAGS): Likewise.
29537 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
29538 (grub_emu_SOURCES): Likewise.
29539 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29540 * include/grub/bsdlabel.h: New file.
29541 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
29542 'get_name'.
29543 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
29544 (grub_partition_map_list): New variable.
29545 (grub_partition_map_register): Inline.
29546 (grub_partition_map_unregister): Likewise.
29547 (FOR_PARTITION_MAPS): New macro.
29548 (grub_partition_map_iterate): Removed.
29549 (grub_partition_get_start): Handle nested partitions.
29550 * include/grub/msdos_partition.h: Remove bsd-related entries.
29551 (grub_pc_partition): Remove.
29552 * kern/disk.c (grub_disk_close): Free partition data.
29553 (grub_disk_adjust_range): Handle nested partitions.
29554 * kern/partition.c (grub_partition_map_probe): New function.
29555 (grub_partition_probe): Parse name to number, handle subpartitions.
29556 (get_partmap): New function.
29557 (grub_partition_iterate): Handle subpartitions.
29558 (grub_partition_get_name): Likewise.
29559 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
29560 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
29561 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
29562 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
29563 Set 'number'.
29564 (acorn_partition_map_probe): Remove.
29565 (acorn_partition_map_get_name): Likewise.
29566 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
29567 Set 'number'.
29568 Set 'index' to 0 since there can be only one partition entry per sector.
29569 (amiga_partition_map_probe): Remove.
29570 (amiga_partition_map_get_name): Likewise.
29571 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
29572 Set 'number'.
29573 Set 'offset' and 'index' to real positions of partitions.
29574 (apple_partition_map_probe): Remove.
29575 (apple_partition_map_get_name): Likewise.
29576 * partmap/bsdlabel.c: New file.
29577 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
29578 Set 'number'.
29579 Allocate 'data' so it can be correctly freed.
29580 Set 'index' to offset inside sector.
29581 (gpt_partition_map_probe): Remove.
29582 (gpt_partition_map_get_name): Likewise.
29583 * partmap/msdos.c (grub_partition_parse): Remove.
29584 (pc_partition_map_iterate): Don't force raw access.
29585 Set 'number'.
29586 Make 'ext_offset' a local variable.
29587 (pc_partition_map_probe): Remove.
29588 (pc_partition_map_get_name): Remove.
29589 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
29590 Set 'number'.
29591 (sun_partition_map_probe): Remove.
29592 (sun_partition_map_get_name): Likewise.
29593 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
29594 (grub_pcpart_type): Likewise.
29595 * util/hostdisk.c (open_device): Handle new numbering scheme.
29596 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
29597 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
29598 * util/grub-probe.c (probe_partmap): Handle nested paritions.
29599 * util/grub-install.in: Insert all subpartition modules.
29600 * util/ieee1275/grub-install.in: Likewise.
29601
a3940f88
AG
296022010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
29603
29604 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
29605 grammar.
29606
21b99926 296072010-03-24 Colin Watson <cjwatson@ubuntu.com>
29608
29609 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
29610
bed1d352
CW
296112010-03-21 Colin Watson <cjwatson@ubuntu.com>
29612
29613 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
29614 match where 'make install' puts them.
29615 * util/i386/efi/grub-install.in: Likewise.
29616
c9f58427
CW
296172010-03-19 Colin Watson <cjwatson@ubuntu.com>
29618
29619 * .bzrignore: Add gentrigtables, grub-script-check,
29620 grub_script_check_init.c, grub_script_check_init.h, and
29621 trigtables.c.
29622
f84afb27
VS
296232010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
29624
29625 * kern/parser.c: Indented.
29626
ed0e3d30
VS
296272010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29628
29629 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
29630
0ea81d98
VS
296312010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29632
29633 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
29634 alpha_mask_size == 0 case.
29635
0cdc2a09
BC
296362010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
29637
29638 GRUB shell lexer and parser improvements.
29639
29640 * conf/any-emu.rmk: Build rule updates.
29641 * conf/common.rmk: Likewise.
29642 * conf/i386-coreboot.rmk: Likewise.
29643 * conf/i386-efi.rmk: Likewise.
29644 * conf/i386-ieee1275.rmk: Likewise.
29645 * conf/i386-pc.rmk: Likewise.
29646 * conf/powerpc-ieee1275.rmk: Likewise.
29647 * conf/x86_64-efi.rmk: Likewise.
29648
29649 * configure.ac: Configure check for flex.
29650
29651 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
29652 types.
29653 (grub_lexer_param): Struct member updates.
29654 (grub_parser_param): Likewise.
29655 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
29656 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
29657 (grub_script_lexer_init): Prototype update.
29658 (grub_script_lexer_record_start): Likewise.
29659 (grub_script_lexer_record_stop): Likewise.
29660 (grub_script_lexer_yywrap): New function prototype.
29661 (grub_script_lexer_fini): Likewise.
29662 (grub_script_execute_argument_to_string): Removed by...
29663 (grub_script_execute_argument_to_argv): ...better version.
29664
29665 * script/execute.c (ROUND_UPTO): New macro.
29666 (grub_script_execute_cmdline): Out of memory fixes.
29667 (grub_script_execute_menuentry): Likewise.
29668 (grub_script_execute_argument_to_string): Removed. Update all
29669 users by...
29670 (grub_script_execute_argument_to_argv): ...better version.
29671 * script/function.c (grub_script_function_create): Use
29672 grub_script_execute_argument_to_argv instead of
29673 grub_script_execute_argument_to_string.
29674
29675 * script/lexer.c (check_varstate): Removed.
29676 (check_textstate): Removed.
29677 (grub_script_lexer_record_start): Likewise.
29678 (grub_script_lexer_record_stop): Likewise.
29679 (recordchar): Replaced with...
29680 (grub_script_lexer_record): ...new function.
29681 (nextchar): Removed.
29682 (grub_script_lexer_init): Rewritten.
29683 (grub_script_yylex): Rewritten.
29684 (append_newline): New function.
29685 (grub_script_lexer_yywrap): New function.
29686 (grub_script_lexer_fini): New function.
29687 (grub_script_yyerror): Sets error flag.
29688
29689 * script/yylex.l: New file.
29690 (grub_lexer_yyfree): Wrapper for flex yyffre.
29691 (grub_lexer_yyalloc): Likewise.
29692 (grub_lexer_yyrealloc): Likewise.
29693 * script/parser.y: Refactored.
29694
29695 * script/script.c (grub_script_arg_add): Out of memory fixes.
29696 (grub_script_add_arglist): Likewise.
29697 (grub_script_create_cmdline): Likewise.
29698 (grub_script_create_cmdmenu): Likewise.
29699 (grub_script_add_cmd): Likewise.
29700 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
29701 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
29702 unnecessary code.
29703
29704 * tests/grub_script_echo1.in: New testcase.
29705 * tests/grub_script_vars1.in: New testcase.
29706 * tests/grub_script_echo_keywords.in: New testcase.
29707
1d63a066
VS
297082010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29709
29710 Remove some redundancy in build system.
29711
29712 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
29713 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
29714 (TARGET_LDFLAGS): Add -nostdlib.
29715 (TARGET_IMG_LDFLAGS): Likewise.
29716 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
29717 anything since mmap isn't available.
29718 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
29719 Add util/time.c.
29720 (pkglib_MODULES): Remove reboot.mod.
29721 (reboot_mod_SOURCES): Removed.
29722 (reboot_mod_CFLAGS): Likewise.
29723 (reboot_mod_LDFLAGS): Likewise.
29724 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
29725 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
29726 (DEFSYMFILES): Add kernel_syms.lst.
29727 (kernel_img_HEADERS): Add common headers.
29728 (symlist.c): New target.
29729 (kernel_syms.lst): Likewise.
29730 (pkglib_MODULES): Add memdisk.mod.
29731 (memdisk_mod_SOURCES): New variable.
29732 (memdisk_mod_CFLAGS): Likewise.
29733 (memdisk_mod_LDFLAGS): Likewise.
29734 (pkglib_MODULES): Add reboot.mod.
29735 (reboot_mod_SOURCES): New variable.
29736 (reboot_mod_CFLAGS): Likewise.
29737 (reboot_mod_LDFLAGS): Likewise.
29738 (pkglib_MODULES): Add date.mod.
29739 (date_mod_SOURCES): New variable.
29740 (date_mod_CFLAGS): Likewise.
29741 (date_mod_LDFLAGS): Likewise.
29742 (pkglib_MODULES): Add datehook.mod.
29743 (datehook_mod_SOURCES): New variable.
29744 (datehook_mod_CFLAGS): Likewise.
29745 (datehook_mod_LDFLAGS): Likewise.
29746 (pkglib_MODULES): Add lsmmap.mod.
29747 (lsmmap_mod_SOURCES): New variable.
29748 (lsmmap_mod_CFLAGS): Likewise.
29749 (lsmmap_mod_LDFLAGS): Likewise.
29750 (pkglib_MODULES): Add boot.mod.
29751 (boot_mod_SOURCES): New variable.
29752 (boot_mod_CFLAGS): Likewise.
29753 (boot_mod_LDFLAGS): Likewise.
29754 * conf/i386-coreboot.rmk: Removed redundant parts.
29755 * conf/i386-ieee1275.rmk: Likewise.
29756 * conf/i386-pc.rmk: Likewise.
29757 * conf/mips-yeeloong.rmk: Likewise.
29758 * conf/mips.rmk: Likewise.
29759 * conf/powerpc-ieee1275.rmk: Likewise.
29760 * conf/sparc64-ieee1275.rmk: Likewise.
29761 * conf/x86_64-efi.rmk: Likewise.
29762 * conf/i386-coreboot.rmk: Moved qemu parts ..
29763 * conf/i386-qemu.rmk: ... here
29764 * conf/i386-efi.rmk: Moved common parts to...
29765 * conf/x86-efi.rmk: ... here.
29766 * conf/i386.rmk: Added modules common to all x86 variants.
29767 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
29768 * disk/memdisk.c: Remove grub/machine/kernel.h.
29769 * gensymlist.sh.in: Include symbol.h.
29770 * hook/datehook.c: Correct module name.
29771 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
29772 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
29773 * include/grub/i386/efi/serial.h: New file.
29774 * include/grub/x86_64/efi/serial.h: Likewise.
29775 * util/time.c: Likewise.
29776 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
29777
463ac55f
CK
297782010-03-14 Colin King <colin.king@ubuntu.com>
297792010-03-14 Colin Watson <cjwatson@ubuntu.com>
29780
29781 Shrink the pre-partition-table part of boot.img by eight bytes.
29782
29783 * boot/i386/pc/boot.S (ERR): New macro.
29784 (chs_mode): Use ERR.
29785 (geometry_error): Likewise.
29786 (hd_probe_error): Remove. This is only used once, so we wrwite
29787 it inline instead.
29788 (read_error): Instead of printing read_error_string, just set up
29789 %si and fall through to ...
29790 (error_message): ... this new function, also used by ERR.
29791
08e46ede
CW
297922010-03-14 Colin Watson <cjwatson@ubuntu.com>
29793
29794 Speed up consecutive hostdisk operations on the same device.
29795
29796 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
29797 (grub_util_biosdisk_open): Initialise disk->data.
29798 (struct linux_partition_cache): New structure.
29799 (linux_find_partition): Cache partition start positions; these are
29800 expensive to compute on every read and write.
29801 (open_device): Cache open file descriptor in disk->data, so that we
29802 don't have to reopen it and flush the buffer cache for consecutive
29803 operations on the same device.
29804 (grub_util_biosdisk_close): New function.
29805 (grub_util_biosdisk_dev): Set `close' member.
29806
29807 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
29808 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
29809 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29810 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
29811 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
29812
4a6d2d06
VS
298132010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29814
29815 Compile parts of grub-emu as modules.
29816
29817 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
29818 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
29819 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29820 (all-local): Add $(GRUB_EMU).
29821 (install-local): Install $(GRUB_EMU).
29822 (uninstall): Uninstall $(GRUB_EMU).
29823 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
29824 * kern/dl.c: Likewise.
29825 * commands/sleep.c: Not include machine/time.h.
29826 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
29827 (COMMON_CFLAGS): Likewise.
29828 (sbin_UTILITIES): Remove grub-emu.
29829 (grub_emu_SOURCES): Removed.
29830 (kernel_img_RELOCATABLE): New variable.
29831 (pkglib_PROGRAMS): Add kernel.img.
29832 (kernel_img_SOURCES): New variable
29833 (kernel_img_CFLAGS): Likewise.
29834 (kernel_img_LDFLAGS): Likewise.
29835 (TARGET_NO_STRIP): Likewise.
29836 (TARGET_NO_DYNAMIC_MODULES): Likewise.
29837 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
29838 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
29839 (grub-emu): New target.
29840 (GRUB_EMU): New variable.
29841 * configure.ac: Whitelist -emu as possible x86_64 architecture.
29842 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
29843 * loader/xnu.c: Likewise.
29844 * include/grub/pci.h: Likewise.
29845 * genemuinit.sh: New file.
29846 * genemuinitheader.sh: Likewise.
29847 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
29848 Support TARGET_NO_DYNAMIC_MODULES.
29849 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
29850 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
29851 * disk/loopback.c: Likewise.
29852 * font/font_cmd.c: Likewise.
29853 * partmap/acorn.c: Likewise.
29854 * partmap/amiga.c: Likewise.
29855 * partmap/apple.c: Likewise.
29856 * partmap/gpt.c: Likewise.
29857 * partmap/msdos.c: Likewise.
29858 * partmap/sun.c: Likewise.
29859 * parttool/msdospart.c: Likewise.
29860 * term/gfxterm.c: Likewise.
29861 * video/bitmap.c: Likewise.
29862 * video/readers/jpeg.c: Likewise.
29863 * video/readers/png.c: Likewise.
29864 * video/readers/tga.c: Likewise.
29865 * video/video.c: Likewise.
29866 * util/grub-emu.c (read_command_list): Removed.
29867 (main): Don't call util_init_nls.
29868 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
29869 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
29870
91fdd2ed
VS
298712010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29872
29873 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
29874 date.mod, datehook.mod.
29875 (datetime_mod_SOURCES): New variable.
29876 (datetime_mod_CFLAGS): Likewise.
29877 (datetime_mod_LDFLAGS): Likewise.
29878 (date_mod_SOURCES): Likewise.
29879 (date_mod_CFLAGS): Likewise.
29880 (date_mod_LDFLAGS): Likewise.
29881 (datehook_mod_SOURCES): Likewise.
29882 (datehook_mod_CFLAGS): Likewise.
29883 (datehook_mod_LDFLAGS): Likewise.
29884 * conf/sparc64-ieee1275.rmk: Likewise.
29885 * lib/ieee1275/datetime.c: New file.
29886
873ccae6
VS
298872010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29888
29889 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
29890 (ieee1275_fb_mod_SOURCES): New variable.
29891 (ieee1275_fb_mod_CFLAGS): Likewise.
29892 (ieee1275_fb_mod_LDFLAGS): Likewise.
29893 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
29894 New proto.
29895 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
29896 (HEAP_MAX_ADDR): Likewise.
29897 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
29898 type.
29899 Correct stop condition.
29900 (grub_ieee1275_devices_iterate): New function.
29901 * video/ieee1275.c: New file.
29902
601c97c0
VS
299032010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29904
29905 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
29906
29907 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
29908 as scratch.
29909 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
29910 SCRATCH_PAD_DISKBOOT as scratch.
29911 (bootit): Pass Openfirmware pointer in %o4.
29912 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
29913 of 0x200000.
29914 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
29915 with util/grub-mkrawimage.c.
29916 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
29917 * include/grub/aout.h (AOUT_MID_SUN): New definition.
29918 (grub_aout_get_type) [GRUB_UTIL]: Removed.
29919 (grub_aout_load) [GRUB_UTIL]: Likewise.
29920 * include/grub/kernel.h (grub_modules_get_end): New proto.
29921 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
29922 (SCRATCH_PAD_BOOT): New definition.
29923 (SCRATCH_PAD_DISKBOOT): Likewise.
29924 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
29925 * include/grub/sparc64/ieee1275/ieee1275.h
29926 (grub_ieee1275_original_stack): New variable
29927 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29928 New definition
29929 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
29930 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
29931 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
29932 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
29933 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
29934 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
29935 (grub_platform_image_format_t): New type.
29936 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
29937 * kern/main.c (grub_modules_get_end)
29938 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
29939 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
29940 (codestart): Switch stacks.
29941 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
29942 variable.
29943 (grub_heap_init): Use grub_modules_get_end.
29944 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
29945 stack.
29946 * util/grub-mkrawimage.c (generate_image): Support sparc64.
29947 (main): Likewise.
29948 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
29949
d68b491e
TG
299502010-03-14 Thorsten Glaser <tg@mirbsd.org>
29951
29952 * util/grub-mkrescue.in: Base ISO UUID on UTC.
29953
4e02ed50
MK
299542010-03-08 Matt Kraai <kraai@ftbfs.org>
29955
29956 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
29957 bug #559005).
29958
1f15fc1e
VS
299592010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
29960
29961 * genmoddep.awk: Output all missing symbols and not only first.
29962
fce5d8ff
VS
299632010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29964
29965 * NEWS: Put the date of 1.98 release.
29966
d1e8a02f
VS
299672010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29968
29969 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
29970 ft2build.h.
29971
696fd607
VS
299722010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29973
29974 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
29975 completition in the middle of string.
29976
33e2e6f3
VS
299772010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29978
29979 * util/grub-mkrescue.in: Use mktemp with explicit template.
29980
b1f6d291
VS
299812010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29982
29983 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
29984
2ac227c7
VS
299852010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29986
29987 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
29988 right pointer.
29989
8f9a632b
VS
299902010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29991
29992 Fix FreeBSD compilation.
29993
29994 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
29995 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
29996
60b03859
VS
299972010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29998
29999 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
30000
48a5a769
VS
300012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30002
30003 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
30004
3ab4bd77
VS
300052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30006
30007 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
30008
d116e0d8
RM
300092010-03-04 Robert Millan <rmh.grub@aybabtu.com>
30010
30011 Support relative image path in theme file.
30012
30013 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
30014 (image_set_property): Handle theme_dir and relative path.
30015
c7ef54aa
VS
300162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30017
30018 * configure.ac: Alias amd64 to x86_64.
30019
fcee14ed
VS
300202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30021
30022 * NEWS: mention multiboot on EFI.
30023
d0780363
VS
300242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30025
30026 * kern/main.c (grub_load_modules): Handle errors from init functions of
30027 embeded modules.
30028
41168ea4
VS
300292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30030
30031 * normal/autofs.c (autoload_fs_module): Handle errors.
30032
b54d93ac
VS
300332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30034
30035 Disable linux.mod on qemu-mips since it's not functional and leads
30036 to compilation failure.
30037
30038 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
30039 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
30040 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
30041 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
30042 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
30043 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
30044 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
30045 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
30046 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
30047 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
30048 Reported by: BVK Chaitanya
30049
fc8345da
JU
300502010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
30051
30052 * INSTALL: Add gettext as a dependency and add qemu to a new section
30053 "Prerequisites for make-check".
30054
4760f979
CF
300552010-03-04 Christian Franke <franke@computer.org>
30056
30057 * util/grub-pe2elf.c: Add missing include "progname.h".
30058
f209b5b2
VS
300592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30060
30061 * normal/crypto.c (read_crypto_list): Fix a typo.
30062 Reported by: Seth Goldberg.
30063
b4b7be98
VS
300642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30065
30066 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 30067 Reported by: Seth Goldberg.
b4b7be98 30068
c0ee0385
VS
300692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30070
30071 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
30072 ascii.bitmaps.
30073
a8efbf64
VS
300742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30075
30076 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 30077 Reported by: Seth Goldberg.
a8efbf64 30078
08dcd913
VS
300792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30080
30081 * util/i386/efi/grub-install.in: Copy gettext files.
30082
c4d0b332
VS
300832010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30084
30085 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
30086
c6f2fe52
VS
300872010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30088
30089 Wait for user entry basing on presence of output rather than on errors.
30090
30091 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
30092 (grub_install_newline_hook): Likewise.
30093 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
30094 * normal/menu.c (show_menu): Check line_counter to determine presence
30095 of output.
30096 * normal/term.c (grub_normal_line_counter): New variable.
30097 (grub_normal_get_line_counter): New function.
30098 (grub_install_newline_hook): Likewise.
30099
5382b1e4
VS
301002010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30101
30102 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
30103
5519963b
VS
301042010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30105
30106 * configure.ac: Update version to 1.98.
30107
72b28631
VS
301082010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
30109
30110 * util/grub.d/10_linux.in (linux_entry): Don't default to
30111 gfxpayload=keep if Linux doesn't support video handover.
30112
c140a180
VS
301132010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
30114
30115 Don't compile video modules on yeeloong since video subsystem is part
30116 of kernel.
30117
30118 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
30119 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
30120 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
30121 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
30122 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
30123 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
30124 * include/grub/bitmap_scale.h: Likewise.
30125 * include/grub/bufio.h: Likewise.
30126 * include/grub/font.h: Likewise.
30127 * include/grub/gfxterm.h: Likewise.
30128 * include/grub/video.h: Likewise.
30129 * include/grub/vbe.h: Don't include video_fb.h.
30130 * video/i386/pc/vbe.c: Include video_fb.h.
30131 * commands/i386/pc/vbetest.c: Include video.h.
30132
a0ca21c2
CW
301332010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
30134
30135 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
30136 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
30137 default entry if GRUB_SAVEDEFAULT=true. This allows using
30138 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
30139 saving a new default on every boot.
30140
4a8a763c
VS
301412010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30142
30143 * normal/crypto.c (read_crypto_list): Fix a memory leak.
30144 * normal/term.c (read_terminal_list): Likewise.
30145 * normal/main.c (grub_normal_init_page): Likewise.
30146 (grub_normal_read_line_real): Likewise.
30147
607ffde2
VS
301482010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30149
30150 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
30151 memory leak.
30152 Reported by: Seth Goldberg.
30153
2b8fa975
CW
301542010-02-24 Joey Korkames <joey+lists@kidfixit.com>
30155
30156 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
30157 duplicate declaration of `start'.
30158
618307dd
VS
301592010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30160
30161 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
30162 filename.
30163 Reported by: Georgy Buranov
30164
7dd05b96 301652010-02-20 Carles Pina i Estany <carles@pina.cat>
30166
30167 * util/grub-mkrawimage.c (usage): Change string formatting to
30168 improve gettext.
30169
d1484a42
MRA
301702010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
30171
30172 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
30173 backspace keys.
30174
42b1d186
VS
301752010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30176
30177 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
30178 Reported by: Michael Suchanek.
30179
301802010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
30181
30182 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
30183 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
30184
d9f31a41
VS
301852010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
30186
30187 Remove any reference to non-free fonts.
30188
30189 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
30190 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
30191 uses non-free components.
30192 * font/font.c (grub_font_get_name): Remove example name.
30193 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
30194 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
30195 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
30196 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
30197
2793c71e
GB
301982010-02-16 Georgy Buranov <gburanov@gmail.com>
30199
30200 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
30201
402e3779
VS
302022010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30203
30204 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
30205 Double divisor.
30206 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
30207 features.
30208 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
30209
0dd1e0dd
VS
302102010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30211
30212 * gensymlist.sh.in: Use TARGET_CC instead of CC.
30213
6fa7cfce
ST
302142010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30215
30216 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
30217 * docs/grub.texi (Command-line and menu entry commands): Document play
30218 command.
30219
37c8483b
ST
302202010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30221
30222 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
30223 parse arguments as inline tempo and notes. Move code for playing notes
30224 to...
30225 (play): ... new function.
30226
14da0fb7
ST
302272010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30228
30229 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
30230 grub_uint16_t instead of short.
30231 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
30232 disk from little endian to cpu endianness.
30233
04459e70
ST
302342010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
30235
30236 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
30237 GRUB_TICKS_PER_SECOND instead of 120.
30238
a0876943
VS
302392010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30240
30241 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
30242 escape sequence after \e.
30243
e29f95dc
VS
302442010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30245
30246 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
30247 non-ASCII characters.
30248
d27859b2
VS
302492010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30250
30251 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
30252 set root in single quotes to prevent \, from being unescaped.
30253
bc028f2f
VS
302542010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30255
30256 Prevent unknown commands from stopping menuentry execution.
30257
30258 * script/execute.c (grub_script_execute_cmdline): Print error after
30259 unknown command.
30260
095f5f82
VS
302612010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30262
30263 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
30264 Reported by: Pavel Pisa.
30265
8c717950
VS
302662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30267
30268 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
30269
904935c3
VS
302702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30271
30272 Merge grub_ieee1275_map_physical into grub_map and rename to
30273 grub_ieee1275_map
30274
30275 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
30276 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
30277 Remove.
30278 * kern/ieee1275/openfw.c (grub_map): Rename to ...
30279 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
30280 necessary.
30281 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
30282
5b59a4e3
VS
302832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30284
30285 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
30286 opening and not after.
30287
69e137e8
VS
302882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30289
30290 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
30291 constants.
30292
2c0fcc36
VS
302932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30294
30295 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
30296 (alloc_phys): Use ALIGN_UP instead of align_addr.
30297
8c6052ce
VS
302982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30299
30300 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
30301
17cec782
VS
303022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30303
30304 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
30305
e0128bbd
VS
303062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30307
30308 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
30309 verbose dprintf.
30310
ca62070b
VS
303112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30312
30313 Fix over-4GiB seek on sparc64.
30314
30315 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
30316 Replace pos_i and pos_lo with pos. All users updated.
30317 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30318 New constant.
30319 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30320 Likewise.
30321 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
30322 and pos_lo.
30323
bdca2607
VS
303242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30325
30326 * util/grub-mkrawimage.c (main): Call set_program_name.
30327
da278c4d
VS
303282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30329
30330 Properly align 64-bit targets.
30331
30332 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
30333 (generate_image): Use ALIGN_ADDR.
30334
b274d734
VS
303352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30336
30337 Properly create cross-endian images.
30338
30339 * include/grub/types.h (grub_host_to_target_addr): New macro
30340 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
30341
82da2062
VS
303422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30343
30344 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
30345
7cae4377
VS
303462010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30347
30348 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
30349
30350 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
30351 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
30352 (grub_linux_boot): Divide by 64K when on VESA.
30353
65a533e7
VS
303542010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30355
30356 Support GRUB_GFXPAYLOAD_LINUX.
30357
30358 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
30359 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
30360
dd01d397
VS
303612010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30362
30363 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
30364 to show messages instead of discarding them.
30365 Process errors after executing command and not before. Keep old method
30366 too as precaution.
30367
660960d6
VS
303682010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
30369
30370 * configure.ac: Check for ft2build.h.
30371
62509f04
VS
303722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30373
30374 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
30375
473df63d
VS
303762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30377
30378 * genkernsyms.sh.in: Use TARGET_CC.
30379
c98d2a13
CW
303802010-02-07 Colin Watson <cjwatson@ubuntu.com>
30381
30382 * NEWS: Update.
30383
6e14234c
VS
303842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30385
30386 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
30387 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
30388 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 30389
b255e9cf
YB
303902010-02-07 Yves Blusseau <blusseau@zetam.org>
30391
6e14234c 30392 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 30393
98e6959d
VS
303942010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30395
30396 Fix warnings in grub-emu when compiling with maximum warning options.
30397
30398 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
30399 (grub_arch_modules_addr): Return 0 and not NULL.
30400 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 30401 (xstrdup): Use newstr instead of dup.
f88d801b
VS
30402 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
30403 of disk to dsk to avoid shadowing.
74e4934e
VS
30404 (find_free_slot): Fix prototype.
30405 * util/getroot.c (grub_util_is_dmraid): Make static.
30406 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
30407 Add missing prototype.
30408 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 30409
74e31b5c
VS
304102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30411
30412 * loader/i386/linux.c (grub_linux_setup_video): Handle error
30413 appropriately.
30414
6b2ad14b
VS
304152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30416
30417 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
30418 code out.
30419
8f891adc
VS
304202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30421
30422 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
30423 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
30424 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
30425 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
30426 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
30427 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
30428
74b45184
VS
304292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30430
30431 * include/grub/err.h (grub_err_printf): Don't export.
30432
a4bced77
VS
304332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30434
30435 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
30436
007d0695
VS
304372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30438
30439 * include/grub/i18n.h (grub_gettext_dummy): Removed.
30440 * kern/misc.c (grub_gettext_dummy): Make static.
30441
b6c0d9c2
VS
304422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30443
30444 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
30445 by non-valid ones.
30446 * kern/term.c (grub_putchar): Likewise.
30447
f51a90d0
VS
304482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30449
30450 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
30451 buggy hook call and memory leak.
30452
6846cec5
VS
304532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30454
30455 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
30456
468d69fe
VS
304572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30458
30459 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
30460
51906b8c
VS
304612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30462
30463 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
30464 modevar.
30465 Return grub_errno on allocation error.
30466
09706ce5
VS
304672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30468
30469 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
30470
911df80c
YB
304712010-02-06 Yves Blusseau <blusseau@zetam.org>
30472
30473 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
30474 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
30475
3746a6bc
VS
304762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30477
30478 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
30479 non-pxe disk.
30480 (grub_pxefs_open): Likewise.
30481
09706ce5
VS
304822010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30483
30484 * util/grub.d/10_hurd.in: Add --class information to menuentries.
30485 * util/grub.d/10_kfreebsd.in: Likewise.
30486 * util/grub.d/10_linux.in: Likewise.
30487
7cc192d9
VS
304882010-02-06 Colin D Bennett <colin@gibibit.com>
30489
30490 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
30491 (gfxmenu_mod_SOURCES): New variable.
30492 (gfxmenu_mod_CFLAGS): Likewise.
30493 (gfxmenu_mod_LDFLAGS): Likewise.
30494 * include/grub/term.h (grub_term_set_current_output): Declare
30495 argument as const.
30496 * docs/gfxmenu-theme-example.txt: New file.
30497 * gfxmenu/gfxmenu.c: Likewise.
30498 * gfxmenu/gui_box.c: Likewise.
30499 * gfxmenu/gui_canvas.c: Likewise.
30500 * gfxmenu/gui_circular_progress.c: Likewise.
30501 * gfxmenu/gui_image.c: Likewise.
30502 * gfxmenu/gui_label.c: Likewise.
30503 * gfxmenu/gui_list.c: Likewise.
30504 * gfxmenu/gui_progress_bar.c: Likewise.
30505 * gfxmenu/gui_string_util.c: Likewise.
30506 * gfxmenu/gui_util.c: Likewise.
30507 * gfxmenu/icon_manager.c: Likewise.
30508 * gfxmenu/model.c: Likewise.
30509 * gfxmenu/named_colors.c: Likewise.
30510 * gfxmenu/theme_loader.c: Likewise.
30511 * gfxmenu/view.c: Likewise.
30512 * gfxmenu/widget-box.c: Likewise.
30513 * include/grub/gfxmenu_model.h: Likewise.
30514 * include/grub/gfxmenu_view.h: Likewise.
30515 * include/grub/gfxwidgets.h: Likewise.
30516 * include/grub/gui.h: Likewise.
30517 * include/grub/gui_string_util.h: Likewise.
30518 * include/grub/icon_manager.h: Likewise.
30519
305202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30521
30522 Agglomerate scrolling in gfxterm.
30523
30524 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
30525 (grub_virtual_screen_setup): Initialise 'total_screen'.
30526 (write_char): Split to ...
30527 (paint_char): ... this ...
30528 (write_char): ... and this.
30529 (paint_char): Handle delayed scrolling.
30530 (draw_cursor): Likewise.
30531 (scroll_up): Split to ...
30532 (real_scroll): ... this ...
30533 (scroll_up): ... and this.
30534 (real_scroll): Handle multi-line scroll and draw below-the-bottom
30535 characters.
30536 (grub_gfxterm_refresh): Call real_scroll.
30537
305382010-02-06 Colin D Bennett <colin@gibibit.com>
30539
30540 * include/grub/misc.h (grub_iscntrl): New inline function.
30541 (grub_isalnum): Likewise.
30542 (grub_strtol): Likewise.
30543
305442010-02-06 Colin D Bennett <colin@gibibit.com>
30545
30546 * normal/menu_text.c (get_entry_number): Move from here ...
30547 * normal/menu.c (get_entry_number): ... moved here.
30548 * include/grub/menu.h (grub_menu_get_default_entry_index):
30549 New prototype.
30550 * normal/menu.c (grub_menu_get_default_entry_index): New function.
30551 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
30552 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
30553 (grub_menu_viewer_should_return): Likewise.
30554 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
30555 * normal/menu_text.c (run_menu): Enable menu switching.
30556 * normal/menu_viewer.c (should_return): New variable.
30557 (menu_viewer_changed): Likewise.
30558 (grub_menu_viewer_show_menu): Handle menu viewer changes.
30559 (grub_menu_viewer_should_return): New function.
30560 (menuviewer_write_hook): Likewise.
30561 (grub_menu_viewer_init): Likewise.
30562
305632010-02-06 Colin D Bennet <colin@gibibit.com>
305642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30565
30566 Support for gfxterm in a window.
30567
30568 * include/grub/gfxterm.h: New file.
30569 * include/grub/video.h (struct grub_video_rect): New declaration.
30570 (grub_video_rect_t): Likewise.
30571 * term/gfxterm.c (struct grub_gfxterm_window): New type.
30572 (refcount): New variable.
30573 (render_target): Likewise.
30574 (window): Likewise.
30575 (repaint_callback): Likewise.
30576 (grub_virtual_screen_setup): Use 'render_target'.
30577 (init_window): New function.
30578 (grub_gfxterm_init_window): Likewise.
30579 (grub_gfxterm_init): Check reference counter.
30580 Use init_window.
30581 (destroy_window): New function.
30582 (grub_gfxterm_destroy_window): Likewise.
30583 (grub_gfxterm_fini): Check reference counter.
30584 Use destroy_window.
30585 (redraw_screen_rect): Restore viewport.
30586 Use 'render_target' and 'window'.
30587 Call 'repaint_callback'.
30588 (write_char): Use 'render_target'.
30589 (draw_cursor): Likewise.
30590 (scroll_up): Restore viewport.
30591 Use 'render_target' and 'window'.
30592 Call 'repaint_callback'.
30593 (grub_gfxterm_cls): Likewise.
30594 (grub_gfxterm_refresh): Use 'window'.
30595 (grub_gfxterm_set_repaint_callback): New function.
30596 (grub_gfxterm_background_image_cmd): Use 'window'.
30597 (grub_gfxterm_get_term): New function.
30598 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
30599
306002010-02-06 Colin D Bennett <colin@gibibit.com>
30601
30602 Bitmap scaling support.
30603
30604 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
30605 (bitmap_scale_mod_SOURCES): New variable.
30606 (bitmap_scale_mod_CFLAGS): Likewise.
30607 (bitmap_scale_mod_LDFLAGS): Likewise.
30608 * include/grub/bitmap_scale.h: New file.
30609 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
30610 (background_image_cmd_options): New variable.
30611 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
30612 (cmd): Rename and change type to ...
30613 (background_image_cmd_handle): ... this. All users updated.
30614 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
30615 * video/bitmap_scale.c: New file.
30616
306172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30618
30619 SDL support.
30620
30621 * Makefile.in (LIBSDL): New variable.
30622 (enable_grub_emu_sdl): Likewise.
30623 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
30624 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
30625 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
30626 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
30627 * util/sdl.c: New file.
30628
306292010-02-06 Colin D Bennett <colin@gibibit.com>
306302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30631
30632 Double buffering support.
30633
30634 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
30635 * include/grub/video.h: Update comment.
30636 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
30637 New type.
30638 (grub_video_fb_doublebuf_blit_init): New prototype.
30639 * term/gfxterm.c (scroll_up): Support double buffering.
30640 (grub_gfxterm_refresh): Likewise.
30641 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
30642 (grub_video_fb_doublebuf_blit_init): Likewise.
30643 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
30644 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
30645 'displayed_page', 'render_page' and 'update_screen'.
30646 (grub_video_vbe_fini): Free offscreen buffer.
30647 (doublebuf_pageflipping_commit): New function.
30648 (doublebuf_pageflipping_update_screen): Likewise.
30649 (doublebuf_pageflipping_init): Likewise.
30650 (double_buffering_init): Likewise.
30651 (grub_video_vbe_setup): Enable doublebuffering.
30652 (grub_video_vbe_swap_buffers): Implement.
30653 (grub_video_vbe_set_active_render_target): Handle double buffering.
30654 (grub_video_vbe_get_active_render_target): Likewise.
30655 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
30656 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
30657 (grub_video_vbe_enable_double_buffering): Likewise.
30658 (grub_video_vbe_swap_buffers): Use update_screen.
30659 (grub_video_set_mode): Use double buffering.
30660
306612010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30662
30663 * maintainance/gentrigtables.py: Remove.
30664 * lib/trig.c: Likewise.
30665
30666 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
30667
30668 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
30669 `trigtables.c'.
30670 (trigtables.c): New rule.
30671 (gentrigtables): Likewise.
30672 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
30673
306742010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30675
30676 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
30677 integer constants.
30678
306792010-02-06 Colin D Bennet <colin@gibibit.com>
30680
30681 Trigonometry support.
30682
30683 * include/grub/trig.h: New file.
30684 * lib/trig.c: Likewise.
30685 * maintainance/gentrigtables.py: Likewise.
30686 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
30687 (trig_mod_SOURCES): New variable.
30688 (trig_mod_CFLAGS): Likewise.
30689 (trig_mod_LDFLAGS): Likewise.
30690
5562834e
VS
306912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30692
30693 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
30694 disk devices.
30695
4f8528fc
VS
306962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30697
30698 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
30699 error.
30700
2b4068e9
VS
307012010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30702
30703 * util/hostdisk.c (open_device): Don't use partition device when reading
30704 before the partition.
30705 (grub_util_biosdisk_read): Don't read from partition and before the
30706 partition in single operation.
30707 (grub_util_biosdisk_write): Don't write to partition and before the
30708 partition in single operation.
30709
399f6e4d
TL
307102010-02-03 Torsten Landschoff <torsten@debian.org>
30711
30712 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30713 last sectors.
30714
996649b0
VS
307152010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30716
30717 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
30718 CDROM reads.
30719 (grub_biosdisk_write): Refuse to write to CDROM.
30720
3b205d4d
VS
307212010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30722
30723 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
30724
61e89d9d
VS
307252010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30726
30727 * font/font.c (find_glyph): Check that bmp_idx is available before
30728 using it.
30729 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
30730 with (font == NULL).
30731
bf7fcba2
CS
307322010-01-28 Christian Schmitt <chris@ilovelinux.de>
30733
30734 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
30735
f45d2663
BC
307362010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
30737
30738 * include/grub/script_sh.h (sourcecode): Add const qualifier.
30739 * util/grub-script-check.c (getline): Fix empty lines case.
30740
ec1444e6
RM
307412010-01-28 Robert Millan <rmh.grub@aybabtu.com>
30742
30743 * Makefile.in (check): Exit with fail status when one of the tests
30744 fails.
30745 * tests/example_functional_test.c (example_test): Fix reversed assert.
30746 * tests/example_unit_test.c (example_test): Likewise.
30747
2e1cb9bb
CW
307482010-01-28 Colin Watson <cjwatson@ubuntu.com>
30749
30750 * util/grub.d/10_linux.in: This script does not use any of the
30751 contents of gettext.sh, only the external command `gettext', so stop
30752 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
30753 the same prefix as GRUB.)
30754 * util/grub.d/10_kfreebsd.in: Likewise.
30755
63533ab0
VS
307562010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30757
30758 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
30759 of the line.
30760
989e1f93
VS
307612010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30762
30763 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30764 last sectors.
30765
e709ebe2
VS
307662010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30767
30768 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
30769 having a 4KiB and not 32KiB buffer size.
30770
27dea7ed
RM
307712010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30772
30773 * util/hostfs.c: Include `<errno.h>'.
30774 (grub_hostfs_read): Handle errors from fseeko() and fread().
30775
67667b9c
RM
307762010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30777
30778 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
30779 loop when using read hooks on files whose size isn't sector-aligned.
30780
c294d9d8
RM
307812010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30782
30783 Remove unused parameter.
30784
30785 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
30786 (grub_iso9660_open): Remove initialization of `data->length'.
30787
af75a9f1
RM
307882010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30789
30790 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
30791 memleak conditions.
30792
254e2ce5 307932010-01-27 Carles Pina i Estany <carles@pina.cat>
30794
30795 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
30796 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
30797
b510928c 307982010-01-26 Carles Pina i Estany <carles@pina.cat>
30799
30800 * util/bin2h.c (usage): Fix warning (space after backslash).
30801
aa2f9dd2 308022010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 30803
30804 * font/font.c: Include `grub/fontformat.h.
30805 Remove font file format constants.
30806 (grub_font_load): Use the new macros.
30807 * include/grub/fontformat.h: New file.
30808 * util/grub-mkfont.c: Include `grub/fontformat.c'.
30809 (write_font_pf2): Use the new macros.
30810
94e7e712
RM
308112010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30812
30813 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
30814 does.
30815
3973a59a
RM
308162010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30817
30818 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
30819
30820 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
30821 (_start): Macroify `0x7F'.
30822
30823 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
30824 (make_install_device): Use "(pxe)" as fallback prefix when booting
30825 via PXE.
30826
42e0cba3
GS
308272010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
30828
30829 * configure.ac: Reset LIBS after check for libgcc symbols.
30830
847effd8
CW
308312010-01-25 Colin Watson <cjwatson@ubuntu.com>
30832
30833 * util/hostdisk.c (open_device): Add trailing newline to debug
30834 message.
30835
ea4a7e35
GS
308362010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
30837
30838 * configure.ac: Check for `limits.h'.
30839 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
30840
67951a53
RM
308412010-01-24 Robert Millan <rmh.grub@aybabtu.com>
30842
30843 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
30844 capitalize error strings.
30845
c273d4ce
ST
308462010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
30847
30848 * util/grub.d/10_hurd.in: Add a recovery mode.
30849
69be5b74
VS
308502010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
30851
30852 * configure.ac: Check for libgcc symbols with -nostdlib.
30853
fc9e5810
BC
308542010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
30855
30856 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
30857
4b358c0a
VS
308582010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30859
30860 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
30861 stack since heap may be unavailable at that point.
30862 (grub_ofconsole_gotoxy): Likewise.
30863
454fcd1c
VS
308642010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30865
30866 * configure.ac: Check for _restgpr_14_x.
30867 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
30868 and _savegpr_* prototypes.
30869
566863ca
RM
308702010-01-22 Robert Millan <rmh.grub@aybabtu.com>
30871
30872 Use generic grub_reboot() for i386-efi.
30873
30874 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
30875 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
30876 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
30877
bf86e59a
VS
308782010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30879
30880 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
30881 presence of "prefix" variable as it breaks when normal.mod is
30882 embedded.
30883
d645e0f8
VS
308842010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30885
30886 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
30887 stack since heap is unavailable at that point.
30888
f9ab2e25
VS
308892010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30890
30891 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
30892 (grub_freebsd_bootinfo): Rewritten.
30893 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
30894
01fc7054
VS
308952010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30896
30897 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
30898
caab4fd6
RM
308992010-01-21 Robert Millan <rmh.grub@aybabtu.com>
30900
30901 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
30902 domain now.
30903
67eb1427
FZ
309042010-01-20 Felix Zielcke <fzielcke@z-51.de>
30905
30906 * util/misc.c (make_system_path_relative_to_its_root): Change the work
30907 around for handling "/" to the correct fix. Fix a memory leak. Use
30908 xstrdup instead of strdup.
30909
a9ed4ff3
VS
309102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30911
30912 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
30913
309142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
30915
30916 Optimise glyph lookup by Basic Multilingual Plane lookup array.
30917
30918 * font/font.c (struct grub_font): New member 'bmp_idx'.
30919 (font_init): Initialise 'bmp_idx'.
30920 (load_font_index): Fill 'bmp_idx'.
30921 (find_glyph): Make inline. Use bmp_idx for BMP characters.
30922
48209f4f
VS
309232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30924
30925 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
30926 unnecessary calls.
30927
9f0a4bb7
VS
309282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30929
30930 Move context handling out of the kernel.
30931
30932 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
30933 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
30934 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
30935 * conf/i386-efi.rmk: Likewise.
30936 * conf/i386-ieee1275.rmk: Likewise.
30937 * conf/i386-pc.rmk: Likewise.
30938 * conf/powerpc-ieee1275.rmk: Likewise.
30939 * conf/sparc64-ieee1275.rmk: Likewise.
30940 * conf/x86_64-efi.rmk: Likewise.
30941 * include/grub/env.h: Include grub/menu.h.
30942 (grub_env_var_type): Removed.
30943 (grub_env_var): Replaced field 'type' with 'global'.
30944 (grub_env_find): New prototype.
30945 (grub_env_context_open): Remove EXPORT_FUNC.
30946 (grub_env_context_close): Likewise.
30947 (grub_env_export): Likewise.
30948 (grub_env_set_data_slot): Removed.
30949 (grub_env_get_data_slot): Likewise.
30950 (grub_env_unset_data_slot): Likewise.
30951 (grub_env_unset_menu): New prototype.
30952 (grub_env_set_menu): Likewise.
30953 (grub_env_get_menu): Likewise.
30954 * include/grub/env_private.h: New file.
30955 * include/grub/normal.h (grub_context_init): New prototype.
30956 (grub_context_fini): Likewise.
30957 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
30958 * normal/context.c (grub_cmd_export): ... to here.
30959 * kern/env.c: Include env_private.h.
30960 (HASHSZ): Moved to include/grub/env_private.h.
30961 (grub_env_context): Likewise.
30962 (grub_env_sorted_var): Likewise.
30963 (current_context): Renamed from this ...
30964 (grub_current_context): ...to this. 'static' removed. All users updated.
30965 (grub_env_find): Removed 'static'.
30966 (grub_env_context_open): Moved to normal/context.c.
30967 (grub_env_context_close): Likewise.
30968 (grub_env_export): Likewise.
30969 (mangle_data_slot_name): Removed.
30970 (grub_env_set_data_slot): Likewise.
30971 (grub_env_get_data_slot): Likewise.
30972 (grub_env_unset_data_slot): Likewise.
30973 * kern/main.c (grub_set_root_dev): Don't export root.
30974 It will be done later.
30975 (grub_main): Don't export prefix.
30976 It will be done later.
30977 * normal/context.c: New file.
30978 * normal/main.c (free_menu): Use grub_env_unset_menu.
30979 (grub_normal_add_menu_entry): Use grub_env_get_menu.
30980 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
30981 (GRUB_MOD_INIT(normal)): Call grub_context_init.
30982 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
30983
8dd35b8c
VS
309842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30985
30986 setpci support.
30987
30988 * commands/setpci.c: New file.
30989 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
30990 (setpci_mod_SOURCES): New variable.
30991 (setpci_mod_CFLAGS): Likewise.
30992 (setpci_mod_LDFLAGS): Likewise.
30993
449193d5
VS
309942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30995
30996 Byte-addressable PCI configuration space.
30997
30998 * bus/pci.c (grub_pci_make_address): Use byte address instead of
30999 dword address.
31000 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
31001 GRUB_PCI_REG_CACHELINE.
31002 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
31003 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
31004 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
31005 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
31006 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
31007 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
31008 grub_pci_make_address.
31009 (lock_rom_area): Likewise.
31010 * commands/lspci.c (grub_lspci_iter): Use macroses
31011 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
31012 of grub_pci_make_address.
31013 * disk/ata.c (grub_ata_pciinit): Likewise.
31014 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
31015 (GRUB_PCI_REG_VENDOR): Likewise.
31016 (GRUB_PCI_REG_DEVICE): Likewise.
31017 (GRUB_PCI_REG_COMMAND): Likewise.
31018 (GRUB_PCI_REG_STATUS): Likewise.
31019 (GRUB_PCI_REG_REVISION): Likewise.
31020 (GRUB_PCI_REG_CLASS): Likewise.
31021 (GRUB_PCI_REG_CACHELINE): Likewise.
31022 (GRUB_PCI_REG_LAT_TIMER): Likewise.
31023 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
31024 (GRUB_PCI_REG_BIST): Likewise.
31025 (GRUB_PCI_REG_ADDRESSES): Likewise.
31026 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31027 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31028 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31029 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31030 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31031 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31032 (GRUB_PCI_REG_CIS_POINTER): Likewise.
31033 (GRUB_PCI_REG_SUBVENDOR): Likewise.
31034 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
31035 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
31036 (GRUB_PCI_REG_CAP_POINTER): Likewise.
31037 (GRUB_PCI_REG_IRQ_LINE): Likewise.
31038 (GRUB_PCI_REG_IRQ_PIN): Likewise.
31039 (GRUB_PCI_REG_MIN_GNT): Likewise.
31040 (GRUB_PCI_REG_MAX_LAT): Likewise.
31041 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
31042 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
31043 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 31044 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
31045 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
31046 space.
31047
96d73208
RM
310482010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31049
31050 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
31051 can be reliably determined to be supported.
31052
d4484482
RM
310532010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31054
31055 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
31056 that VESA is supported.
31057 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
31058 supported.
31059
00308ecf
VS
310602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31061
31062 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
31063
f66924a4
RM
310642010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31065
31066 * util/misc.c (make_system_path_relative_to_its_root): Work around
31067 special-casing of "/", as previous incarnation of this routine did.
31068
cbca0ada
VS
310692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31070
31071 Fix any-emu compilation.
31072
31073 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
31074 * grub_bin2h_SOURCES: New variable.
31075
34a66d99
RM
310762010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31077
31078 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
31079
94fabf58
RM
310802010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31081
31082 * util/grub.d/00_header.in: Fix handling of locale_dir.
31083
02cf98ca
VS
310842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31085
31086 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
31087 as possible unifont location (Gentoo).
31088 Reported by: Alexander Brüning
31089
327dbcd7
VS
310902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31091
31092 Don't try to generate lists for kernel.img.
31093
31094 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
31095 (pkglib_MODULES): Remove kernel.img.
31096 (kernel_img_EXPORTS): Removed.
31097 (kernel_img_RELOCATABLE): New variable.
31098 * conf/x86_64-efi.rmk: Likewise.
31099 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
31100
ca467290
VS
311012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31102
31103 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
31104 grub_xasprintf or grub_snprintf.
31105 (grub_vsprintf): Likewise.
31106 (grub_snprintf): New proto.
31107 (grub_vsnprintf): Likewise.
31108 (grub_xasprintf): Likewise.
31109 (grub_xvasprintf): Likewise.
31110 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
31111 (grub_sprintf): Removed.
31112 (grub_vsnprintf): New function.
31113 (grub_snprintf): Likewise.
31114 (grub_xvasprintf): Likewise.
31115 (grub_xasprintf): Likewise.
31116 (grub_vsprintf): Renamed to ...
31117 (grub_vsnprintf_real): ...this. New argument max_len.
31118
aca655fd
BC
311192010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
31120
31121 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
31122 fix grub-script-check warning.
31123
7ee92c32
VS
311242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31125
31126 * include/grub/font.h (grub_font_load): Fix prototype.
31127
f80927ca
VS
311282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31129
31130 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
31131
119c50ea
VS
311322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31133
31134 * include/grub/x86_64/at_keyboard.h: New file.
31135
47d5f3c1
VS
311362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31137
31138 * loader/mips/linux.c: Include missing grub/i18n.h.
31139
55ff5266
RM
311402009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31141
31142 * normal/menu.c (notify_execution_failure): Clarify error message.
31143
c893cc87
RM
311442009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31145
31146 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
31147 return value (and revert all return statements). Update users.
31148
917dd370
CW
311492010-01-20 Dan Merillat <debian@dan.merillat.org>
31150
31151 * kern/device.c (grub_device_iterate): Allocate new part_ent
31152 structure based on sizeof (*p) rather than sizeof (p->next), to
31153 account for structure padding.
31154
31155 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
31156 disk is NULL, which might happen for LVM physical volumes with no
31157 LVM signature.
31158
d4a4ee57
RM
311592009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31160
31161 * loader/mips/linux.c (grub_cmd_initrd)
31162 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
31163
311642009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31165
31166 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
31167 (grub_video_video_init, grub_video_bitmap_init)
31168 (grub_font_manager_init, grub_term_gfxterm_init)
31169 (grub_at_keyboard_init): New extern declarations.
31170 (grub_machine_init): Initialize gfxterm and at_keyboard.
31171
31172 * kern/main.c (grub_main): Revert grub_printf delay kludge.
31173
31174 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
31175 `gfxterm.mod' into core image.
31176
31177 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31178 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31179 (kernel_img_FORMAT): Copy to ...
31180
31181 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31182 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31183 (kernel_img_FORMAT): ... here, and ...
31184
31185 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31186 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31187 (kernel_img_FORMAT): ... here.
31188
31189 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
31190 and input (at_keyboard) terminals in kernel.
31191 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
31192
31193 (pkglib_MODULES): Remove `pci.mod'.
31194 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
31195 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
31196 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31197 (at_keyboard_mod_LDFLAGS): Remove variables.
31198
311992010-01-11 Felix Zielcke <fzielcke@z-51.de>
31200
31201 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
31202
312032009-12-10 Robert Millan <rmh.grub@aybabtu.com>
31204
31205 * include/grub/mips/libgcc.h: Only export symbols for functions
31206 that libgcc provides.
31207
312082009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
31209
31210 MIPS support.
31211
31212 * bus/bonito.c: New file.
31213 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
31214 GRUB_PCI_NUM_DEVICES.
31215 * term/i386/pc/serial.c: Move to ...
31216 * term/serial.c: ... here. All users updated.
31217 * util/i386/pc/grub-mkimage.c: Move to ...
31218 * util/grub-mkrawimage.c: ... here. All users updated.
31219 * term/i386/pc/at_keyboard.c: Move to ...
31220 * term/at_keyboard.c: ... here. All users updated.
31221 * conf/mips-qemu-mips.rmk: New file.
31222 * conf/mips-yeeloong.rmk: Likewise.
31223 * conf/mips.rmk: Likewise.
31224 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
31225 mipsel-qemu-mips.
31226 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
31227 to port addresses.
31228 (grub_ata_pciinit): Support CS5536.
31229 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
31230 * font/font_cmd.c (loadfont_command): Open file before passing it to
31231 grub_font_load.
31232 (pseudo_file_read): New function.
31233 (pseudo_file_close): Likewise.
31234 (pseudo_fs): New structure.
31235 (load_font_module): New function.
31236 (GRUB_MOD_INIT(font_manager)): Load embedded font.
31237 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
31238 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
31239 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
31240 * include/grub/i386/at_keyboard.h: Split into ...
31241 * include/grub/at_keyboard.h: ... this ...
31242 * include/grub/i386/at_keyboard.h: ... and this.
31243 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
31244 New prototype.
31245 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
31246 updated.
31247 (grub_elf64_size): Likewise.
31248 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
31249 filename.
31250 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
31251 * include/grub/i386/coreboot/serial.h: Rewritten.
31252 * include/grub/i386/ieee1275/serial.h: Include
31253 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
31254 * include/grub/i386/pc/serial.h: Moved from here ...
31255 * include/grub/serial.h: ... to here. All users updated.
31256 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
31257 (GRUB_PCI_NUM_BUS): Likewise.
31258 (GRUB_PCI_NUM_DEVICES): Likewise.
31259 (grub_pci_device_map_range): Add missing volatile keyword.
31260 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
31261 * include/grub/mips/at_keyboard.h: New file.
31262 * include/grub/mips/cache.h: Likewise.
31263 * include/grub/mips/io.h: Likewise.
31264 * include/grub/mips/kernel.h: Likewise.
31265 * include/grub/mips/libgcc.h: Likewise.
31266 * include/grub/mips/pci.h: Likewise.
31267 * include/grub/mips/qemu-mips/boot.h: Likewise.
31268 * include/grub/mips/qemu-mips/kernel.h: Likewise.
31269 * include/grub/mips/qemu-mips/loader.h: Likewise.
31270 * include/grub/mips/qemu-mips/memory.h: Likewise.
31271 * include/grub/mips/qemu-mips/serial.h: Likewise.
31272 * include/grub/mips/qemu-mips/time.h: Likewise.
31273 * include/grub/mips/relocator.h: Likewise.
31274 * include/grub/mips/time.h: Likewise.
31275 * include/grub/mips/types.h: Likewise.
31276 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
31277 * include/grub/mips/yeeloong/boot.h: Likewise.
31278 * include/grub/mips/yeeloong/kernel.h: Likewise.
31279 * include/grub/mips/yeeloong/loader.h: Likewise.
31280 * include/grub/mips/yeeloong/memory.h: Likewise.
31281 * include/grub/mips/yeeloong/pci.h: Likewise.
31282 * include/grub/mips/yeeloong/serial.h: Likewise.
31283 * include/grub/mips/yeeloong/time.h: Likewise.
31284 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
31285 * kern/elf.c (grub_elf32_size): New parameter. All users
31286 updated.
31287 (grub_elf64_size): Likewise.
31288 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
31289 Load modules before saying "Welcome to GRUB!".
31290 Call grub_refresh after saying "Welcome to GRUB!".
31291 * kern/mips/cache.S: New file.
31292 * kern/mips/cache_flush.S: Likewise.
31293 * kern/mips/dl.c: Likewise.
31294 * kern/mips/init.c: Likewise.
31295 * kern/mips/qemu-mips/init.c: Likewise.
31296 * kern/mips/startup.S: Likewise.
31297 * kern/mips/yeeloong/init.c: Likewise.
31298 * kern/term.c (grub_putcode): Handle NULL terminal.
31299 (grub_getcharwidth): Likewise.
31300 (grub_getkey): Likewise.
31301 (grub_checkkey): Likewise.
31302 (grub_getkeystatus): Likewise.
31303 (grub_getxy): Likewise.
31304 (grub_getwh): Likewise.
31305 (grub_gotoxy): Likewise.
31306 (grub_cls): Likewise.
31307 (grub_setcolorstate): Likewise.
31308 (grub_setcolor): Likewise.
31309 (grub_getcolor): Likewise.
31310 (grub_refresh): Likewise.
31311 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
31312 (write_jump): Add hatch nop.
31313 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
31314 * lib/mips/setjmp.S: New file.
31315 * loader/mips/linux.c: Likewise.
31316 * term/i386/pc/at_keyboard.c: Move from here ...
31317 * term/at_keyboard.c: ... to here.
31318 * term/i386/pc/serial.c: Moved from here ...
31319 * term/serial.c: ... to here. All users updated.
31320 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
31321 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
31322 (serial_translate_key_sequence): Avoid deadlock.
31323 (grub_serial_getkey): Handle backspace.
31324 (grub_serial_putchar): Fix newline handling.
31325 * util/i386/pc/grub-mkimage.c: Move from here ...
31326 * util/grub-mkrawimage.c: ... to here. All users updated.
31327 (generate_image): New parameters 'font_path' and 'format'.
31328 Support embedding font.
31329 Use grub_host_to_target* instead of grub_cpu_to_le*.
31330 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
31331 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
31332 (options): New option "--font".
31333 (usage): Likewise.
31334 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
31335 (main): Handle "--font".
31336 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
31337 (grub_virtual_screen_setup): Set bg_color_display.
31338 (redraw_screen_rect): Use bg_color_display instead of incorrect
31339 bg_color.
31340 (grub_gfxterm_cls): Likewise.
31341 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
31342 Support embedding config file.
31343 (add_segments): Likewise.
31344 (options): New option "--config".
31345 (main): Handle "--config".
31346 * video/sm712.c: New file.
31347
25c2b5b3
RM
313482010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31349
31350 Fix parallel builds.
31351
31352 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
31353 font.c depend on ascii.h).
31354
313552010-01-12 Carles Pina i Estany <carles@pina.cat>
31356
31357 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
31358
313592010-01-11 Carles Pina i Estany <carles@pina.cat>
31360
31361 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
31362 By default: disabled.
31363 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
31364 parameter.
31365
313662010-01-10 Carles Pina i Estany <carles@pina.cat>
31367
31368 * font/font.c: Update copyright years.
31369 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
31370
313712010-01-10 Carles Pina i Estany <carles@pina.cat>
31372
31373 * font/font.c: Include `ascii.h'.
31374 (ASCII_BITMAP_SIZE): New macro.
31375 (ascii_font_glyph): Define.
31376 (ascii_glyph_lookup): New function.
31377 (grub_font_get_string_width): Change comment. If glyph not found, use
31378 ascii_glyph_lookup.
31379 (grub_font_get_glyph_with_fallback): If glyph not available returns
31380 ascii_glyph_lookup.
31381 * util/grub-mkfont.c (file_formats): New enum.
31382 (options): Add `ascii-bitmaps' new option.
31383 (usage): Add `asii-bitmaps' new option.
31384 (write_font_ascii_bitmap): New function.
31385 (write_font): Rename to ...
31386 (write_font_p2): ... this. Remove print_glyphs call.
31387 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
31388 used. Call print_glyphs.
31389 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
31390
313912010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31392
31393 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
31394 (grub_bin2h_SOURCES): New variable.
31395 * util/bin2h.c: New file.
31396
915fc1b8
VS
313972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31398
31399 * include/multiboot.h: Resynced with spec.
31400 * include/multiboot2.h: Likewise.
31401 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
31402 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
31403
9444b678
RM
314042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31405
31406 * include/grub/term.h (grub_term_register_input,
31407 grub_term_register_output): Check return of terminal init()
31408 routines, and abort if errors are raised.
31409
31410 * commands/terminal.c: Update copyright year.
31411
cba98e8d
RM
314122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31413
31414 * commands/terminal.c (grub_cmd_terminal_input)
31415 (grub_cmd_terminal_output): Check return of terminal init()
31416 routines, and abort if errors are raised.
31417
6f7db5d6
VS
314182010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31419
31420 * include/grub/i386/bsd.h: Fix include pathes.
31421
262bff8d
VS
314222010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31423
31424 Add missing *BSD copyright headers.
31425
31426 * include/grub/aout.h: Add BSD licence.
31427 * include/grub/i386/bsd.h: Parts under different licences moved to ...
31428 * include/grub/i386/freebsd_linker.h: ... here,
31429 * include/grub/i386/freebsd_reboot.h: ... here,
31430 * include/grub/i386/netbsd_bootinfo.h: ... here,
31431 * include/grub/i386/netbsd_reboot.h: ... here,
31432 * include/grub/i386/openbsd_bootarg.h: ... here,
31433 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
31434 licence to each file.
31435
b2cab848
RM
314362010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31437
31438 * acinclude.m4: Remove `nop' assembly instruction; it's not
31439 implemented by all architectures.
31440
2cb6be4b
RM
314412010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31442
31443 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
31444 ELILO. This is no longer necessary.
31445
a2eaee15
BC
314462010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
31447
31448 Added new tool, grub-scrit-check to verify grub.cfg syntax.
31449
31450 * util/grub-script-check.c: grub-script-check tool.
31451 * conf/common.rmk: Make rules for grub-script-check.
31452
88d17012
RM
314532010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31454
31455 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
31456 spotting it back in 2008. Shame on me for forgetting he did.
31457
31458 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
31459
8040619d
RM
314602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31461
31462 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
31463 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
31464 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
31465 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
31466 (GRUB_VIDEO_TYPE_EFI): Rename to ...
31467 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
31468
a0c2a0f6
RM
314692010-01-17 Robert Millan <rmh.grub@aybabtu.com>
31470
31471 * include/grub/test.h: Add license header.
31472 * tests/example_functional_test.c: Likewise.
31473 * tests/example_unit_test.c: Likewise.
31474 * tests/lib/functional_test.c: Likewise.
31475 * tests/lib/test.c: Likewise.
31476 * tests/lib/unit_test.c: Likewise.
31477
b0b13907
VS
314782010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
31479
31480 Use flag-based instead of hook-based video mode selection and "auto"
31481 keyword.
31482
31483 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
31484 (grub_video_set_mode): Changed prototype. All users updated.
31485 (grub_video_check_mode_flag): New inline function.
31486 * video/video.c (parse_modespec): New function.
31487 (grub_video_set_mode): Parse flags and keywords.
31488
ea379330 314892010-01-17 Carles Pina i Estany <carles@pina.cat>
31490
31491 * util/misc.c (grub_util_info): Fix the order of the parameters in a
31492 fprintf call.
31493
e15c215e
FZ
314942010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
31495
31496 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
31497
409ae1c9 314982010-01-16 Carles Pina i Estany <carles@pina.cat>
31499
31500 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
31501 string.
31502 * util/grub-emu.c (usage): Likewise.
31503 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
31504 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31505 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31506 * util/i386/pc/grub-setup.c (usage): Likewise.
31507
70a14d3d 315082010-01-16 Carles Pina i Estany <carles@pina.cat>
31509
31510 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
31511 the message.
31512 (grub_util_info): Likewise.
31513 (grub_util_error): Likewise.
31514 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
31515 and/or new lines in `grub_util_warna', `grub_util_info',
31516 `grub_util_error' calls.
31517 * util/getroot.c: Likewise.
31518 * util/grub-editenv.c: Likewise.
31519 * util/grub-emu.c: Likewise.
31520 * util/grub-fstest.c: Likewise.
31521 * util/grub-mkdevicemap.c: Likewise.
31522 * util/grub-mkfont.c: Likewise.
31523 * util/grub-mkpasswd-pbkdf2.c: Likewise.
31524 * util/grub-mkrelpath.c: Likewise.
31525 * util/grub-pe2elf.c: Likewise.
31526 * util/grub-probe.c: Likewise.
31527 * util/hostdisk.c: Likewise.
31528 * util/i386/efi/grub-mkimage.c: Likewise.
31529 * util/i386/pc/grub-mkimage.c: Likewise.
31530 * util/i386/pc/grub-setup.c: Likewise.
31531 * util/ieee1275/ofpath.c: Likewise.
31532 * util/mkisofs/eltorito.c: Likewise.
31533 * util/mkisofs/rock.c: Likewise.
31534 * util/mkisofs/write.c: Likewise.
31535 * util/raid.c: Likewise.
31536 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31537 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31538
a0b766fc
VS
315392010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31540
31541 Enable multiboot on non-pc.
31542
31543 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
31544 multiboot.mod and multiboot2.mod to ...
31545 * conf/i386.rmk (pkglib_MODULES): ... here.
31546 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
31547 Moved to ...
31548 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
31549 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
31550 Moved to ...
31551 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
31552 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
31553 Moved to ...
31554 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
31555 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
31556 Moved to ...
31557 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
31558 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
31559 relocator.mod.
31560 (ata_mod_SOURCES): Removed.
31561 (ata_mod_CFLAGS): Likewise.
31562 (ata_mod_LDFLAGS): Likewise.
31563 (relocator_mod_SOURCES): Removed.
31564 (relocator_mod_CFLAGS): Likewise.
31565 (relocator_mod_ASFLAGS): Likewise.
31566 (relocator_mod_LDFLAGS): Likewise.
31567 Include i386.mk.
31568 * include/grub/x86_64/multiboot.h: New file.
31569 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
31570 Terminate EFI.
31571
884ade56
VS
315722010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31573
31574 Video multiboot support.
31575
31576 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
31577 New prototype.
31578 * include/multiboot.h: Resynced with multiboot specification.
31579 * include/multiboot2.h: Likewise.
31580 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
31581 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
31582 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
31583 (HAS_VGA_TEXT): Likewise.
31584 (accepts_video): New variable.
31585 (grub_multiboot_set_accepts_video): New function.
31586 (grub_multiboot_get_mbi_size): Account for video structures.
31587 (set_video_mode): New function.
31588 (retrieve_video_parameters): Likewise.
31589 (grub_multiboot_make_mbi): Fill video fields.
31590
0d90e8a6
VS
315912010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31592
31593 Video driver ids.
31594
31595 * include/grub/video.h (grub_video_driver_id): New type.
31596 (grub_video_adapter): New member 'id'. All users updated.
31597 (grub_video_get_driver_id): New proto.
31598 * video/video.c (grub_video_get_driver_id): New function.
31599
5c71db1b 316002010-01-14 Carles Pina i Estany <carles@pina.cat>
31601
31602 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
31603 `var=val'.
31604
cca15b52 316052010-01-14 Carles Pina i Estany <carles@pina.cat>
31606
31607 * normal/cmdline.c (print_completion): Gettextizze.
31608
c586fbb2 316092001-01-14 Carles Pina i Estany <carles@pina.cat>
31610
31611 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
31612
ba2f6848 316132010-01-14 Carles Pina i Estany <carles@pina.cat>
31614
31615 * gettext/gettext.c (grub_gettext_translate): Push and pop
31616 grub_errno.
31617 (grub_gettext_delete_list): Change comment style.
31618 * kern/err.c (grub_error): Gettextizze.
31619 (grub_fatal): Gettextizze.
31620
0a46429a
RM
316212010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31622
31623 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
31624 (grub_linux16_real_boot): ... this.
31625 * kern/i386/loader.S: Likewise.
31626 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
31627 (grub_linux16_boot): New function. Switches to text mode and calls
31628 grub_linux16_real_boot().
31629
31630 * loader/i386/bsd.c: Include `<grub/video.h>'.
31631 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
31632 text mode before calling grub_unix_real_boot().
31633
31634 * loader/i386/multiboot.c: Include `<grub/video.h>'.
31635 (grub_multiboot_boot): Switch to text mode before calling
31636 grub_relocator32_boot().
31637
31638 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
31639 (grub_chainloader_boot): Switch to text mode before calling
31640 grub_chainloader_real_boot().
31641
d6f93a66
RM
316422010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
316432010-01-05 Colin Watson <cjwatson@ubuntu.com>
31644
31645 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
31646 non-empty value.
31647
316482010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
316492010-01-05 Colin Watson <cjwatson@ubuntu.com>
31650
31651 * util/grub.d/00_header.in: Define a "savedefault" function for use
31652 in menu entries.
31653 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
31654
316552010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
316562010-01-05 Colin Watson <cjwatson@ubuntu.com>
31657
31658 * util/grub-mkconfig_lib.in (save_default_entry): Only set
31659 saved_entry if boot_once is unset.
31660 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
31661 previous saved entry (i.e. grub-reboot).
31662
316632009-12-08 Colin Watson <cjwatson@ubuntu.com>
31664
31665 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
31666
316672009-12-08 Colin Watson <cjwatson@ubuntu.com>
31668
31669 * util/grub.d/00_header.in: Use `set var=val' rather than plain
31670 `var=val'.
31671 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
31672
316732009-12-08 Colin Watson <cjwatson@ubuntu.com>
31674
31675 * util/grub-reboot.in: Fix --version output.
31676 * util/grub-set-default.in: Likewise.
31677
316782009-12-08 Colin Watson <cjwatson@ubuntu.com>
31679
31680 * util/grub.d/00_header.in: Silently ignore zero-sized environment
31681 blocks.
31682
316832009-12-08 Colin Watson <cjwatson@ubuntu.com>
31684
31685 * util/grub.d/00_header.in: Quote the value assigned to `default',
31686 in case it contains spaces.
31687
316882009-12-08 Colin Watson <cjwatson@ubuntu.com>
31689
31690 * util/grub.d/30_os-prober.in: Fix merge error that moved a
31691 `save_default_entry' call from the macosx case to the linux case.
31692
316932009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
316942009-10-25 Colin Watson <cjwatson@ubuntu.com>
31695
31696 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
31697 in `chosen' environment variable.
31698 * normal/menu_text.c (get_entry_number): Check if the variable
31699 matches the title of a menu entry.
31700 (run_menu): Pass menu to get_entry_number.
31701
31702 * util/grub-reboot.in: New file.
31703 * util/grub-set-default.in: New file.
31704 * conf/common.rmk (grub-reboot): New utility.
31705 (grub-set-default): New utility.
31706
31707 * util/grub-mkconfig_lib.in (save_default_entry): New function.
31708 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
31709 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
31710 move it to `saved_entry' for the next boot. Load environment on
31711 initialisation.
31712 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
31713 * util/grub.d/10_hurd.in: Likewise.
31714 * util/grub.d/10_linux.in (linux_entry): Likewise.
31715 * util/grub.d/10_windows.in: Likewise.
31716 * util/grub.d/30_os-prober.in: Likewise.
31717
31718 * util/grub-install.in: Create environment block.
31719 * util/i386/efi/grub-install.in: Likewise.
31720 * util/ieee1275/grub-install.in: Likewise.
31721 * util/sparc64/ieee1275/grub-install.in: Likewise.
31722
0934d184
BC
317232010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
31724
31725 Unit testing framework for GRUB.
31726
31727 * Makefile.in: Test framework build rules for 'make check'.
31728 * conf/tests.rmk: Build rules for individual tests and framework.
31729
31730 * include/grub/test.h: Header file for whitebox tests.
31731 * tests/lib/functional_test.c: Framework support for whitebox
31732 functional tests.
31733 * tests/lib/test.c: Common whitebox testing code for unit and
31734 functional tests.
31735 * tests/lib/unit_test.c: Framework support for whitebox unit
31736 tests.
31737
31738 * tests/util/grub-shell-tester.in: Support utility for grub-script
31739 tests.
31740 * tests/util/grub-shell.in: Utility to execute grub-script
31741 commands in a Qemu instance.
31742
31743 * tests/example_functional_test.c: Example whitebox functional
31744 test.
31745 * tests/example_grub_script_test.in: Example grub-script test.
31746 * tests/example_scripted_test.in: Example scripted test.
31747 * tests/example_unit_test.c: Example whitebox unit test.
31748
9c4ffeeb
VS
317492010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
31750
31751 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
31752 Add loader/i386/multiboot_mbi.c.
31753 (multiboot2_mod_SOURCES): Likewise.
31754 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
31755 (multiboot2_mod_SOURCES): Likewise.
31756 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
31757 (grub_multiboot_make_mbi): Likewise.
31758 (grub_multiboot_free_mbi): Likewise.
31759 (grub_multiboot_init_mbi): Likewise.
31760 (grub_multiboot_add_module): Likewise.
31761 (grub_multiboot_set_bootdev): Likewise.
31762 * loader/i386/multiboot.c (mbi): Removed.
31763 (mbi_dest): Likewise.
31764 (alloc_mbi): New variable.
31765 (grub_multiboot_payload_size): Removed. All users updated.
31766 (grub_multiboot_pure_size): New variable.
31767 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
31768 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
31769 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
31770 (grub_fill_multiboot_mmap): Likewise.
31771 (grub_multiboot_get_bootdev): Likewise.
31772 (grub_multiboot): Use multiboot_mbi functions.
31773 * loader/i386/multiboot_mbi.c: New file.
31774
17383dfe
VS
317752010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31776
31777 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
31778 it would result in module crash.
31779
c1f28820
VS
317802010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31781
31782 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
31783 (grub_ofconsole_getwh): Split to ...
31784 (grub_ofconsole_getwh): ... this.
31785 (grub_ofconsole_dimensions): ...and this.
31786 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
31787
58655a16
RM
317882010-01-13 Robert Millan <rmh.grub@aybabtu.com>
31789
31790 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
31791
10891398
VS
317922010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31793
31794 * loader/i386/pc/multiboot2.c: Removed stalled file.
31795
0b8a223c
VS
317962010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31797
31798 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
31799 Reported by: Grégoire Sutre
31800
92ab12b0
RM
318012010-01-11 Robert Millan <rmh.grub@aybabtu.com>
31802
31803 * util/misc.c (canonicalize_file_name): New function.
31804 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
31805 instead of realpath().
31806
a788afb6
CW
318072010-01-11 Colin Watson <cjwatson@ubuntu.com>
31808
31809 * util/grub-install.in (usage): Clarify meaning of --root-directory,
31810 and make it clearer that it's optional. Based on confusion
31811 witnessed on IRC.
31812
ffa8e3d2
VS
318132010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31814
31815 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
31816 in premature implicit newline.
31817
e9060a9d
VS
318182010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31819
31820 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
31821 which resulted in garbled command line at the end of screen.
31822
f0d0c0b7
RM
318232010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31824
31825 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
31826 initialization with similar approach as with other Linux loaders.
31827
0e60bae7
RM
318282010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31829
31830 Fix i386-ieee1275 build.
31831
31832 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
31833 and grub_term_height() for video_{width,height} initialization.
31834
318352010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
31836
31837 Fix grub-emu build.
31838
31839 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
31840
cdb3f378
RM
318412010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
318422010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31843
31844 Support for multiple terminals.
31845
31846 * Makefile.in (pkglib_DATA): terminal.lst.
31847 (terminal.lst): New target.
31848 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
31849 (GRUB_MOD_INIT(handler)): Likewise.
31850 (GRUB_MOD_FINI(handler)): Likewise.
31851 * commands/help.c (grub_cmd_help): Handle multiple terminals.
31852 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
31853 * commands/sleep.c (do_print): Use grub_term_restore_pos.
31854 (grub_cmd_sleep): Use grub_term_save_pos.
31855 * commands/terminal.c: New file.
31856 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
31857 commands/terminal.c and lib/charset.c.
31858 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
31859 (pkglib_MODULES): Add terminal.mod.
31860 (terminal_mod_SOURCES): New variable.
31861 (terminal_mod_CFLAGS): Likewise.
31862 (terminal_mod_LDFLAGS): Likewise.
31863 * genhandlerlist.sh: Don't handle terminals.
31864 * genmk.rb: Generate terminal-*.lst.
31865 * genterminallist.sh: New file.
31866 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
31867 (grub_is_valid_utf8): Likewise.
31868 (grub_utf8_to_ucs4_alloc): Likewise.
31869 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
31870 (grub_menu_register_viewer): Changed argument.
31871 (grub_menu_try_text): New proto.
31872 (grub_gfxmenu_try_hook): New declaration.
31873 * include/grub/normal.h (grub_normal_exit_level): New declaration.
31874 (grub_menu_init_page): Additional argument term.
31875 (grub_normal_init_page): Likewise.
31876 (grub_cmdline_get): Arguments simplified.
31877 (grub_utf8_to_ucs4_alloc): Removed.
31878 (grub_print_ucs4): Additional argument term.
31879 (grub_getstringwidth): Likewise.
31880 (grub_print_message_indented): Likewise.
31881 (grub_menu_text_register_instances): New proto.
31882 (grub_show_menu): Likewise.
31883 (read_terminal_list): Likewise.
31884 (grub_set_more): Likewise.
31885 * include/grub/parser.h: Include handler.h.
31886 * include/grub/reader.h: Rewritten.
31887 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
31888 (GRUB_TERM_WIDTH): Changed to function.
31889 (GRUB_TERM_HEIGHT): Likewise.
31890 (GRUB_TERM_BORDER_WIDTH): Likewise.
31891 (GRUB_TERM_BORDER_HEIGHT): Likewise.
31892 (GRUB_TERM_NUM_ENTRIES): Likewise.
31893 (GRUB_TERM_ENTRY_WIDTH): Likewise.
31894 (GRUB_TERM_CURSOR_X): Likewise.
31895 (grub_term_input_class): Likewise.
31896 (grub_term_output_class): Likewise.
31897 (grub_term_outputs_disabled): New declaration.
31898 (grub_term_inputs_disabled): Likewise.
31899 (grub_term_outputs): Likewise.
31900 (grub_term_inputs): Likewise.
31901 (grub_term_register_input): Rewritten.
31902 (grub_term_register_output): Likewise.
31903 (grub_term_unregister_input): Likewise.
31904 (grub_term_unregister_output): Likewise.
31905 (FOR_ACTIVE_TERM_INPUTS): New macro.
31906 (FOR_DISABLED_TERM_INPUTS): Likewise.
31907 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
31908 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
31909 * include/grub/terminfo.h: Add oterm argument to all protypes.
31910 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
31911 Use grub_rescue_run.
31912 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
31913 All users updated.
31914 * kern/reader.c: Removed. All users updated.
31915 * kern/rescue_reader.c (grub_rescue_init): Removed.
31916 (grub_rescue_reader): Likewise.
31917 (grub_register_rescue_reader): Likewise.
31918 (grub_rescue_run): New function based on kern/reader.c.
31919 * kern/term.c: Adapted for multiterm.
31920 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
31921 (grub_is_valid_utf8): Likewise.
31922 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
31923 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
31924 right terminal.
31925 * loader/i386/linux.c (grub_linux_boot): Likewise.
31926 * normal/auth.c (grub_username_get): New function.
31927 (grub_auth_check_authentication): Use grub_username_get.
31928 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
31929 * normal/color.c: Adapt for multiterm.
31930 * normal/main.c (read_config_file): Don't use grub_reader_loop.
31931 (grub_normal_init_page): Additional argument term.
31932 (read_lists): Call read_terminal_lists.
31933 (grub_enter_normal_mode): Call grub_cmdline_run.
31934 Handle grub_normal_exit_level.
31935 (grub_cmd_normal): Make reentrant.
31936 (grub_cmd_normal_exit): New function.
31937 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
31938 * normal/menu.c: Adapt for multiterm.
31939 * normal/menu_entry.c: Likewise.
31940 * normal/menu_text.c: Likewise.
31941 * normal/menu_viewer.c: Removed. All users updated.
31942 * normal/term.c: New file.
31943 * util/console.c: Change order of includes to workaround a bug in
31944 ncurses headers.
31945 * term/terminfo.c: New argument oterm on all exported functions.
31946 All users updated.
31947 * util/grub-editenv.c (grub_term_input_class): Removed.
31948 (grub_term_output_class): Likewise.
31949
1a064917
RM
319502010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31951
31952 Make loader output a bit more user-friendly.
31953
31954 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
31955 is being loaded. Likewise for the Hurd.
31956
31957 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
31958 that kernel of FreeBSD ${version} is being loaded.
31959
31960 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
31961 grub_dprintf().
31962 (grub_cmd_initrd): Likewise.
31963 * util/grub.d/10_linux.in (linux_entry): Print message indicating
31964 that Linux ${version} is being loaded. Likewise for initrd.
31965
5ce0a83a 319662010-01-09 Carles Pina i Estany <carles@pina.cat>
31967
31968 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
31969
809bbfeb 319702010-01-08 Carles Pina i Estany <carles@pina.cat>
31971
31972 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
31973 (GRUB_MOD_INIT): Gettextizze.
31974 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
31975 (GRUB_MOD_INIT): Gettextizze.
31976 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
31977 (grub_cmd_linux): Capitalise Linux.
31978 (GRUB_MOD_INIT): Gettextizze.
31979 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
31980 (grub_cmd_linux): Capitalise Linux.
31981 (GRUB_MOD_INIT): Gettextizze.
31982 * loader/i386/linux.c: Include `<grub/i18n.h>'.
31983 (grub_cmd_linux): Capitalise Linux.
31984 (GRUB_MOD_INIT): Gettextizze.
31985 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
31986 (GRUB_MOD_INIT): Gettextizze.
31987 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
31988 (grub_cmd_linux): Capitalise Linux.
31989 (GRUB_MOD_INIT): Gettextizze.
31990 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
31991 (grub_cpu_xnu_init): Gettextizze.
31992 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
31993 (GRUB_MOD_INIT): Gettextizze.
31994 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
31995 (GRUB_MOD_INIT): Gettextizze.
31996 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
31997 (grub_linux_load64): Capitalise Linux.
31998 (GRUB_MOD_INIT): Gettextizze.
31999 * loader/xnu.c: Include `<grub/i18n.h>'.
32000 (GRUB_MOD_INIT): Gettextizze.
32001 * po/POTFILES: Add `loader/efi/appleloader.c',
32002 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
32003 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
32004 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
32005 `loader/i386/xnu.c', `loader/multiboot_loader.c',
32006 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
32007 and `loader/xnu.c'.
32008
b394b2ca
RM
320092010-01-08 Robert Millan <rmh.grub@aybabtu.com>
32010
32011 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
32012
320132010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
32014
32015 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
32016 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
32017 * util/mkisofs/mkisofs.c (main): Readjust --version output.
32018
bc8b32b3
RM
320192010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32020
32021 Reset Multiboot 2 support. New loader implements the draft in
32022 /branches/multiboot2 and shares as much code as possible with the
32023 production Multiboot 1 implementation.
32024
32025 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
32026 * loader/multiboot2.c: Likewise.
32027 * loader/i386/multiboot_helper.S: Likewise.
32028 * include/multiboot2.h: Replace with latest version from the draft
32029 in /branches/multiboot2.
32030
32031 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
32032 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
32033 and `loader/multiboot2.c'.
32034 (pkglib_MODULES): Add `multiboot2.mod'.
32035 (multiboot2_mod_SOURCES): New variable.
32036 (multiboot2_mod_LDFLAGS): Likewise.
32037 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
32038
32039 * conf/i386-pc.rmk: Likewise.
32040
32041 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32042 (multiboot_mod_SOURCES): Remove variable.
32043 (multiboot_mod_LDFLAGS): Likewise.
32044 (multiboot_mod_CFLAGS): Likewise.
32045
32046 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
32047 `<multiboot2.h>' instead of `<multiboot.h>'.
32048 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
32049 (MULTIBOOT_HEADER_MAGIC): New macros.
32050
32051 * loader/multiboot_loader.c (module_version_status): Remove variable.
32052 (find_multi_boot2_header): Remove function.
32053 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
32054 logic. Always check for the Multiboot version we're compiling for.
32055 (grub_cmd_module_loader): Likewise.
32056 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
32057 command instead of `multiboot'.
32058
5d2c52b8
RM
320592010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32060
32061 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
32062 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
32063 all users.
32064
53108d92
RM
320652010-01-07 Robert Millan <rmh.grub@aybabtu.com>
320662010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32067
32068 Fix breakage introduced with previous commit.
32069
32070 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
32071 commands.
32072 * normal/handler.c (read_handler_list): Revert part of previous commit
32073 affecting this file.
32074 * normal/main.c (read_lists): Move read_handler_list() call back to ...
32075 (grub_normal_execute): ... here.
32076
e2e936b2
RM
320772010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32078
32079 Merge prefix-redefinition-fix branch.
32080
32081 * normal/autofs.c (read_fs_list): Make function capable of being
32082 run multiple times, gracefuly replacing the previous data
32083 structures.
32084 * normal/dyncmd.c (read_command_list): Likewise.
32085 * normal/handler.c (read_handler_list): Likewise.
32086 * normal/main.c (read_lists): New function. Calls all the
32087 list reading functions.
32088 (grub_normal_execute): Use read_lists() instead of calling all
32089 list reading functions explicitly. Register read_lists() as a
32090 variable hook attached to ${prefix}.
32091
607a3701
VS
320922010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32093
32094 Merge crypto branch.
32095
32096 * Makefile.in (pkglib_DATA): Add crypto.lst.
32097 (crypto.lst): New target.
32098 * commands/hashsum.c: New file.
32099 * commands/password.c (check_password): Use grub_crypto_memcmp.
32100 * commands/password_pbkdf2.c: New file.
32101 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
32102 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
32103 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
32104 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
32105 -I$(srcdir)/lib/libgcrypt_wrap.
32106 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
32107 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
32108 password_pbkdf2.mod.
32109 (crypto_mod_SOURCES): New variable.
32110 (crypto_mod_CFLAGS): Likewise.
32111 (crypto_mod_LDFLAGS): Likewise.
32112 (hashsum_mod_SOURCES): New variable.
32113 (hashsum_mod_CFLAGS): Likewise.
32114 (hashsum_mod_LDFLAGS): Likewise.
32115 (pbkdf2_mod_SOURCES): New variable.
32116 (pbkdf2_mod_CFLAGS): Likewise.
32117 (pbkdf2_mod_LDFLAGS): Likewise.
32118 (password_pbkdf2_mod_SOURCES): New variable.
32119 (password_pbkdf2_mod_CFLAGS): Likewise.
32120 (password_pbkdf2_mod_LDFLAGS): Likewise.
32121 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
32122 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
32123 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
32124 Include conf/gcry.rmk.
32125 * include/grub/auth.h: Rewritten.
32126 * include/grub/crypto.h: New file.
32127 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
32128 * include/grub/normal.h (read_crypto_list): New prototype.
32129 * lib/crypto.c: New file.
32130 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
32131 * lib/pbkdf2.c: Likewise.
32132 * normal/auth.c (grub_auth_strcmp): Removed.
32133 (grub_iswordseparator): Likewise.
32134 (grub_auth_strword): Likewise.
32135 (is_authenticated): Use grub_strword.
32136 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
32137 and grub_strword. Pass entered password to authentication callback.
32138 * normal/crypto.c: New file.
32139 * normal/main.c: Call read_crypto_list.
32140 * util/grub-mkpasswd-pbkdf2.c: New file.
32141 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
32142
42841caa
VS
321432010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
32144
32145 Fix descent and ascent calculation.
32146
32147 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
32148 (options): New option "asce".
32149 (usage): Likewise.
32150 (add_char): Ignore invalid glyphs for descent calculation.
32151 Calculate ascent from actual content.
32152 (print_glyphs): Use 'asce'.
32153 (write_font): Likewise. Allow ascent override.
32154 (main): Handle "asce" option.
32155
e7730de7 321562010-01-06 Carles Pina i Estany <carles@pina.cat>
32157
32158 * kern/err.c: Include `<grub/i18n.h>'.
32159 (grub_print_error): Add full stop. Gettextizze.
32160 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
32161 (grub_bsd_load_elf): Capitalise ELF.
32162 (grub_cmd_freebsd_loadenv): Add `s' in error string.
32163 (grub_cmd_freebsd_module): Likewise.
32164 (grub_cmd_freebsd_module_elf): Likewise.
32165 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
32166
40e3a41f 321672010-01-06 Carles Pina i Estany <carles@pina.cat>
32168
32169 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
32170 * commands/search_file.c (HELP_MESSAGE): New macro.
32171 * commands/search_label.c (HELP_MESSAGE): Likewise.
32172 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
32173 * po/POTFILES: Add `commands/search_file.c',
32174 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
32175 `commands/search.c'.
32176
83507e68
RM
321772010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32178
32179 * config.rpath: Update from Gnulib.
32180
465c787b
YB
321812010-01-05 Yves Blusseau <blusseau@zetam.org>
32182
32183 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
32184
6581dd3a
YB
321852010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
32186
32187 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
32188
3bff18c5
CW
321892010-01-05 Colin Watson <cjwatson@ubuntu.com>
32190
32191 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
32192 arguments to fread so that we get a return value in bytes, rather
32193 than something that will normally be rounded down to 0.
32194 Adjust error handling to avoid producing garbage when size_t is not
32195 the same size as long long.
32196
a1368118
CW
321972010-01-05 Colin Watson <cjwatson@ubuntu.com>
32198
32199 * util/mkisofs/write.c (padblock_write): Check return value of
32200 fread.
32201
7c302978
RM
322022010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32203
32204 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
32205 floppy images now.
32206
32207 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
32208
e33ace06
RM
322092010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32210
32211 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
32212 instead of manual alignment.
32213 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
32214 verbose). Avoid attempts to read past end of the device
32215 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
32216 but GRUB_DISK_CACHE_SIZE may exceed that).
32217
4b856776
RM
322182010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32219
32220 * commands/crc.c (grub_cmd_crc): Abort on read errors.
32221 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
32222 it to upper layer.
32223
52c2d97f
VS
322242010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32225
32226 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
32227 New constant.
32228 (grub_efi_piwg_device_path): New structure
32229 (grub_efi_piwg_device_path_t): New type.
32230 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
32231 (devpath_1): Transform to a structure. All users updated.
32232 (devpath_2): Likewise.
32233 (devpath_3): Likewise.
32234 (devpath_4): Likewise.
32235 (devpath_5): Likewise.
32236
98ff6a54
VS
322372010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32238
32239 * loader/efi/appleloader.c: Restored. Update all users.
32240
3a73dcb6
RM
322412010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32242
32243 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
32244
32245 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
32246 (struct boot_blocklist): Move from here ...
32247 * include/grub/i386/pc/boot.h [ASM_FILE]
32248 (struct grub_boot_blocklist): ... to here. Update all users.
32249 (setup): Only initialize `start' member of `first_block'
32250 structure. Add assert() calls to verify the other members.
32251
32252 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
32253 (generate_image): Fix broken blocklist length initialization.
32254 Add assert() call to verify blocklist `segment' field.
32255
ab0eeb0c
RM
322562010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32257
32258 * loader/efi/appleloader.c: Remove. Update all users.
32259
58bc8bd5
RM
322602010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32261
32262 * boot/i386/pc/boot.S: Update copyright year.
32263 * boot/i386/pc/cdboot.S: Likewise.
32264 * boot/i386/pc/diskboot.S: Likewise.
32265 * boot/i386/pc/lnxboot.S: Likewise.
32266 * boot/i386/pc/pxeboot.S: Likewise.
32267 * bus/pci.c: Likewise.
32268 * commands/cmp.c: Likewise.
32269 * commands/help.c: Likewise.
32270 * commands/hexdump.c: Likewise.
32271 * commands/i386/pc/halt.c: Likewise.
32272 * commands/i386/pc/play.c: Likewise.
32273 * commands/i386/pc/vbeinfo.c: Likewise.
32274 * commands/ls.c: Likewise.
32275 * commands/test.c: Likewise.
32276 * disk/dmraid_nvidia.c: Likewise.
32277 * disk/i386/pc/biosdisk.c: Likewise.
32278 * disk/ieee1275/nand.c: Likewise.
32279 * disk/ieee1275/ofdisk.c: Likewise.
32280 * disk/lvm.c: Likewise.
32281 * disk/raid.c: Likewise.
32282 * disk/raid6_recover.c: Likewise.
32283 * disk/scsi.c: Likewise.
32284 * fs/affs.c: Likewise.
32285 * fs/cpio.c: Likewise.
32286 * fs/ext2.c: Likewise.
32287 * fs/hfs.c: Likewise.
32288 * fs/iso9660.c: Likewise.
32289 * fs/ntfs.c: Likewise.
32290 * fs/sfs.c: Likewise.
32291 * fs/udf.c: Likewise.
32292 * fs/ufs.c: Likewise.
32293 * fs/xfs.c: Likewise.
32294 * gencmdlist.sh: Likewise.
32295 * genmk.rb: Likewise.
32296 * include/grub/disk.h: Likewise.
32297 * include/grub/efi/api.h: Likewise.
32298 * include/grub/efi/efi.h: Likewise.
32299 * include/grub/efi/pe32.h: Likewise.
32300 * include/grub/elf.h: Likewise.
32301 * include/grub/fs.h: Likewise.
32302 * include/grub/i386/at_keyboard.h: Likewise.
32303 * include/grub/i386/pc/memory.h: Likewise.
32304 * include/grub/i386/pc/vbe.h: Likewise.
32305 * include/grub/i386/pci.h: Likewise.
32306 * include/grub/i386/tsc.h: Likewise.
32307 * include/grub/ieee1275/ieee1275.h: Likewise.
32308 * include/grub/ntfs.h: Likewise.
32309 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32310 * include/grub/sparc64/libgcc.h: Likewise.
32311 * include/grub/symbol.h: Likewise.
32312 * include/grub/types.h: Likewise.
32313 * include/multiboot2.h: Likewise.
32314 * io/gzio.c: Likewise.
32315 * kern/device.c: Likewise.
32316 * kern/disk.c: Likewise.
32317 * kern/efi/efi.c: Likewise.
32318 * kern/efi/mm.c: Likewise.
32319 * kern/elf.c: Likewise.
32320 * kern/file.c: Likewise.
32321 * kern/i386/dl.c: Likewise.
32322 * kern/i386/pc/init.c: Likewise.
32323 * kern/i386/pc/startup.S: Likewise.
32324 * kern/ieee1275/ieee1275.c: Likewise.
32325 * kern/ieee1275/init.c: Likewise.
32326 * kern/main.c: Likewise.
32327 * kern/mm.c: Likewise.
32328 * kern/powerpc/dl.c: Likewise.
32329 * kern/sparc64/dl.c: Likewise.
32330 * kern/x86_64/dl.c: Likewise.
32331 * lib/hexdump.c: Likewise.
32332 * loader/efi/appleloader.c: Likewise.
32333 * loader/i386/ieee1275/linux.c: Likewise.
32334 * loader/i386/pc/chainloader.c: Likewise.
32335 * loader/i386/pc/linux.c: Likewise.
32336 * loader/i386/pc/multiboot2.c: Likewise.
32337 * loader/ieee1275/multiboot2.c: Likewise.
32338 * loader/multiboot2.c: Likewise.
32339 * loader/multiboot_loader.c: Likewise.
32340 * loader/powerpc/ieee1275/linux.c: Likewise.
32341 * normal/completion.c: Likewise.
32342 * normal/menu_entry.c: Likewise.
32343 * partmap/apple.c: Likewise.
32344 * util/grub.d/10_hurd.in: Likewise.
32345 * util/hostfs.c: Likewise.
32346 * video/readers/png.c: Likewise.
32347
e2d70b5c
CW
323482010-01-03 Colin Watson <cjwatson@ubuntu.com>
32349
32350 * include/grub/misc.h (GNUC_PREREQ): New macro.
32351 (ATTRIBUTE_ERROR): New macro.
32352 * include/grub/list.h (grub_bad_type_cast_real): Use
32353 ATTRIBUTE_ERROR.
32354
a173283f 323552010-01-03 Carles Pina i Estany <carles@pina.cat>
32356
32357 * normal/menu_text.c (print_message): Change messages.
32358
7fa7ff74 323592010-01-03 Carles Pina i Estany <carles@pina.cat>
32360
32361 * normal/menu_entry.c (store_completion): Gettextizze.
32362
136d24f6 323632010-01-03 Carles Pina i Estany <carles@pina.cat>
32364
32365 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
32366
f936862e 323672010-01-03 Carles Pina i Estany <carles@pina.cat>
32368
32369 * po/POTFILES: Sort correctly.
32370
29c44ad1 323712010-01-03 Carles Pina i Estany <carles@pina.cat>
32372
32373 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
32374 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
32375 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
32376 full stop.
32377 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
32378 summary. Gettextizze the strings.
32379 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
32380 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
32381 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
32382 full stop.
32383 (GRUB_MOD_INIT): Remove command name from summary.
32384 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
32385 summary.
32386 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
32387 * term/i386/pc/serial.c (options): Add full stops.
32388 (GRUB_MOD_INIT): Remove command name from the summary.
32389
77a79592 323902010-01-03 Carles Pina i Estany <carles@pina.cat>
32391
32392 * commands/acpi.c: Gettextizze help strings and/or options. Include
32393 `grub/i18n.h' if needed.
32394 * commands/blocklist.c: Likewise.
32395 * commands/boot.c: Likewise.
32396 * commands/cat.c: Likewise.
32397 * commands/cmp.c: Likewise.
32398 * commands/configfile.c: Likewise.
32399 * commands/crc.c: Likewise.
32400 * commands/date.c: Likewise.
32401 * commands/echo.c: Likewise.
32402 * commands/efi/fixvideo.c: Likewise.
32403 * commands/efi/loadbios.c: Likewise.
32404 * commands/gptsync.c: Likewise.
32405 * commands/halt.c: Likewise.
32406 * commands/handler.c: Likewise.
32407 * commands/hdparm.c: Likewise.
32408 * commands/hexdump.c: Likewise.
32409 * commands/i386/cpuid.c: Likewise.
32410 * commands/i386/pc/drivemap.c: Likewise.
32411 * commands/i386/pc/halt.c: Likewise.
32412 * commands/i386/pc/pxecmd.c: Likewise.
32413 * commands/i386/pc/vbeinfo.c: Likewise.
32414 * commands/i386/pc/vbetest.c: Likewise.
32415 * commands/ieee1275/suspend.c: Likewise.
32416 * commands/keystatus.c: Likewise.
32417 * commands/loadenv.c: Likewise.
32418 * commands/ls.c: Likewise.
32419 * commands/lsmmap.c: Likewise.
32420 * commands/lspci.c: Likewise.
32421 * commands/memrw.c: Likewise.
32422 * commands/minicmd.c: Likewise.
32423 * commands/parttool.c: Likewise.
32424 * commands/password.c: Likewise.
32425 * commands/probe.c: Likewise.
32426 * commands/read.c: Likewise.
32427 * commands/reboot.c: Likewise.
32428 * commands/search.c: Likewise.
32429 * commands/sleep.c: Likewise.
32430 * commands/test.c: Likewise.
32431 * commands/true.c: Likewise.
32432 * commands/usbtest.c: Likewise.
32433 * commands/videotest.c: Likewise.
32434 * commands/xnu_uuid.c: Likewise.
32435 * disk/loopback.c: Likewise.
32436 * hello/hello.c: Likewise.
32437 * loader/i386/bsd.c: Likewise.
32438 * term/i386/pc/serial.c: Likewise.
32439 * po/POTFILES: Add new files.
32440
da8d5c53
CW
324412010-01-02 Colin Watson <cjwatson@ubuntu.com>
32442
32443 * term/i386/pc/at_keyboard.c
32444 (keyboard_controller_wait_untill_ready): Rename to ...
32445 (keyboard_controller_wait_until_ready): ... this. Update all users.
32446
33937904 324472010-01-01 Carles Pina i Estany <carles@pina.cat>
32448
32449 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
32450 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
32451 string using string width.
32452 * normal/menu_text.c (grub_print_message_indented): Use
32453 grub_print_spaces and not print_spaces.
32454 (print_timeout): Likewise.
32455 (print_spaces): Move to...
32456 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
32457
3fd3b8d8
RM
324582010-01-01 Robert Millan <rmh.grub@aybabtu.com>
32459
32460 Import from Gnulib.
32461
32462 * gnulib/getdelim.c: New file.
32463 * gnulib/getline.c: Likewise.
32464
33433555
VS
324652009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
32466
32467 * include/grub/list.h (grub_assert_fail): Removed.
32468 (grub_bad_type_cast_real): New function.
32469 (grub_bad_type_cast): New macro.
32470 (GRUB_AS_LIST): Use grub_bad_type_cast.
32471 (GRUB_AS_LIST_P): Likewise.
e44721e8 32472 (GRUB_AS_NAMED_LIST): Likewise.
33433555 32473 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 32474 (GRUB_AS_PRIO_LIST): Likewise.
33433555 32475 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 32476 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 32477
f5a51306
VS
324782009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
32479
32480 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
32481 Fix syntax error.
32482
90d1e879
RM
324832009-12-29 Robert Millan <rmh.grub@aybabtu.com>
32484
32485 * configure.ac: Check for TARGET_CFLAGS initialization before we
32486 initialize it ourselves (sigh).
32487 Move a few modifications to TARGET_CFLAGS to be unconditional
32488 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
32489 eh_frame)
32490
32491 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
32492 * term/i386/pc/at_keyboard.c
32493 (keyboard_controller_wait_untill_ready): Likewise.
32494 (keyboard_controller_led): Rename `led_status' paramter to avoid
32495 name conflict.
32496
465b5a81 324972009-12-28 Carles Pina i Estany <carles@pina.cat>
32498
32499 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
32500 quotes.
32501
c181849b
VS
325022009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32503
32504 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
32505
9c8739a4
VS
325062009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32507
32508 * normal/menu_text.c (grub_print_message_indented): Prevent
32509 past-the-end-of-array dereference.
32510
3e74249c
VS
325112009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32512
32513 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
32514 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
32515
64fd18ed 325162009-12-27 Carles Pina i Estany <carles@pina.cat>
32517
32518 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
32519 * normal/main.c (grub_normal_read_line): Remove a space from the
32520 default prompt.
32521
714af9b9 325222009-12-27 Carles Pina i Estany <carles@pina.cat>
32523
32524 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
32525 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32526 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32527 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32528 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32529 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32530 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32531
82f3e412 325322009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 32533
32534 * video/readers/jpeg.c (cmd): Declare.
32535 (grub_cmd_jpegtest): Use `grub_command_t' type.
32536 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32537 Assign to `cmd'.
32538 (GRUB_MOD_FINI): Use `cmd' to unregister.
32539 * video/readers/png.c (cmd): Declare.
32540 (grub_cmd_pngtest): Use `grub_command_t' type.
32541 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32542 Assign to `cmd'.
32543 (GRUB_MOD_FINI): Use `cmd' to unregister.
32544 * video/readers/tga.c (cmd): Declare.
32545 (grub_cmd_tgatest): Use `grub_command_t' type.
32546 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32547 Assign to `cmd'.
32548 (GRUB_MOD_FINI): Use `cmd' to unregister.
32549
82f3e412 325502009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 32551
32552 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
32553 stops.
32554 * kern/corecmd.c (grub_register_core_commands): Likewise.
32555 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
32556 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32557 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
32558 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32559 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32560 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
32561 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32562 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
32563 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32564 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32565 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32566 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32567 * normal/handler.c (insert_handler): Likewise.
32568 * normal/main.c (GRUB_MOD_INIT): Likewise.
32569 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
32570
fdcdbb66 325712009-12-26 Carles Pina i Estany <carles@pina.cat>
32572
32573 * commands/help.c (grub_cmd_help): Print the command name before the
32574 summary.
32575 (GRUB_MOD_INIT): Remove command name from the summary.
32576 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 32577 string as summary.
fdcdbb66 32578 * lib/arg.c (find_long): Print the command name before the summary.
32579 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
32580 summary.
32581 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
32582 * commands/cat.c (GRUB_MOD_INIT): Likewise.
32583 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
32584 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32585 * commands/crc.c (GRUB_MOD_INIT): Likewise.
32586 * commands/date.c (GRUB_MOD_INIT): Likewise.
32587 * commands/echo.c (GRUB_MOD_INIT): Likewise.
32588 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
32589 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32590 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32591 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
32592 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
32593 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
32594 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
32595 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32596 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
32597 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
32598 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
32599 * commands/ls.c (GRUB_MOD_INIT): Likewise.
32600 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32601 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32602 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32603 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
32604 * commands/password.c (GRUB_MOD_INIT): Likewise.
32605 * commands/probe.c (GRUB_MOD_INIT): Likewise.
32606 * commands/read.c (GRUB_MOD_INIT): Likewise.
32607 * commands/search.c (GRUB_MOD_INIT): Likewise.
32608 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
32609 * commands/test.c (GRUB_MOD_INIT): Likewise.
32610 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
32611 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
32612 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
32613 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
32614 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
32615 * lib/arg.c (GRUB_MOD_INIT): Likewise.
32616 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
32617 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32618 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32619 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32620 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
32621 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
32622 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
32623 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
32624
9c288be2
VS
326252009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32626
32627 Use search command for preliminar UUID search.
32628
32629 * commands/search.c: Split into ...
32630 * commands/search_wrap.c: ...this
32631 * commands/search.c: ...and this.
32632 * commands/search_file.c: New file.
32633 * commands/search_label.c: New file.
32634 * commands/search_uuid.c: New file.
32635 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
32636 Add commands/search_wrap.c, commands/search_file.c,
32637 commands/search_label.c and commands/search_uuid.c.
32638 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
32639 (search_mod_SOURCES): Set to commands/search_wrap.c.
32640 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
32641 search_label.mod.
32642 (search_fs_file_mod_SOURCES): New variable.
32643 (search_fs_file_mod_CFLAGS): Likewise.
32644 (search_fs_file_mod_LDFLAGS): Likewise.
32645 (search_label_mod_SOURCES): Likewise.
32646 (search_label_mod_CFLAGS): Likewise.
32647 (search_label_mod_LDFLAGS): Likewise.
32648 (search_fs_uuid_mod_SOURCES): New variable.
32649 (search_fs_uuid_mod_CFLAGS): Likewise.
32650 (search_fs_uuid_mod_LDFLAGS): Likewise.
32651 (fs_file_mod_SOURCES): Removed.
32652 (fs_file_mod_CFLAGS): Likewise.
32653 (fs_file_mod_LDFLAGS): Likewise.
32654 (fs_uuid_mod_SOURCES): Removed.
32655 (fs_uuid_mod_CFLAGS): Likewise.
32656 (fs_uuid_mod_LDFLAGS): Likewise.
32657 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
32658 Set to util/grub-install.in.
32659 * disk/fs_file.c: Removed.
32660 * disk/fs_uuid.c: Likewise.
32661 * include/grub/search.h: New file.
32662 * util/grub-install.in: Handle sparc64.
32663 Create and use load.cfg.
32664 * util/sparc64/ieee1275/grub-install.in: Removed.
32665
db943399
VS
326662009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32667
32668 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
32669 Ignore return status if CF is cleared.
32670 (grub_biosdisk_get_diskinfo_standard): Likewise.
32671
3fdae612
RM
326722009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32673
32674 * term/i386/pc/at_keyboard.c
32675 (keyboard_controller_wait_untill_ready): New function.
32676 (grub_keyboard_controller_write, grub_keyboard_controller_read)
32677 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
32678 for keyboard polling, rather than duplicate the same loop. This
32679 saves a few bytes in code size.
32680
7ebaa2b4
VS
326812009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32682
32683 Support for (pxe[:server[:gateway]]) syntax and
32684 use environment variable for PXE.
32685
32686 * commands/i386/pc/pxecmd.c (options): Removed.
32687 (print_ip): Removed.
32688 (grub_cmd_pxe): Removed
32689 (grub_cmd_pxe_unload): New function.
32690 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
32691 (grub_pxe_your_ip): Made static.
32692 (grub_pxe_default_server_ip): Likewise.
32693 (grub_pxe_default_gateway_ip): Likewise.
32694 (grub_pxe_blksize): Likewise.
32695 (parse_ip): New function.
32696 (grub_pxe_open): Support server and gateway specification.
32697 (grub_pxe_close): Free disk->data.
32698 (grub_pxefs_open): Use disk->data.
32699 (grub_pxefs_read): Likewise.
32700 (grub_env_write_readonly): New function.
32701 (set_mac_env): Likewise.
32702 (set_env_limn_ro): Likewise.
32703 (parse_dhcp_vendor): Likewise.
32704 (grub_pxe_detect): Set the environment variables.
32705 (set_ip_env): New function.
32706 (write_ip_env): Likewise.
32707 (grub_env_write_pxe_default_server): Likewise.
32708 (grub_env_write_pxe_default_gateway): Likewise.
32709 (grub_env_write_pxe_blocksize): Likewise.
32710 (GRUB_MOD_INIT(pxe)): Set environment variables.
32711 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
32712 (grub_pxe_mac_addr_t): ... this. All users updated.
32713 (grub_pxe_your_ip): Removed.
32714 (grub_pxe_server_ip): Likewise.
32715 (grub_pxe_gateway_ip): Likewise.
32716 (grub_pxe_blksize): Likewise.
32717
ec5f98ab 327182009-12-25 Carles Pina i Estany <carles@pina.cat>
32719
32720 * commands/help.c: Include `<grub/i18n.h>'.
32721 (grub_cmd_help): Gettextizze.
32722 (GRUB_MOD_INIT): Likewise.
32723 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
32724 (GRUB_MOD_INIT): Gettextizze.
32725 * commands/search.c: Include `<grub/i18n.h>'.
32726 (options): Gettextizze.
32727 (GRUB_MOD_INIT): Gettextizze.
32728 * lib/arg.c: Include `<grub/i18n.h>'.
32729 (help_options): Gettextizze.
32730 (find_long): Likewise.
32731 (grub_arg_show_help): Likewise.
32732 * normal/dyncmd.c: Include `<grub/i18n.h>'.
32733 (read_command_list): Gettextizze.
32734 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 32735 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 32736
22815526
RM
327372009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32738
32739 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
32740 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
32741 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
32742 (led_status): New variable.
32743 (keyboard_controller_led): New function.
32744 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
32745 update led status for caps lock, num lock and scroll lock.
32746
0ad46fd7
FZ
327472009-12-25 Felix Zielcke <fzielcke@z-51.de>
32748
32749 * util/hostdisk.c (open_device): Fix a comment.
32750
d0e158c2
RM
327512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32752
32753 * util/grub-install.in (host_os): New variable.
32754 * util/i386/efi/grub-install.in (host_os): Likewise.
32755
401c0ad6
RM
327562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32757
32758 * util/mkisofs/write.c (padblock_write): Abort when given an
32759 excedingly large embed image, instead of silently truncating it.
32760
d14d3370
RM
327612009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32762
32763 * include/multiboot.h: Indentation fixes.
32764
eeed10b4
RM
327652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32766
32767 * include/multiboot.h (struct multiboot_aout_symbol_table)
32768 (struct multiboot_elf_section_header_table): New structure
32769 declarations (stolen from GRUB Legacy).
32770 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
32771 table information.
32772
32773 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
32774 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
32775 type aliases.
32776
681c70ab
RM
327772009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32778
32779 * include/multiboot.h: Make comments src2texi-friendly.
32780
e4d47d8d
RM
327812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32782
32783 For consistency with [multiboot]/docs/boot.S.
32784
32785 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
32786 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
32787 (MULTIBOOT_MAGIC2): Rename from this ...
32788 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
32789
a0b70bda
RM
327902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32791
32792 * include/multiboot.h: Remove `<grub/types.h>'.
32793 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
32794 types. Update all users.
32795
61ba42be 327962009-12-25 Carles Pina i Estany <carles@pina.cat>
32797
32798 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
32799 `couldn't' and `can not' by `cannot'.
32800 * commands/i386/pc/drivemap.c: Likewise.
32801 * disk/ata.c: Likewise.
32802 * disk/ieee1275/nand.c: Likewise.
32803 * fs/affs.c: Likewise.
32804 * fs/fat.c: Likewise.
32805 * fs/hfs.c: Likewise.
32806 * fs/hfsplus.c: Likewise.
32807 * fs/iso9660.c: Likewise.
32808 * fs/jfs.c: Likewise.
32809 * fs/minix.c: Likewise.
32810 * fs/reiserfs.c: Likewise.
32811 * fs/sfs.c: Likewise.
32812 * fs/udf.c: Likewise.
32813 * fs/ufs.c: Likewise.
32814 * fs/xfs.c: Likewise.
32815 * loader/powerpc/ieee1275/linux.c: Likewise.
32816 * loader/sparc64/ieee1275/linux.c: Likewise.
32817 * util/grub-probe.c: Likewise.
32818 * util/misc.c: Likewise.
32819
7fd0baee 328202009-12-24 Carles Pina i Estany <carles@pina.cat>
32821
32822 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
32823 grub_errno calls.
32824 * commands/acpi.c: Likewise.
32825 * commands/blocklist.c: Likewise.
32826 * commands/efi/loadbios.c: Likewise.
32827 * commands/i386/pc/drivemap.c: Likewise.
32828 * commands/loadenv.c: Likewise.
32829 * commands/memrw.c: Likewise.
32830 * commands/password.c: Likewise.
32831 * commands/videotest.c: Likewise.
32832 * disk/ata.c: Likewise.
32833 * disk/ata_pthru.c: Likewise.
32834 * disk/dmraid_nvidia.c: Likewise.
32835 * disk/ieee1275/nand.c: Likewise.
32836 * disk/ieee1275/ofdisk.c: Likewise.
32837 * disk/loopback.c: Likewise.
32838 * disk/lvm.c: Likewise.
32839 * disk/mdraid_linux.c: Likewise.
32840 * disk/raid.c: Likewise.
32841 * disk/raid6_recover.c: Likewise.
32842 * disk/scsi.c: Likewise.
32843 * efiemu/main.c: Likewise.
32844 * efiemu/mm.c: Likewise.
32845 * efiemu/pnvram.c: Likewise.
32846 * efiemu/symbols.c: Likewise.
32847 * font/font.c: Likewise.
32848 * fs/cpio.c: Likewise.
32849 * fs/hfsplus.c: Likewise.
32850 * fs/iso9660.c: Likewise.
32851 * fs/jfs.c: Likewise.
32852 * fs/minix.c: Likewise.
32853 * fs/ntfs.c: Likewise.
32854 * fs/ntfscomp.c: Likewise.
32855 * fs/reiserfs.c: Likewise.
32856 * fs/ufs.c: Likewise.
32857 * fs/xfs.c: Likewise.
32858 * gettext/gettext.c: Likewise.
32859 * include/grub/auth.h: Likewise.
32860 * kern/elf.c: Likewise.
32861 * kern/file.c: Likewise.
32862 * kern/ieee1275/init.c: Likewise.
32863 * kern/ieee1275/mmap.c: Likewise.
32864 * kern/ieee1275/openfw.c: Likewise.
32865 * kern/powerpc/dl.c: Likewise.
32866 * kern/sparc64/dl.c: Likewise.
32867 * lib/arg.c: Likewise.
32868 * loader/i386/bsd.c: Likewise.
32869 * loader/i386/bsdXX.c: Likewise.
32870 * loader/i386/efi/linux.c: Likewise.
32871 * loader/i386/efi/xnu.c: Likewise.
32872 * loader/i386/ieee1275/linux.c: Likewise.
32873 * loader/i386/linux.c: Likewise.
32874 * loader/i386/multiboot.c: Likewise.
32875 * loader/i386/pc/linux.c: Likewise.
32876 * loader/i386/pc/multiboot2.c: Likewise.
32877 * loader/i386/xnu.c: Likewise.
32878 * loader/ieee1275/multiboot2.c: Likewise.
32879 * loader/macho.c: Likewise.
32880 * loader/machoXX.c: Likewise.
32881 * loader/multiboot2.c: Likewise.
32882 * loader/multiboot_loader.c: Likewise.
32883 * loader/powerpc/ieee1275/linux.c: Likewise.
32884 * loader/sparc64/ieee1275/linux.c: Likewise.
32885 * loader/xnu.c: Likewise.
32886 * loader/xnu_resume.c: Likewise.
32887 * mmap/i386/pc/mmap.c: Likewise.
32888 * normal/menu_viewer.c: Likewise.
32889 * partmap/acorn.c: Likewise.
32890 * partmap/amiga.c: Likewise.
32891 * partmap/apple.c: Likewise.
32892 * script/lexer.c: Likewise.
32893 * term/gfxterm.c: Likewise.
32894 * term/i386/pc/serial.c: Likewise.
32895 * term/i386/pc/vga.c: Likewise.
32896 * term/ieee1275/ofconsole.c: Likewise.
32897 * term/terminfo.c: Likewise.
32898 * video/bitmap.c: Likewise.
32899 * video/efi_gop.c: Likewise.
32900 * video/efi_uga.c: Likewise.
32901 * video/fb/video_fb.c: Likewise.
32902 * video/i386/pc/vbe.c: Likewise.
32903 * video/readers/tga.c: Likewise.
32904 * video/video.c: Likewise.
32905
0ad46fd7 329062009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
32907
32908 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
32909 * commands/lspci.c: Likewise.
32910 * commands/probe.c: Likewise.
32911 * commands/xnu_uuid.c: Likewise.
32912 * conf/i386-coreboot.rmk: Likewise.
32913 * conf/i386-efi.rmk: Likewise.
32914 * conf/i386-ieee1275.rmk: Likewise.
32915 * conf/i386-pc.rmk: Likewise.
32916 * conf/powerpc-ieee1275.rmk: Likewise.
32917 * conf/sparc64-ieee1275.rmk: Likewise.
32918 * conf/x86_64-efi.rmk: Likewise.
32919 * fs/i386/pc/pxe.c: Likewise.
32920 * gettext/gettext.c: Likewise.
32921 * include/grub/efi/graphics_output.h: Likewise.
32922 * include/grub/i386/pc/memory.h: Likewise.
32923 * kern/env.c: Likewise.
32924 * kern/i386/qemu/startup.S: Likewise.
32925 * lib/i386/pc/biosnum.c: Likewise.
32926 * lib/i386/relocator.c: Likewise.
32927 * lib/i386/relocator_asm.S: Likewise.
32928 * lib/relocator.c: Likewise.
32929 * loader/i386/bsd.c: Likewise.
32930 * loader/i386/multiboot.c: Likewise.
32931 * loader/i386/pc/chainloader.c: Likewise.
32932 * loader/i386/xnu.c: Likewise.
32933 * loader/xnu.c: Likewise.
32934 * normal/main.c: Likewise.
32935 * normal/menu_text.c: Likewise.
32936 * util/getroot.c: Likewise.
32937 * util/grub-mkconfig_lib.in: Likewise.
32938 * util/grub.d/00_header.in: Likewise.
32939 * util/i386/pc/grub-mkimage.c: Likewise.
32940 * util/mkisofs/eltorito.c: Likewise.
32941 * util/mkisofs/exclude.h: Likewise.
32942 * util/mkisofs/hash.c: Likewise.
32943 * util/mkisofs/iso9660.h: Likewise.
32944 * util/mkisofs/joliet.c: Likewise.
32945 * util/mkisofs/mkisofs.c: Likewise.
32946 * util/mkisofs/mkisofs.h: Likewise.
32947 * util/mkisofs/multi.c: Likewise.
32948 * util/mkisofs/name.c: Likewise.
32949 * util/mkisofs/rock.c: Likewise.
32950 * util/mkisofs/tree.c: Likewise.
32951 * util/mkisofs/write.c: Likewise.
32952 * video/efi_gop.c: Likewise.
32953
009ec743
VS
329542009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
32955
32956 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
32957 size counting.
32958
0ad46fd7 329592009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
32960
32961 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
32962 * genmk.rb (class SCRIPT): Modify the target file instead of source.
32963
d3d30ea0
VS
329642009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32965
32966 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
32967 (GRUB_MOD_INIT(memrw)): Update help line.
32968
a34f5c70
VS
329692009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32970
32971 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
32972 Use grub_extcmd_t. All users updated.
32973 (options): New variable.
32974 (grub_cmd_read): Restructure for readability. Support "-v" option.
32975 (grub_cmd_write): Restructure for readability.
32976
0ad46fd7 329772009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
32978
32979 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
32980
0ad46fd7 329812009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
32982
32983 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
32984 with the actual contents of the correspondending make variable.
32985 * util/grub-mkrescue.in (pkglib_DATA): New variable.
32986 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
32987 specifying `*.lst' and `efiemu??.o'
32988
0ad46fd7 329892009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
32990
32991 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
32992 after function name.
32993 Noticed by Rene Engelhard <rene@debian.org>.
32994
dc77a799
VS
329952009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32996
32997 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
32998 (options): New variable.
32999 (iospace): Likewise.
33000 (grub_lspci_iter): List IO spaces if "-i" was given.
33001 (grub_cmd_lspci): Parse options.
33002 (GRUB_MOD_INIT(lspci)): Use extcmd.
33003 (GRUB_MOD_FINI(lspci)): Likewise.
33004
0ad46fd7 330052009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
33006
33007 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
33008 `function' keyword.
33009 Patch by Tony Mancill <tmancill@debian.org>.
33010
b5d5993b
VS
330112009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33012
33013 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
33014 (grub_uhci_portstatus): Likewise.
33015 (grub_uhci_portstatus): Add necessary delay.
11d18281 33016 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 33017
941903f2 330182009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 33019
941903f2 33020 * commands/acpi.c (options): Fix capitalizations and/or full stops.
33021 (GRUB_MOD_INIT): Likewise.
33022 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 33023 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
33024 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 33025 * commands/efi/loadbios.c (enable_rom_area): Likewise.
33026 (enable_rom_area): Likewise.
33027 (GRUB_MOD_INIT): Likewise.
33028 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
33029 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
33030 * commands/handler.c (GRUB_MOD_INIT): Likewise.
33031 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
33032 * commands/hexdump.c (options): Likewise.
33033 * commands/i386/cpuid.c (options): Likewise.
33034 (GRUB_MOD_INIT): Likewise.
33035 * commands/i386/pc/drivemap.c (options): Likewise.
33036 (GRUB_MOD_INIT): Likewise.
33037 * commands/i386/pc/halt (options): Likewise.
33038 (GRUB_MOD_INIT): Likewise.
33039 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
33040 * commands/i386/pc/pxecmd.c (options): Likewise.
33041 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
33042 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
33043 * commands/keystatus.c (options): Likewise.
33044 (GRUB_MOD_INIT): Likewise.
33045 * commands/loadenv.c (options): Likewise.
33046 * commands/ls.c (options): Likewise.
33047 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
33048 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
33049 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
33050 * commands/parttool.c (helpmsg): Likewise.
33051 * commands/probe.c (options): Likewise.
33052 * commands/read.c (GRUB_MOD_INIT): Likewise.
33053 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
33054 * commands/search.c (options): Likewise.
33055 * commands/sleep.c (options): Likewise.
33056 * commands/test.c (GRUB_MOD_INIT): Likewise.
33057 * commands/true.c (GRUB_MOD_INIT): Likewise.
33058 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
33059 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
33060 * lib/arg.c (help_options): Likewise.
e9bbb4e7 33061 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
33062 `$(XGETTEXT)'.
98a50553 33063 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 33064
0ad46fd7 330652009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 33066
ef3c2c3a 33067 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
33068 instead of specifying them explicit.
33069
7922f68b
RM
330702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33071
33072 * NEWS: Add grub-probe support for GNU/Hurd.
33073
537ce47f
RM
330742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33075
33076 * NEWS: gettext was added after 1.97.
33077
9b214e3a
RM
330782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33079
33080 * util/mkisofs/msdos_partition.h: New file (based on
33081 include/grub/msdos_partition.h).
33082 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
33083 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
33084 (ld_options, main): Recognize --protective-msdos-label.
33085 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
33086 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
33087 (padblock_write): If `use_protective_msdos_label' is set, patch a
33088 protective DOS-style label in the output image.
33089
33090 * util/grub-mkrescue.in: Use --protective-msdos-label.
33091
e9309813
RM
330922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33093
33094 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
33095 boot.
33096
0ae56929
RM
330972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33098
33099 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
33100 variables.
33101 (ld_options, main): Recognize `--embedded-boot'.
33102 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
33103 declarations.
33104 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
33105 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
33106 (padblock_write): Likewise. Rewrite to support embedded boot image.
33107
33108 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
33109 for BIOS-based disk boot instead of only ElTorito.
33110
b15937b1
RM
331112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33112
33113 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
33114 build (not needed for bootstrap).
33115
52cc3ce0
RM
331162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33117
33118 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
33119 from i386-pc build (not needed for bootstrap).
33120 Rewrite a pair of strings.
33121
36f5ff04
RM
331222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33123
33124 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
33125
973c6c85 331262009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
33127
33128 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
33129
05d21547
AB
331302009-12-21 Andreas Born <futur.andy@googlemail.com>
33131
33132 * kern/env.c (grub_env_context_open): Mark exported variable for
33133 reexport.
33134
0175d51f
AB
331352009-12-21 Andreas Born <futur.andy@googlemail.com>
33136
33137 * kern/env.c (grub_env_export): Create nonexistent variables before
33138 exporting.
33139
7f39d92f 331402009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 33141
7f39d92f 33142 * include/grub/auth.h: Include `<grub/i18n.h>'.
33143 (GRUB_GET_PASSWORD): Gettextizze string.
33144 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
33145 menu_text.c.
33146 (grub_utf8_to_ucs4_alloc): Fix indentation.
33147 (grub_print_ucs4): Likewise.
33148 (grub_getstringwidth): Likewise.
33149 (print_message_indented): New declaration.
33150 * normal/auth.c: Include `<grub/i18n.h>'.
33151 (grub_auth_check_authentication): Gettexttize string.
33152 * normal/cmdline.c: Include `<grub/i18n.h>'.
33153 (grub_cmdline_get): Gettextizze.
33154 * normal/color.c: Include `<grub/i18n.h>'.
33155 (grub_parse_color_name_pair): Gettexttize strings.
33156 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
33157 string (use `print_message_indented').
33158 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
33159 `include/grub/normal.h'.
33160 (print_message_indented): Renamed to ...
33161 (grub_print_message_indented): ... this. Remove `static' qualifer (now
33162 used in normal/main.c).
33163 (print_message): Use `grub_print_message_indented' instead of
33164 `print_message_indented'.
33165 (print_timeout): Likewise.
33166 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
33167 (grub_normal_print_device_info): Gettexttize strings.
33168 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
33169
3041d898
VS
331702009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33171
33172 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
33173 of arguments. Return number of tokens and not arguments. All users
33174 updated.
33175
de15bf8e
VS
331762009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33177
33178 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
33179 non-MSDOS paritions.
33180
e0a6ca52
VS
331812009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
33182
33183 * include/grub/types.h (UNUSED): Removed since it conflicts with
33184 NetBSD headers. All users changed to direct __attribute__ ((unused)).
33185 Reported by Grégoire Sutre.
33186
b99518d1 331872009-12-19 Carles Pina i Estany <carles@pina.cat>
33188
33189 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
33190 (grub_print_ucs4_alloc): Likewise.
33191 (grub_getstringwidth): Likewise.
33192 * normal/main.c (grub_normal_init_page): Gettextize version string.
33193 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
33194 (getstringwidth): Renamed to ...
33195 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
33196 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
33197 (grub_print_ucs4): Remove `static' qualifer (now used in
33198 normal/main.c).
33199 * po/POTFILES: Add normal/main.c.
33200
bfd5e52b 332012009-12-19 Carles Pina i Estany <carles@pina.cat>
33202
33203 * normal/menu_text.c (STANDARD_MARGIN): New macro.
33204 (print_message_indented): Add `margin_left' and `margin_right'
33205 parameters.
33206 (print_message): Update `print_message_indented' calls. Adds '\n' to the
33207 strings.
33208 (print_timeout): Use `print_message_indented' to print the message.
33209 Deletes `second_stage' parameter.
33210 (run_menu): Update `print_timeout' calls.
33211
5a1ad2b9
VS
332122009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33213
33214 Fix console palette on OpenFirmware.
33215
33216 * term/ieee1275/ofconsole.c (MAX): Removed.
33217 (colors): Redone based on VGA palette.
33218 (grub_ofconsole_setcolor): Discard brightness bit since only 8
33219 colors are supported.
33220 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
33221
b045f00a
VS
332222009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33223
33224 Fix potential EfiEmu double prepare.
33225
33226 * efiemu/main.c (prepared): New variable
33227 (grub_efiemu_unload): Set prepare to '0'.
33228 (grub_efiemu_prepare): Return if already prepared. Set prepared.
33229
33230 set_virtual_address_map support.
33231
33232 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
33233 prototype.
33234 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
33235 prototype.
33236 (grub_efiemu_crc32): Likewise.
33237 (grub_efiemu_crc64): Likewise.
33238 (grub_efiemu_set_virtual_address_map): Likewise.
33239 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
33240 New definition.
33241 (grub_autoefi_set_virtual_address_map): Likewise.
33242 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
33243 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
33244 Restructure flow to accomodate it.
33245 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
33246 (grub_efiemu_crc): Recompute CRC32.
33247 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
33248 (efiemu_ptv_relocated): ... this. Made global. All users updated.
33249 * efiemu/symbols.c (relocated_handle): New variable.
33250 (grub_efiemu_free_syms): Free relocated_handle.
33251 (grub_efiemu_alloc_syms): Allocate relocated_handle.
33252 (grub_efiemu_write_sym_markers): New function.
33253 (grub_efiemu_set_virtual_address_map): Likewise.
33254
33255 Newer XNU parameters.
33256
33257 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
33258 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
33259 (grub_xnu_fill_devicetree): New prototype.
33260 (grub_xnu_heap_real_start): New variable.
33261 * loader/xnu.c (get_name_ptr): New function.
33262 (grub_xnu_load_driver): Fill namelen and name.
33263
33264 64-bit xnu support.
33265
33266 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
33267 and 'loader/macho64.c'.
33268 * conf/i386-pc.rmk: Likewise.
33269 * conf/x86_64-efi.rmk: Likewise.
33270 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
33271 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
33272 * include/grub/macho.h (grub_macho_segment64): New structure.
33273 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
33274 (grub_macho_size32): ... to this.
33275 (grub_macho32_get_entry_point): Renamed from ...
33276 (grub_macho_get_entry_point32): ... to this.
33277 (grub_macho_contains_macho64): New prototype.
33278 (grub_macho_size64): Likewise.
33279 (grub_macho_get_entry_point64): Likewise.
33280 (grub_macho32_load): Renamed from ...
33281 (grub_macho_load32): ... to this.
33282 (grub_macho32_filesize): Renamed from ...
33283 (grub_macho_filesize32): ... to this.
33284 (grub_macho32_readfile): Renamed from ...
33285 (grub_macho_readfile32): ... to this.
33286 (grub_macho_filesize64): New prototype.
33287 (grub_macho_readfile64): Likewise.
33288 (grub_macho_parse32): Likewise.
33289 (grub_macho_parse64): Likewise.
33290 * loader/macho.c: Split into ...
33291 * loader/machoXX.c: ... and this. Replace 32 with XX.
33292 * loader/macho32.c: New file.
33293 * loader/macho64.c: Likewise.
33294 * loader/xnu.c (grub_xnu_is_64bit): New variable.
33295 (grub_cmd_xnu_kernel): Make 32-bit only.
33296 (grub_cmd_xnu_kernel64): New function.
33297 (grub_xnu_load_driver): Support Mach-O 64.
33298 (grub_cmd_xnu_mkext): Likewise.
33299 * util/grub.d/30_os-prober.in (osx_entry): New function.
33300 Generate entries for 64-bit boot too.
33301
33302 Eliminate ad-hoc tree format in XNU and EfiEmu.
33303
33304 * efiemu/main.c (grub_efiemu_prepare): Update comment.
33305 * efiemu/pnvram.c: Rewritten to use environment variables.
33306 All users updated.
33307
33308 Inline utf16_to_utf8.
33309
33310 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
33311 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
33312 All users updated.
33313 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
33314
33315 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
33316 * commands/usbtest.c (grub_usb_get_string): ... move here.
33317 (usb_print_str): Fix error handling.
33318 * include/grub/usb.h (grub_usb_get_string): Remove.
33319
33320 UTF-8 to UTF-16 transformation.
33321
33322 * conf/common.rmk (pkglib_MODULES): Add charset.mod
33323 (charset_mod_SOURCES): New variable.
33324 (charset_mod_CFLAGS): Likewise.
33325 (charset_mod_LDFLAGS): Likewise.
33326 * include/grub/utf.h: New file.
33327 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
33328
33329 Support for device properties.
33330
33331 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
33332 (grub_xnu_devprop_device_header): Likewise.
33333 (grub_xnu_devprop_device_descriptor): Likewise.
33334 (grub_xnu_devprop_add_device): New prototype.
33335 (grub_xnu_devprop_remove_device): Likewise.
33336 (grub_xnu_devprop_remove_property): Likewise.
33337 (grub_xnu_devprop_add_property_utf8): Likewise.
33338 (grub_xnu_devprop_add_property_utf16): Likewise.
33339 (grub_cpu_xnu_init): Likewise.
33340 (grub_cpu_xnu_fini): Likewise.
33341 (grub_cpu_xnu_unload): Likewise.
33342 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
33343 (property_descriptor): Likewise.
33344 (devices): New variable.
33345 (grub_xnu_devprop_remove_property): New function.
33346 (grub_xnu_devprop_add_device): Likewise.
33347 (grub_xnu_devprop_remove_device): Likewise.
33348 (grub_xnu_devprop_add_property): Likewise.
33349 (grub_xnu_devprop_add_property_utf8): Likewise.
33350 (grub_xnu_devprop_add_property_utf16): Likewise.
33351 (hextoval): Likewise.
33352 (grub_cpu_xnu_fill_devprop): Likewise.
33353 (grub_cmd_devprop_load): Likewise.
33354 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
33355 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
33356 (cmd_devprop_load): New variable.
33357 (grub_cpu_xnu_init): New function.
33358 (grub_cpu_xnu_fini): Likewise.
33359 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
33360 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
33361 (grub_cmd_xnu_devtree): Likewise.
33362 (hextoval): New function.
33363 (unescape): Likewise.
33364 (grub_xnu_fill_devicetree): Likewise.
33365
33366 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
33367 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
33368
0945f181
VS
333692009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33370
33371 Workaround for broken ATI VBE.
33372
33373 * video/i386/pc/vbe.c (last_set_mode): New variable.
33374 (grub_vbe_set_video_mode): Set 'last_set_mode'.
33375 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
33376 (grub_video_vbe_setup): Don't check for reserved flag.
33377
0ad46fd7 333782009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
33379
33380 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
33381 the `find' command.
33382
c179ebe4
VS
333832009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
33384
33385 UUID support for HFS.
33386
33387 * fs/hfs.c (grub_hfs_uuid): New function.
33388 (grub_hfs_fs): New value .uuid.
33389 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
33390
0ad46fd7 333912009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
33392
33393 Fix a segfault with parsing unknown long options.
33394
33395 * util/grub-mkrelpath.c (options): Zero terminate it.
33396
c4a3e41a
CPE
333972009-12-13 Carles Pina i Estany <carles@pina.cat>
33398
33399 * include/grub/misc.h (grub_puts): New declaration.
33400 (grub_puts_): Likewise.
a22008a6 33401 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
33402 (grub_puts_): Likewise.
33403
2e8a7602
RM
334042009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33405
33406 * util/grub-probe.c (probe): Improve error message.
33407
b50b77b9
RM
334082009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33409
33410 * loader/i386/multiboot_elfxx.c
33411 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
33412 initialization.
33413
334142009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33415
33416 Relocator framework
33417
33418 * loader/i386/xnu_helper.S: Removed. All users updated.
33419 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
33420 (relocator_mod_SOURCES): New variable.
33421 (relocator_mod_CFLAGS): Likewise.
33422 (relocator_mod_LDFLAGS): Likewise.
33423 (relocator_mod_ASFLAGS): Likewise.
33424 * conf/x86_64.rmk: Likewise.
33425 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
33426 (grub_multiboot_payload_entry_offset): Likewise.
33427 (grub_multiboot_forward_relocator): Likewise.
33428 (grub_multiboot_forward_relocator_end): Likewise.
33429 (grub_multiboot_backward_relocator): Likewise.
33430 (grub_multiboot_backward_relocator_end): Likewise.
33431 (grub_multiboot_payload_eip): New variable.
33432 (grub_multiboot_payload_orig): Likewise.
33433 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
33434 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
33435 * include/grub/i386/memory.h
33436 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
33437 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
33438 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
33439 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
33440 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
33441 * include/grub/i386/relocator.h: New file.
33442 * include/grub/x86_64/relocator.h: Likewise.
33443 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
33444 (XNU_RELOCATOR): New macro.
33445 (grub_xnu_launcher_start): Remove.
33446 (grub_xnu_launcher_end): Likewise.
33447 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
33448 (grub_xnu_heap_real_start): Remove.
33449 (grub_xnu_heap_start): Change to void *. All users updated.
33450 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
33451 * lib/i386/relocator.c: New file.
33452 * lib/i386/relocator_asm.S: Likewise.
33453 * lib/i386/relocator_backward.S: Likewise.
33454 * lib/mips/relocator.c: Likewise.
33455 * lib/mips/relocator_asm.S: Likewise.
33456 * lib/relocator.c: Likewise.
33457 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
33458 (entry): Removed.
33459 (playground): Likewise.
33460 (grub_multiboot_payload_orig): New variable.
33461 (grub_multiboot_payload_dest): Likewise.
33462 (grub_multiboot_payload_size): Likewise.
33463 (grub_multiboot_payload_eip): Likewise.
33464 (grub_multiboot_payload_esp): Likewise.
33465 (grub_multiboot_boot): Use grub_relocator32_boot.
33466 (grub_multiboot_unload): Free relocators.
33467 (grub_multiboot): Setup stack. Use relocators.
33468 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
33469 (grub_multiboot_load_elfXX): Use relocators.
33470 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
33471 (grub_multiboot_payload_size): Likewise.
33472 (grub_multiboot_payload_dest): Likewise.
33473 (grub_multiboot_payload_entry_offset): Likewise.
33474 (grub_multiboot_forward_relocator): Likewise.
33475 (grub_multiboot_backward_relocator): Likewise.
33476 (grub_multiboot_real_boot): Likewise.
33477 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
33478 (grub_xnu_entry_point): Likewise.
33479 (grub_xnu_arg1): Likewise.
33480 (grub_xnu_stack): Likewise.
33481 (grub_xnu_launch): Removed.
33482 (grub_xnu_boot_resume): New function.
33483 (grub_xnu_boot): Use relocators.
33484 * loader/i386/xnu_helper.S: Removed.
33485 * loader/xnu.c (grub_xnu_heap_start): New variable.
33486 (grub_xnu_heap_size): Likewise.
33487 (grub_xnu_heap_malloc): Use relocators.
33488 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
33489
29eb90c6
VS
334902009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33491
33492 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
33493 anything.
33494
31027430
CPE
334952009-12-13 Carles Pina i Estany <carles@pina.cat>
33496
33497 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
33498 GRUB_ERR_NONE before calling grub_env_set.
33499
dc0c71d9
RM
335002009-12-12 Robert Millan <rmh@aybabtu.com>
33501
33502 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
33503 * genmk.rb (video): New variable.
33504 (CLEANFILES, VIDEOFILES): Add #{video}.
33505 (#{video}): New target rule.
33506 * genvideolist.sh: New file.
33507 * Makefile.in (pkglib_DATA): Add video.lst.
33508 (video.lst): New target rule.
33509 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
33510 `video.lst'.
33511 * util/grub.d/30_os-prober.in: Replace `vbe' with
33512 ${GRUB_VIDEO_BACKEND}.
33513
2a4bfcf0
RM
335142009-12-11 Robert Millan <rmh.grub@aybabtu.com>
33515
33516 * THANKS: Add David Miller.
33517
2a3aa4d5
RM
335182009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
33519
33520 libpciaccess support.
33521
33522 * Makefile.in (LIBPCIACCESS): New variable.
33523 (enable_grub_emu_pci): Likewise.
33524 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
33525 util/pci.c and commands/lspci.c.
33526 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
33527 * configure.ac (grub-emu-pci): New option.
33528 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
33529 (grub_pci_device_unmap_range): Likewise.
33530 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
33531 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
33532 (grub_pci_address_t) [!GRUB_UTIL]: New type.
33533 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
33534 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
33535 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
33536 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
33537 * include/grub/pciutils.h: New file.
33538 * util/pci.c: Likewise.
33539
0ad46fd7 335402009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
33541
33542 * util/misc.c: Don't include <errno.h> twice.
33543
0ad46fd7 335442009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
33545
33546 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
33547 name in an error message.
33548 (grub_biosdisk_rw): Likewise.
33549
2e59983c
VS
335502009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33551
33552 Eliminate NTFS 4Gib barrier.
33553
33554 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
33555 (read_run_data): Likewise.
33556 (grub_ntfs_read_run_list): Likewise.
33557 (grub_ntfs_read_block): Likewise.
33558 (grub_ntfs_iterate_dir): Likewise.
33559 (read_mft): Likewise.
33560 (read_data): Likewise.
33561 Use COM_LOG_LEN.
33562 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
33563 to avoid 64-bit division
33564 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
33565 (grub_ntfs_rlst): Use grub_disk_addr_t.
33566
71ee178a
VS
335672009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33568
33569 Eliminate grub-fstest 4Gib barrier.
33570
33571 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
33572 (read_file): Fix error reporting.
33573
2520d4b8
VS
335742009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33575
33576 Eliminate hexdump 4Gib barrier.
33577
33578 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
33579 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
33580
e1f27065
VS
335812009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33582
33583 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
33584 Fixes amarsh bug.
33585
1a0f7f45
RM
335862009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
33587
33588 Remove miscellaneous files in distclean target.
33589
33590 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
33591
c631d9fb
CW
335922009-12-09 Colin Watson <cjwatson@ubuntu.com>
33593
33594 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
33595 if they're already set. This resolves the conflict between my
33596 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
33597 fixing the --grub-probe option again.
33598 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
33599 change on 2009-10-06, so that we now once again source
33600 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33601
7c7b6106
RM
336022009-12-08 Robert Millan <rmh.grub@aybabtu.com>
33603
33604 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
33605 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
33606 `util/devicemap.c'.
33607
e3069ec1
CPE
336082009-12-08 Carles Pina i Estany <carles@pina.cat>
33609
33610 * include/grub/misc.h (grub_printf_): New declaration.
33611 * kern/misc.c (grub_printf_): New definition.
33612 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33613 instead of `grub_printf' and `_'.
33614 * normal/menu_entry.c (store_completion): Likewise.
33615 (run): Likewise.
33616 (grub_menu_entry_run): Likewise.
33617 * normal/menu_text.c (grub_wait_after_message): Likewise.
33618 (notify_booting): Likewise.
33619 (notify_fallback): Likewise.
33620 (notify_execution_failure): Likewise.
33621
d6ceebf1
CW
336222009-12-07 Colin Watson <cjwatson@ubuntu.com>
33623
33624 * configure.ac: Check for vasprintf.
33625 * util/misc.c (asprintf): Move allocation from here ...
33626 (vasprintf): ... to here. New function.
33627 (xasprintf): New function.
33628 * include/grub/util/misc.h (vasprintf, xasprintf): Add
33629 prototypes.
33630 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
33631 * util/grub-mkfont.c (write_font): Likewise.
33632 * util/grub-probe.c (probe): Likewise.
33633 * util/hostdisk.c (make_device_name): Likewise.
33634
de6daa8b
DM
336352009-12-06 David S. Miller <davem@sunset.davemloft.net>
33636
33637 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
33638 anything even prefixed with 'cdrom' as a cdrom.
33639
0ad46fd7 336402009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
33641
33642 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
33643 mount points.
33644
98d3dc02
CPE
336452009-12-05 Carles Pina i Estany <carles@pina.cat>
33646
33647 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
33648 grub_gettext_msg_list.
33649 (grub_gettext_gettranslation_from_position): Return const char *
33650 and not char *.
a2c1332b 33651 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
33652 returns from the list if existing there.
33653 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
33654 (grub_gettext_delete_list): Delete the list.
33655 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
33656 lang environment variable is changed.
33657 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
33658
b283f108
VS
336592009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33660
33661 Rename kernel.mod to kernel.img.
33662
33663 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
33664 (kernel_mod_EXPORTS): Rename to ...
33665 (kernel_img_EXPORTS): ... this.
33666 (kernel_mod_SOURCES): Rename to ...
33667 (kernel_img_SOURCES): ... this.
33668 (kernel_mod_HEADERS): Rename to ...
33669 (kernel_img_HEADERS): ... this. All users updated.
33670 (kernel_mod_CFLAGS): Rename to ...
33671 (kernel_img_CFLAGS): ... this.
33672 (kernel_mod_ASFLAGS): Rename to ...
33673 (kernel_img_ASFLAGS): ... this.
33674 (kernel_mod_LDFLAGS): Rename to ...
33675 (kernel_img_LDFLAGS): ... this.
33676 * conf/x86_64-efi.rmk: Likewise.
33677 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
33678 (read_kernel_image): ... this. All users updated.
33679 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
33680
69055f8a
CPE
336812009-12-05 Carles Pina i Estany <carles@pina.cat>
33682
33683 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
33684 (print_spaces): New function.
33685 (grub_print_ucs4): New function.
33686 (getstringwidth): New function.
33687 (print_message_indented): New function.
33688 (print_message): Gettexttize strings using print_message_indented.
33689 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
33690 width.
33691 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 33692 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
33693 Gettextize.
33694 * normal/menu_entry.c (store_completion): Cleanup the gettextized
33695 string.
33696 (run): Likewise.
33697 (grub_menu_entry_run): Likewise.
33698 * PO/POTFILES: Add normal/menu_entry.c.
33699
f616f51c
VS
337002009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33701
33702 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
33703
57bbe3be
CPE
337042009-12-05 Carles Pina i Estany <carles@pina.cat>
33705
33706 * util/grub-install.in: Install gettext .mo files.
33707 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
33708
013d67a1
CPE
337092009-12-05 Carles Pina i Estany <carles@pina.cat>
33710
33711 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
33712 grub_dprintf.
33713
fb954db0
RM
337142009-12-05 Robert Millan <rmh.grub@aybabtu.com>
33715
33716 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
33717 non-firmware-dependant one in realmode.S takes precedence.
33718
6b8474f8
RM
337192009-12-04 Robert Millan <rmh.grub@aybabtu.com>
33720
33721 * commands/halt.c: Replace misc arch-specific headers with
33722 `<grub/misc.h>'.
33723 * commands/reboot.c: Likewise.
33724 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
33725 `<grub/misc.h>'.
33726 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
33727 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
33728 (kernel_img_SOURCES): ... to here.
33729
33730 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
33731 * include/grub/i386/pc/init.h: Likewise.
33732 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33733 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33734
33735 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
33736
33737 * include/grub/i386/halt.h: Remove.
33738 * include/grub/i386/reboot.h: Likewise.
33739
33740 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
33741
4b2e6ca2
DM
337422009-12-03 David S. Miller <davem@sunset.davemloft.net>
33743
33744 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
33745 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
33746 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
33747 "progname.h"
33748 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33749 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33750 (usage): Add missing comma in printf.
33751
5239348f
RM
337522009-12-02 Robert Millan <rmh.grub@aybabtu.com>
33753
33754 Use the same reboot approach on i386 coreboot and qemu as we do on
33755 BIOS.
33756
33757 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
33758 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
33759 * kern/i386/reboot.c: Remove.
33760 * include/grub/i386/reboot.h (grub_reboot): Export function.
33761 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
33762 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
33763 0xf000:0xfff0 instead of 0xffff:0x0000.
33764 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
33765 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
33766
ef34cbd4
RM
337672009-11-30 Robert Millan <rmh.grub@aybabtu.com>
33768
33769 Fix $srcdir != $objdir build.
33770
33771 * Makefile.in (po/%.po): Rewrite as ...
33772 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
33773
dc9837ea
ST
337742009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
33775
33776 Fix GNU/Hurd grub-install crash.
33777 * util/grub-probe.c (probe): Try to access `path' only when it is not
33778 NULL.
33779
2f857f98
VS
337802009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33781
33782 Correct module naming.
33783
33784 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33785 (GRUB_MOD_INIT(efi_uga)): ... to this
33786 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33787 (GRUB_MOD_FINI(efi_uga)): ... to this
33788 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33789 (GRUB_MOD_INIT(efi_gop)): ... to this
33790 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33791 (GRUB_MOD_FINI(efi_gop)): ... to this
33792
c5448046
RM
337932009-11-28 Robert Millan <rmh.grub@aybabtu.com>
33794
33795 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
33796 translatable.
33797 (usage): Translate `arg' strings using gettext().
33798 Thanks to Jordi Mallach for the suggestion.
33799
c85184ad
VS
338002009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33801
33802 GOP support. Based on patch from Bean
33803 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33804
33805 * video/efi_gop.c: New file.
33806 * include/grub/efi/graphics_output.h: Likewise.
33807 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
33808 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33809 variables.
33810 * conf/x86_64-efi.rmk: Likewise.
33811
8a4c48d8
VS
338122009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33813
33814 Rename efi_fb to efi_uga.
33815
33816 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33817 'efi_uga.mod'.
33818 (efi_fb_mod_SOURCES): Rename this ...
33819 (efi_uga_mod_SOURCES): ... to this.
33820 (efi_fb_mod_CFLAGS): Rename this ...
33821 (efi_uga_mod_CFLAGS): ... to this.
33822 (efi_fb_mod_LDFLAGS): Rename this ...
33823 (efi_uga_mod_LDFLAGS): ... to this.
33824 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33825 'efi_uga.mod'.
33826 (efi_fb_mod_SOURCES): Rename this ...
33827 (efi_uga_mod_SOURCES): ... to this.
33828 (efi_fb_mod_CFLAGS): Rename this ...
33829 (efi_uga_mod_CFLAGS): ... to this.
33830 (efi_fb_mod_LDFLAGS): Rename this ...
33831 (efi_uga_mod_LDFLAGS): ... to this.
33832 * video/efi_fb.c: Move this ...
33833 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
33834
fb6c1a7b
RM
338352009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33836
33837 * po/README: New file. Explain our PO file workflow.
33838
3bc7896c
RM
338392009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33840
33841 * po/ChangeLog: Remove. Move relevant entries back to ...
33842 * ChangeLog: ... here.
33843 * po/ca.po: Remove (now handled by TLP).
33844 * po/id.po: Likewise.
33845 * po/zh_CN.po: Likewise.
33846 * Makefile.in (LINGUAS): Initialize in a way that supports
33847 empty set.
33848
9ed4841d
RM
338492009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33850
33851 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
33852 reliing on po/LINGUAS.
33853 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
33854 (po/%.po): ... this.
33855
0ad46fd7 338562009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
33857
33858 * util/i386/efi/grub-mkimage.c: Include "progname.h".
33859 (main): Use `program_name' instead of nonexistent `progname'.
33860
e30dd392
FZ
338612009-11-26 Felix Zielcke <fzielcke@z-51.de>
33862
33863 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33864 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
33865
7656de4f
RM
338662009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33867
33868 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
33869 commit.
33870 * conf/i386-efi.rmk: Likewise.
33871 * conf/i386-ieee1275.rmk: Likewise.
33872 * conf/powerpc-ieee1275.rmk: Likewise.
33873 * conf/sparc64-ieee1275.rmk: Likewise.
33874 * conf/x86_64-efi.rmk: Likewise.
33875
db77c4d4
FZ
338762009-11-26 Felix Zielcke <fzielcke@z-51.de>
33877
33878 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
33879
a755bb04
FZ
338802009-11-26 Felix Zielcke <fzielcke@z-51.de>
33881
33882 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
33883
8a4c07fd
RM
338842009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33885
33886 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
33887 (grub_mkdevicemap_SOURCES): New variable.
33888 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
33889 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
33890 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
33891 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
33892 (grub_mkdevicemap_SOURCES): Remove.
33893 * conf/i386-efi.rmk: Likewise.
33894 * conf/i386-ieee1275.rmk: Likewise.
33895 * conf/i386-pc.rmk: Likewise.
33896 * conf/powerpc-ieee1275.rmk: Likewise.
33897 * conf/sparc64-ieee1275.rmk: Likewise.
33898 * conf/x86_64-efi.rmk: Likewise.
33899 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
33900 (usage): Fix strings to use `program_name'.
33901 (main): Initialize gettext.
33902 * util/grub-editenv.c: Likewise.
33903 * util/grub-emu.c: Likewise.
33904 * util/grub-fstest.c: Likewise.
33905 * util/grub-mkdevicemap.c: Likewise.
33906 * util/grub-mkfont.c: Likewise.
33907 * util/grub-mkrelpath.c: Likewise.
33908 * util/grub-pe2elf.c: Likewise.
33909 * util/grub-probe.c: Likewise.
33910 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
33911 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33912 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33913
33914 * util/misc.c: Include `"progname.h"'.
33915 (progname): Remove variable.
33916 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
33917
6f61ed55
FZ
339182009-11-25 Felix Zielcke <fzielcke@z-51.de>
33919
33920 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
33921 printf and print a newline after the menuentry header line.
33922 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33923
f022876b
FZ
339242009-11-25 Felix Zielcke <fzielcke@z-51.de>
33925
33926 autoconf >= 2.60 support $(localedir).
33927
33928 * INSTALL: Note that autoconf 2.60 is required.
33929 * configure.ac (AC_PREREQ): Bump to 2.60.
33930 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
33931 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
33932
6717926e
YB
339332009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
33934
33935 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
33936 aclocal is run.
33937
08806a54
RM
339382009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33939
33940 * normal/main.c (grub_normal_read_line): Fix off-by-one
33941 buffer overflow.
33942
13b33fba
RM
339432009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33944
33945 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
33946 "parser.grub" in grub_command_execute() call.
33947
4a8572e9
CPE
339482009-11-24 Carles Pina i Estany <carles@pina.cat>
33949
33950 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
33951 * conf/i386-efi.rmk: Likewise.
33952 * conf/i386-ieee1275.rmk: Likewise.
33953 * conf/i386-pc.rmk: Likewise.
33954 * conf/powerpc-ieee1275.rmk: Likewise.
33955 * conf/sparc64-ieee1275.rmk: Likewise.
33956 * conf/x86_64-efi.rmk: Likewise.
33957 * gettext/gettex.c: Include <grub/i18n.h>.
33958 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
33959 here ...
33960 * include/grub/i18n.h: ... to here
33961 * include/grub/i18n.h: ... to here.
33962 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 33963 (grub_gettext_dummy): Move above user.
4a8572e9 33964
bee48093
FZ
339652009-11-24 Felix Zielcke <fzielcke@z-51.de>
33966
33967 * util/Makefile.in (install-local): Convert a `for' into a normal
33968 shell expansion.
33969
a031e91c
RM
339702009-11-24 Robert Millan <rmh.grub@aybabtu.com>
33971
33972 * autogen.sh: Add automake call.
33973 * config.guess: Remove.
33974 * config.sub: Likewise.
33975 * install-sh: Likewise.
33976
26bec39d
FZ
339772009-11-24 Felix Zielcke <fzielcke@z-51.de>
33978
33979 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
33980
8e2532fd
FZ
339812009-11-24 Felix Zielcke <fzielcke@z-51.de>
33982
33983 * util/Makefile.in (install-local): Convert a make `$(foreach)'
33984 function to a normal shell `for'.
33985
fefa1b7d
FZ
339862009-11-24 Felix Zielcke <fzielcke@z-51.de>
33987
33988 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33989
4501250b
FZ
339902009-11-24 Felix Zielcke <fzielcke@z-51.de>
33991
33992 * util/grub-mkrelpath.c: New file.
33993 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
33994 (grub_mkrelpath_SOURCES): New variable.
33995 * include/grub/util/misc.h: New function prototype.
33996 * util/misc.c (make_system_path_relative_to_its_root): New function.
33997
33998 * util/grub-mkconfig_lib.in (bindir): New variable.
33999 (grub_mkrelpath): Likewise.
34000 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
34001
34002 * util/probe.c (probe): Make the file path relative to its root.
34003 Change a info message to use the GRUB path. Enable again the
34004 check if we can read the file with GRUB facilities.
34005
34006 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
34007 to its root.
34008
11d9778b
FZ
340092009-11-24 Felix Zielcke <fzielcke@z-51.de>
34010
34011 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
34012 platform.
34013
4465287d
FZ
340142009-11-24 Felix Zielcke <fzielcke@z-51.de>
34015
34016 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
34017 strncmp().
34018
62b47f22
FZ
340192009-11-24 Felix Zielcke <fzielcke@z-51.de>
34020
34021 * util/getroot.c (grub_util_is_dmraid): New function.
34022 (grub_util_get_dev_abstraction): Treat dmraid and multipath
34023 devices as normal ones, not as LVM.
34024
1eafb9b9 340252009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
34026
34027 * conf/common.rmk: Add grub-gettext_lib target and updates
34028 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
34029 LDFLAGS.
34030 * gettext/gettext.c: New file. (Reads mo files).
34031 * include/grub/file.h (grub_file_pread): New prototype.
34032 * include/grub/i18n.h (_): New prototype.
34033 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
34034 prototypes.
34035 * kern/misc.c (grub_gettext_dummy): New function.
34036 * normal/menu_text.c: Include <grub/i18n.h>.
34037 * normal/menu_text.c (print_timeout): Gettexttize string.
34038 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
34039 * po/POTFILES: Add `normal/menu_text.c'.
34040 * po/ca.po: Add new translations.
c3ea6bd4
CPE
34041 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
34042 gettext module and defines locale_dir and lang in grub.cfg.
34043 * NEWS: Add gettext support.
34044
0fdb2568
RM
340452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34046
34047 * util/hostdisk.c: Include `<grub/i18n.h>'.
34048 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
34049 (make_device_name): Rewrite using asprintf.
34050 (convert_system_partition_to_system_disk): Replace 0 with NULL.
34051 (find_system_device): If a device is not found, generate one just
34052 by reusing the OS path name.
34053 (read_device_map): Make it permissible for device.map not to exist.
34054
f515aa62
RM
340552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34056
34057 * script/sh/execute.c: Move from here ...
34058 * script/execute.c: ... to here. Update all users.
34059 * script/sh/function.c: Move from here ...
34060 * script/function.c: ... to here. Update all users.
34061 * script/sh/lexer.c: Move from here ...
34062 * script/lexer.c: ... to here. Update all users.
34063 * script/sh/main.c: Move from here ...
34064 * script/main.c: ... to here. Update all users.
34065 * script/sh/parser.y: Move from here ...
34066 * script/parser.y: ... to here. Update all users.
34067 * script/sh/script.c: Move from here ...
34068 * script/script.c: ... to here. Update all users.
34069
f84b481b
RM
340702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34071
34072 * configure.ac: Detect all `emu' platforms. Define
34073 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
34074 --enable-grub-emu logic. Disable include/grub/machine
34075 symlink on `emu' platforms.
34076
34077 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
34078 * gensymlist.sh.in: Likewise.
34079
34080 * include/grub/i386/coreboot/machine.h: Remove file.
34081 * include/grub/i386/efi/machine.h: Likewise.
34082 * include/grub/i386/ieee1275/machine.h: Likewise.
34083 * include/grub/i386/pc/machine.h: Likewise.
34084 * include/grub/i386/qemu/machine.h: Likewise.
34085 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34086 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34087 * include/grub/x86_64/efi/machine.h: Likewise.
34088
34089 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
34090 * commands/halt.c: Likewise.
34091 * commands/reboot.c: Likewise.
34092 * include/grub/autoefi.h: Likewise.
34093 * include/grub/i386/at_keyboard.h: Likewise.
34094 * include/grub/i386/kernel.h: Likewise.
34095 * include/grub/i386/loader.h: Likewise.
34096 * include/grub/i386/pc/memory.h: Likewise.
34097 * kern/dl.c: Likewise.
34098 * kern/i386/coreboot/init.c: Likewise.
34099 * loader/i386/bsd.c: Likewise.
34100 * loader/i386/linux.c: Likewise.
34101 * loader/multiboot_loader.c: Likewise.
34102 * term/i386/pc/serial.c: Likewise.
34103 * term/usb_keyboard.c: Likewise.
34104
34105 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
34106 `<grub/machine/machine.h>'
34107 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
34108 * util/misc.c: Remove `<grub/machine/machine.h>' and
34109 `<grub/machine/time.h>'.
34110
34111 * Makefile.in (enable_grub_emu): Remove variable.
34112 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
34113
34114 * conf/any-emu.rmk: New file.
34115 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
34116 (grub_emu_init.c): Move from here ...
34117 * conf/any-emu.rmk: ... to here.
34118
34119 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
34120 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
34121 * conf/any-emu.rmk: ... to here.
34122
4efeab03
RM
341232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34124
34125 * include/grub/parser.h (grub_parser_register): Document need
34126 of `name' parameter.
34127 * normal/main.c (grub_normal_read_line): Simplify prompt string.
34128 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
34129 "sh" to "grub".
34130
ea1dd8bf
RM
341312009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34132
34133 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
34134 `$(XGETTEXT)'.
34135 * include/grub/i18n.h (N_): New macro.
34136 * util/mkisofs/mkisofs.h: Likewise.
34137 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
34138 around N_().
34139 (usage): Use gettext() to translate help strings when printing them.
34140
0c140626
RM
341412009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34142
34143 Based on patch from Bean
34144 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
34145
34146 * video/efi_fb.c: New file.
34147 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
34148 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
34149 variables.
34150 * conf/x86_64-efi.rmk: Likewise.
34151
87d58298
RM
341522009-11-22 Robert Millan <rmh.grub@aybabtu.com>
34153
34154 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
34155 * util/i386/pc/grub-setup.c: Likewise.
34156
994cc3a3
ST
341572009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
34158
34159 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
34160 <hurd/fs.h>
34161 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
34162 file_get_storage_info to implement grub_guess_root_device.
34163
26a61d6a
FZ
341642009-11-21 Felix Zielcke <fzielcke@z-51.de>
34165
34166 * Makefile.in (target): Use make's builtin $(shell) function
34167 instead of calling directly $(SHELL) to create the locale directories,
34168 inside the $(foreach) function.
34169
74ff1dd5
FZ
341702009-11-21 Felix Zielcke <fzielcke@z-51.de>
34171
34172 * util/grub-mkrescue.in: Print an error and usage if output option
34173 has not been given.
34174
0b787d0e
FZ
341752009-11-21 Felix Zielcke <fzielcke@z-51.de>
34176
34177 Patch from Loïc Minier <loic.minier@ubuntu.com>.
34178 * util/grub.d/30_os-prober.in: Cope with Linux entries where
34179 root and /boot are on different devices.
34180
1164b270
RM
341812009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34182
34183 Fix build for srcdir != objdir.
34184
34185 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
34186 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
34187 $(srcdir).
34188 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
34189 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
34190 reference for input.
34191
13774a2f
RM
341922009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34193
34194 * util/grub-mkrescue.in: Use source directory direcly (without copiing
34195 or hardlinking it). Remove -J option, Joliet is not compatible with
34196 multiple source directories.
34197
efda854e
RM
341982009-11-21 Carles Pina i Estany <carles@pina.cat>
341992009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34200
34201 * util/grub-mkrescue.in: Recognize `--override-directory' option.
34202 (process_input_dir): New function. Process an arbitrary input
34203 directory.
34204 Misc adjustments to support both "override mode" and system-wide mode.
34205
6c09890c
FZ
342062009-11-20 Felix Zielcke <fzielcke@z-51.de>
34207
34208 * configure.ac (UNIFONT_BDF): Rename to ...
34209 (FONT_SOURCE): ... this. Update all users.
34210
a797824f
FZ
342112009-11-20 Felix Zielcke <fzielcke@z-51.de>
34212
34213 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
34214 to the list of unifont files to look for.
34215
cd4f42b0
RM
342162009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34217
34218 Patch from Joe Auricchio <jauricchio@gmail.com>
34219 * commands/minicmd.c (grub_mini_cmd_clear): New function.
34220 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
34221 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
34222
393c783d
FZ
342232009-11-19 Felix Zielcke <fzielcke@z-51.de>
34224
34225 * Makefile.in (install-local): Add a missing backslash.
34226
b2f1e327
FZ
342272009-11-19 Felix Zielcke <fzielcke@z-51.de>
34228
34229 * include/grub/x86_64/io.h: New file.
34230
f577f7a0
RM
342312009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34232
34233 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
34234 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
34235 Include `"progname.h"'.
34236 (main): Initialize gettext.
34237 * util/i386/pc/grub-setup.c: Gettexttize.
34238 * util/i386/pc/grub-mkimage.c: Likewise.
34239
34240 * Makefile.in (po/*.po): Redefine as ...
34241 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
34242
3bc7896c
RM
34243 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
34244
c37943b6
RM
342452009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34246
34247 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
34248 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
34249 (program_name): Remove.
34250 (main): Initialize gettext support.
6323f705
RM
34251 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
34252 Include `<libintl.h>'.
34253 (_): New macro.
c37943b6
RM
34254
34255 * util/mkisofs/eltorito.c: Gettexttize.
34256 * util/mkisofs/joliet.c: Likewise.
34257 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
34258 * util/mkisofs/multi.c: Likewise.
34259 * util/mkisofs/rock.c: Likewise.
34260 * util/mkisofs/tree.c: Likewise.
34261 * util/mkisofs/write.c: Likewise.
34262
3bc7896c
RM
34263 * po/POTFILES: Update with new files.
34264
5ce77c6e
RM
342652009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34266
34267 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
34268 * util/mkisofs/iso9660.h: Likewise.
34269 * util/mkisofs/joliet.c: Likewise.
34270 * util/mkisofs/mkisofs.c: Likewise.
34271 * util/mkisofs/mkisofs.h: Likewise.
34272 * util/mkisofs/rock.c: Likewise.
34273 * util/mkisofs/tree.c: Likewise.
34274 * util/mkisofs/write.c: Likewise.
34275
34276 * util/mkisofs/eltorito.c (rcsid): Remove.
34277 * util/mkisofs/hash.c: Likewise.
34278 * util/mkisofs/joliet.c: Likewise.
34279 * util/mkisofs/name.c: Likewise.
34280 * util/mkisofs/rock.c: Likewise.
34281 * util/mkisofs/tree.c: Likewise.
34282 * util/mkisofs/write.c: Likewise.
34283
1dabbc77
RM
342842009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34285
34286 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
34287 instead of static allocation.
34288 * util/mkisofs/match.h: Likewise.
34289
633877cb
RM
342902009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34291
3bc7896c
RM
34292 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
34293 and `util/grub.d/10_linux.in'.
633877cb
RM
34294 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
34295 translatable Shell files.
34296
af1c0c85
RM
342972009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34298
34299 * Makefile.in ($(srcdir)/aclocal.m4): New target.
34300
769ae37b
RM
343012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34302
34303 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 34304 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
34305 * util/grub.d/10_kfreebsd.in (bindir): New variable.
34306 Add gettext initialization.
34307 (kfreebsd_entry): Make menuentry output translatable.
34308
343092009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34310
34311 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
34312 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
34313 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
34314 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
34315 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 34316 * po/LINGUAS: New file.
769ae37b
RM
34317
343182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34319
34320 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
34321 other things).
34322 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
34323 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
34324 bindtextdomain() calls for gettext initialization.
34325
343262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34327
34328 * gnulib/progname.c: New file (imported from Gnulib).
34329 * gnulib/progname.h: Likewise.
34330 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34331 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
34332 (usage): Replace `progname' with `program_name'.
34333 (main): Use set_program_name() for program name initialization.
34334
343352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34336
34337 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
34338 from here ...
34339 * Makefile.in (CPPFLAGS): ... to here.
34340
343412009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34342
34343 * aclocal.m4: Move from here ...
34344 * acinclude.m4: ... to here.
34345 * autogen.sh: Add call to `aclocal'.
34346 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
34347
343482009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34349
34350 * Makefile.in (CLEANFILES): Add `po/*.mo'.
34351 (LINGUAS): New variable.
34352 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
34353 (install-local): Install MO files.
34354 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
34355 * include/grub/i18n.h: New file.
3bc7896c
RM
34356 * po/POTFILES: New file.
34357 * po/ca.po: New file.
769ae37b
RM
34358 * util/grub.d/10_linux.in (bindir): New variable.
34359 Add gettext initialization.
34360 (linux_entry): Make menuentry output translatable.
34361 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
34362 (usage): Make --help output translatable.
34363 (main): Initialize gettext.
34364
02c0a6ad
RM
343652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34366
34367 * import_gcry.py: New file (written by Vladimir with minor
34368 adjustments).
34369 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
34370 ciphers.
34371 * INSTALL: Document that Python is required for bootstrap.
34372
343732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34374
34375 Import ciphers from libgcrypt 1.4.4.
34376
34377 * lib/libgcrypt/cipher/ChangeLog
34378 * lib/libgcrypt/cipher/ac.c
34379 * lib/libgcrypt/cipher/arcfour.c
34380 * lib/libgcrypt/cipher/bithelp.h
34381 * lib/libgcrypt/cipher/blowfish.c
34382 * lib/libgcrypt/cipher/camellia-glue.c
34383 * lib/libgcrypt/cipher/camellia.c
34384 * lib/libgcrypt/cipher/camellia.h
34385 * lib/libgcrypt/cipher/cast5.c
34386 * lib/libgcrypt/cipher/cipher.c
34387 * lib/libgcrypt/cipher/crc.c
34388 * lib/libgcrypt/cipher/des.c
34389 * lib/libgcrypt/cipher/dsa.c
34390 * lib/libgcrypt/cipher/ecc.c
34391 * lib/libgcrypt/cipher/elgamal.c
34392 * lib/libgcrypt/cipher/hash-common.c
34393 * lib/libgcrypt/cipher/hash-common.h
34394 * lib/libgcrypt/cipher/hmac-tests.c
34395 * lib/libgcrypt/cipher/md.c
34396 * lib/libgcrypt/cipher/md4.c
34397 * lib/libgcrypt/cipher/md5.c
34398 * lib/libgcrypt/cipher/primegen.c
34399 * lib/libgcrypt/cipher/pubkey.c
34400 * lib/libgcrypt/cipher/rfc2268.c
34401 * lib/libgcrypt/cipher/rijndael-tables.h
34402 * lib/libgcrypt/cipher/rijndael.c
34403 * lib/libgcrypt/cipher/rmd.h
34404 * lib/libgcrypt/cipher/rmd160.c
34405 * lib/libgcrypt/cipher/rsa.c
34406 * lib/libgcrypt/cipher/seed.c
34407 * lib/libgcrypt/cipher/serpent.c
34408 * lib/libgcrypt/cipher/sha1.c
34409 * lib/libgcrypt/cipher/sha256.c
34410 * lib/libgcrypt/cipher/sha512.c
34411 * lib/libgcrypt/cipher/tiger.c
34412 * lib/libgcrypt/cipher/twofish.c
34413 * lib/libgcrypt/cipher/whirlpool.c
34414
af2f93ac
RM
344152009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34416
34417 Fix build for systems without error().
34418
34419 * gnulib/error.c: New file (imported from Gnulib).
34420 * gnulib/error.h: Likewise.
34421 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
34422 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
34423 (this variable is now used by error()).
34424
73fb3dd5
FZ
344252009-11-16 Felix Zielcke <fzielcke@z-51.de>
34426
814f5e96
FZ
34427 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
34428 instead of relying that char is signed.
73fb3dd5 34429
a691ca33
VS
344302009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
34431
34432 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
34433 blocksize different from specified.
34434 (grub_pxefs_read): Likewise.
34435
2af8f0f4
FZ
344362009-11-16 Felix Zielcke <fzielcke@z-51.de>
34437
34438 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
34439
34440 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
34441 (grub_ata_readwrite): Likewise. Update 2 format strings.
34442 (grub_atapi_read): Likewise.
34443
34444 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
34445 * conf/i386.rmk (pkglib_MODULES): ... to here ...
34446 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
34447 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
34448 (ata_mod_LDFLAGS): Move from here ...
34449 * conf/i386.rmk: ... to here ...
34450 * conf/x86_64-efi.rmk: ... and here.
34451 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
34452 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
34453
83bdecaf
RM
344542009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34455
34456 Relicense multiboot.h, with RMS' blessing.
34457
34458 * include/multiboot.h: Change to X11 license.
34459
fd6fd3d7
RM
344602009-11-15 Robert Millan <rmh.grub@aybabtu.com>
34461
34462 Support --version in grub-mkisofs.
34463
34464 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
34465 (OPTION_VERSION): New macro.
34466 (ld_options): Recognize --version.
34467 (usage): Move `program_name' from here ...
34468 (program_name): ... to here. Add `static' qualifier.
34469 (main): Recognize `OPTION_VERSION'.
34470
16a88c49
FZ
344712009-11-15 Felix Zielcke <fzielcke@z-51.de>
34472
34473 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
34474 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
34475
a4158476
RM
344762009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34477
34478 Fix help2man generation for mkisofs.
34479
34480 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
34481 (usage): Send output to stdout (rather than stderr).
34482
fc2208b0
RM
344832009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34484
34485 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
34486 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34487 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
34488 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34489 (bin_SCRIPTS): Add `grub-mkfloppy'.
34490 (grub_mkfloppy_SOURCES): New variable.
34491
34492 * util/grub-mkrescue.in: New file.
34493 * util/i386/pc/grub-mkfloppy.in: New file.
34494
34495 * util/i386/coreboot/grub-mkrescue.in: Remove.
34496 * util/i386/pc/grub-mkrescue.in: Remove.
34497
8d0edf4a
RM
344982009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34499
34500 * include/grub/multiboot.h (struct grub_multiboot_header): Move
34501 from here ...
34502 * include/multiboot.h (struct multiboot_header): ... to here. Update
34503 all users.
34504 * include/grub/multiboot.h (struct grub_multiboot_info): Move
34505 from here ...
34506 * include/multiboot.h (struct multiboot_info): ... to here. Update
34507 all users.
34508 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
34509 from here ...
34510 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
34511 Update all users.
34512 * include/grub/multiboot.h (struct grub_mod_list): Move
34513 from here ...
34514 * include/multiboot.h (struct multiboot_mod_list): ... to here.
34515 Update all users.
34516
a73f5969
RM
345172009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34518
34519 * include/multiboot2.h (multiboot_word): Rename from this ...
34520 (multiboot2_word): ... to this. Update all users.
34521 (multiboot_header): Rename from this ...
34522 (multiboot2_header): ... to this. Update all users.
34523 (multiboot_tag_header): Rename from this ...
34524 (multiboot2_tag_header): ... to this. Update all users.
34525 (multiboot_tag_start): Rename from this ...
34526 (multiboot2_tag_start): ... to this. Update all users.
34527 (multiboot_tag_name): Rename from this ...
34528 (multiboot2_tag_name): ... to this. Update all users.
34529 (multiboot_tag_module): Rename from this ...
34530 (multiboot2_tag_module): ... to this. Update all users.
34531 (multiboot_tag_memory): Rename from this ...
34532 (multiboot2_tag_memory): ... to this. Update all users.
34533 (multiboot_tag_unused): Rename from this ...
34534 (multiboot2_tag_unused): ... to this. Update all users.
34535 (multiboot_tag_end): Rename from this ...
34536 (multiboot2_tag_end): ... to this. Update all users.
34537
1c8927f0
RM
345382009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34539
34540 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
34541 this platform we should support Multiboot1 first.
34542
34543 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
34544 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
34545 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
34546
6e1e0d89
RM
345472009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34548
34549 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
34550 of write calls (converting them to fwrite() if they aren't already).
34551 (get_torito_desc): Likewise.
34552 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
34553
7f2b34d8
RM
345542009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34555
34556 * util/i386/pc/grub-install.in: Move from here ...
34557 * util/grub-install.in: ... to here. Update all users.
34558
c0ef3311
CW
345592009-11-11 Colin Watson <cjwatson@ubuntu.com>
34560
34561 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
34562
e1f240ff
RM
345632009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34564
34565 Support for El Torito without floppy emulation.
34566
34567 * util/mkisofs/eltorito.c: Include `<errno.h>'.
34568 (init_boot_catalog): Improve error handling.
34569 (get_torito_desc): Don't use floppy emulation unless requested by
34570 user. Patch boot information table when requested via
34571 `-boot-info-table'.
34572 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
34573 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
34574 (use_boot_info_table): New variables.
34575 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
34576 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
34577 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
34578 `--eltorito-emul-floppy'.
34579 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
34580 and `OPTION_ELTORITO_EMUL_FLOPPY'.
34581 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
34582 (use_boot_info_table, get_731): New prototypes.
34583 * util/mkisofs/write.c (get_731): New function.
34584
af7d4de5
FZ
345852009-11-11 Felix Zielcke <fzielcke@z-51.de>
34586
34587 Fix the generation of the man page.
34588
34589 * util/pc/i386/grub-install.in: Source
34590 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
34591
2c55dbc0
RM
345922009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34593
34594 Large file support for grub-mkisofs.
34595
34596 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
34597 * util/mkisofs/mkisofs.c (next_extent, last_extent)
34598 (session_start): Upgrade type to `uint64_t'. Update all users.
34599 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
34600 (struct directory_entry): Upgrade type of `starting_block' and
34601 `size' to `uint64_t'. Update all users.
34602 (struct deferred): Remove unused structure.
34603 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
34604 Update all users.
34605 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
34606 file is larger than `UINT32_MAX'.
34607 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
34608 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
34609 return value.
34610 (struct deferred_write): Upgrade type of `extent' and `size' to
34611 `uint64_t'. Update all users.
34612 (last_extent_written): Upgrade type to `uint64_t'. Update all
34613 users.
34614 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
34615 Update all users. Upgrade type of `remain' to `int64_t' and
34616 `use' to `size_t'. Use error() to handle fread() errors.
34617 (write_files): Rely on write_one_file() rather than calling
34618 xfwrite() directly.
34619
6a9cead5
FZ
346202009-11-09 Felix Zielcke <fzielcke@z-51.de>
34621
34622 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
34623
4825d790
RM
346242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34625
34626 * util/mkisofs/fnmatch.c: Remove.
34627 * util/mkisofs/getopt1.c: Likewise.
34628 * util/mkisofs/getopt.c: Likewise.
34629 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
34630 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
34631 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
34632 `gnulib/getopt1.c' and `gnulib/getopt.c'.
34633 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
34634
34635 * configure.ac: Detect `mingw32msvc' host_os.
34636 Check for lstat(), getuid() and getgid().
34637
34638 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
34639 instances of `u_char' with `uint8_t'.
34640
34641 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
34642 [!HAVE_GETUID] (getuid): New function (stub).
34643 [!HAVE_GETGID] (getgid): Likewise.
34644 [!HAVE_LSTAT] (lstat): Likewise.
34645 [!S_IROTH] (S_IROTH): New macro (dummy).
34646 [!S_IRGRP] (S_IRGRP): Likewise.
34647
84b860d8
RM
346482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34649
34650 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
34651 conditional expression).
34652
66e9b712
RM
346532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34654
34655 Import from Gnulib.
34656
34657 * gnulib/fnmatch.c: New file.
34658 * gnulib/fnmatch.h: Likewise.
34659 * gnulib/fnmatch_loop.c: Likewise.
34660 * gnulib/getopt.c: Likewise.
34661 * gnulib/getopt.h: Likewise.
34662 * gnulib/getopt1.c: Likewise.
34663 * gnulib/getopt_int.h: Likewise.
34664 * gnulib/gettext.h: Likewise.
34665
34f4a5b0
RM
346662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34667
34668 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
34669 * normal/handler.c (read_handler_list): Likewise.
34670
ac451143
RM
346712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34672
34673 Misc cleanup.
34674
34675 * kern/command.c (grub_register_command_prio): Use
34676 grub_zalloc() instead of explicitly zeroing data.
34677 * kern/list.c: Include `<grub/mm.h>'.
34678 (grub_named_list_find): Replace `0' with `NULL'.
34679 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
34680 (fs_module_list): Change type to `grub_named_list_t'. Update all
34681 users.
34682 * normal/dyncmd.c (read_command_list): Add space between function
34683 call and parenthesis.
34684 * normal/handler.c (read_handler_list): Likewise.
34685
4089b167
RM
346862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34687
34688 * normal/auth.c (punishment_delay): Moved from here ...
34689 (grub_auth_strcmp): ... to here (inside function).
34690
325f5037
RM
346912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34692
34693 * include/grub/list.h (struct grub_named_list): Remove `const'
34694 qualifier from `name'.
34695 (struct grub_prio_list): Likewise.
34696
7aea29a3
RM
346972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34698
34699 * normal/auth.c: Include `<grub/time.h>'.
34700 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
34701
3fd6f044
RM
347022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34703
34704 * normal/auth.c (punishment_delay): New variable.
34705 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
34706 (grub_auth_check_authentication): Punish failed login attempts with
34707 an incremental (2^N) delay.
34708
a4cd68e4
RM
347092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34710
34711 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
34712 path with $(srcdir).
34713
7ad12f43
VS
347142009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34715
34716 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
34717
c1129f03
RM
347182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34719
34720 * util/i386/coreboot/grub-mkrescue.in: New file.
34721 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
34722 variables.
34723
34724 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
34725 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
34726 * configure.ac: Add header and function checks to satisfy grub-mkisofs
34727 requirements.
34728 * util/mkisofs/defaults.h: New file.
34729 * util/mkisofs/eltorito.c: Likewise.
34730 * util/mkisofs/exclude.h: Likewise.
34731 * util/mkisofs/fnmatch.c: Likewise.
34732 * util/mkisofs/getopt.c: Likewise.
34733 * util/mkisofs/getopt1.c: Likewise.
34734 * util/mkisofs/hash.c: Likewise.
34735 * util/mkisofs/include/fctldefs.h: Likewise.
34736 * util/mkisofs/include/mconfig.h: Likewise.
34737 * util/mkisofs/include/prototyp.h: Likewise.
34738 * util/mkisofs/include/statdefs.h: Likewise.
34739 * util/mkisofs/iso9660.h: Likewise.
34740 * util/mkisofs/joliet.c: Likewise.
34741 * util/mkisofs/match.c: Likewise.
34742 * util/mkisofs/match.h: Likewise.
34743 * util/mkisofs/mkisofs.c: Likewise.
34744 * util/mkisofs/mkisofs.h: Likewise.
34745 * util/mkisofs/multi.c: Likewise.
34746 * util/mkisofs/name.c: Likewise.
34747 * util/mkisofs/rock.c: Likewise.
34748 * util/mkisofs/tree.c: Likewise.
34749 * util/mkisofs/write.c: Likewise.
34750
ec8bb77d
VS
347512009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34752
34753 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
34754 being insecure.
34755
3716b12c
RM
347562009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34757
34758 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
34759 `grub-mkimage' (and use $0 when possible).
34760
b97b7b91
RM
347612009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34762
34763 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
34764 error message for excessively large memory map.
34765
04114812
RM
347662009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34767
34768 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
34769 executable bit.
34770
e4eb2373
RM
347712009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34772
34773 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
34774 message for coreboot users.
34775
c926e1d5 347762009-11-07 Robert Millan <rmh.grub@aybabtu.com>
34777
34778 Fix build with GNU gold.
34779
34780 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
34781 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
34782 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
34783 link addresses.
34784 * aclocal.m4: Likewise.
34785
86e5b1db 347862009-11-04 Felix Zielcke <fzielcke@z-51.de>
34787
34788 * configure.ac (AC_PREREQ): Bump to 2.59d.
34789 * INSTALL: Make it more clear when Autoconf and Ruby are
34790 needed and when to run `./autogen.sh'.
34791
246cd78f 347922009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
34793
34794 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
34795 OSes.
34796
4f9dfb37 347972009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34798
34799 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
34800
b82bd5e1 348012009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34802
34803 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34804 giving it to GNU Mach.
34805
ff1a9bca 348062009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34807
34808 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
34809 GNU partition number to get internal GRUB partition number.
34810
61697d9c 348112009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34812
34813 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
34814 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
34815
a50569e1 348162009-11-01 Robert Millan <rmh.grub@aybabtu.com>
34817
34818 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
34819 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
34820 case.
34821
5b153867 348222009-11-01 Felix Zielcke <fzielcke@z-51.de>
34823
34824 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
34825
d9e2cd70 348262009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34827
34828 Fix build problem.
34829
34830 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
34831 `-isystem=$(srcdir)/include'.
34832
805111a4 348332009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34834
34835 * util/i386/pc/grub-install.in: Remove hint that device.map should be
34836 checked (grub-install doesn't currently rely on it).
34837
fa6e945f 348382009-10-29 Robert Millan <rmh.grub@aybabtu.com>
34839
34840 Revert SVN r2660.
34841
34842 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
34843 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34844 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
34845 * conf/i386-ieee1275.rmk: Likewise.
34846 * conf/i386-pc.rmk: Likewise.
34847 * conf/powerpc-ieee1275.rmk: Likewise.
34848 * conf/sparc64-ieee1275.rmk: Likewise.
34849 * conf/x86_64-efi.rmk: Likewise.
34850
cee15086 348512009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34852
34853 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
34854
95b9239e 348552009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34856
34857 * include/grub/misc.h: Stop checking for APPLE_CC.
34858
2ed19dfd 348592009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34860
34861 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
34862 doesn't cause an infinite call loop.
34863
fdcdde19 348642009-10-28 Felix Zielcke <fzielcke@z-51.de>
34865
34866 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
34867 strings.
34868
cefabfe1 348692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34870
34871 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
34872 variable.
34873 * Makefile.in: Likewise.
34874
ed96ab6d 348752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34876
34877 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
34878
0579b753 348792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34880
34881 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
34882
478df409 348832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34884
34885 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
34886
083d1679 348872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34888
34889 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
34890 from here ...
34891 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
34892
5947ae32 348932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34894
34895 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
34896 in $(MAKEINFO) invocation. This makes it clear in output that
34897 errors are being ignored.
34898
94180ff6 348992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34900
34901 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
34902 from here ...
34903 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34904 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
34905 * conf/i386-ieee1275.rmk: Likewise.
34906 * conf/i386-pc.rmk: Likewise.
34907 * conf/powerpc-ieee1275.rmk: Likewise.
34908 * conf/sparc64-ieee1275.rmk: Likewise.
34909 * conf/x86_64-efi.rmk: Likewise.
34910
9031b03a 349112009-10-26 Colin Watson <cjwatson@ubuntu.com>
34912
34913 * util/grub-editenv.c (main): If only a command is given, use
34914 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
34915 (usage): FILENAME is now optional and has a default.
34916
e4f6809b 349172009-10-26 Colin Watson <cjwatson@ubuntu.com>
34918
34919 Improve grub-mkconfig performance when there are several menu
34920 entries on a single filesystem.
34921
34922 * util/grub.d/10_linux.in (linux_entry): Cache the output of
34923 prepare_grub_to_access_device.
34924 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34925 * util/grub.d/30_os-prober.in: Likewise.
34926
67937d4d 349272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34928
34929 * util/grub.d/10_freebsd.in: Remove.
34930 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
34931 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
34932
ee3756cc 349332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34934
5c35048e 34935 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 34936
4dea1c6f 349372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34938
34939 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
34940 grub_util_error() call.
34941
042484d7 349422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34943
34944 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
34945 `reserved_first_sector' member.
34946 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
34947 `reserved_first_sector' to 1.
34948 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
34949 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
34950 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
34951 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
34952 filesystems which begin at first sector.
34953 (options): New option --skip-fs-probe.
34954 (main): Handle --skip-fs-probe and pass it to setup().
34955
d64448a7 349562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34957
34958 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
34959 (memset): Fix function prototype.
34960
508d42ec 349612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
349622009-10-25 Vasily Averin <vvs@parallels.com>
34963
34964 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
34965 `dirent.direntlen == 0'.
34966
b240e30c 349672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34968
34969 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
34970 `cpio'.
34971 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
34972
346e7fbe 349732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34974
34975 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
34976 `__trampoline_setup' and `__ucmpdi2'.
34977 * include/grub/powerpc/libgcc.h: Only export symbols for functions
34978 that libgcc provides.
34979
cdb308b0 349802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34981
34982 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
34983 * include/grub/sparc64/libgcc.h (memset): Likewise.
34984 * include/grub/misc.h (memset, memcmp): New function prototypes.
34985
fb26abc2 349862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34987
34988 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
34989 `cpio'.
34990 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
34991
f6693890 349922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34993
34994 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
34995 * docs/grub.cfg: Compensate for recent change in multiboot
34996 loader (since 2009-08-14 it won't pass filename to payload).
34997 * util/grub.d/10_hurd.in: Likewise.
34998
0933cdc0 349992009-10-21 Felix Zielcke <fzielcke@z-51.de>
35000
35001 * config.guess: Update to latest version from config git
35002 repository.
35003 * config.sub: Likewise.
35004
3b2fe8c2 350052009-10-20 Robert Millan <rmh.grub@aybabtu.com>
35006
35007 Fix build on sparc64.
35008
35009 * configure.ac: Perform checks for libgcc symbols before
35010 adding `-nostdlib' to LDFLAGS.
35011
46695a62 350122009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35013
35014 Let user specify OpenBSD root device.
35015
35016 * loader/i386/bsd.c (openbsd_root): New variable.
35017 (openbsd_opts): New option 'root'.
35018 (OPENBSD_ROOT_ARG): New macro.
35019 (grub_openbsd_boot): Use 'openbsd_root'.
35020 (grub_cmd_openbsd): Fill 'openbsd_root'.
35021
d2b6b7fc 350222009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35023
35024 * NEWS: Misc adjustments.
35025
421bd7ac 350262009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35027
35028 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
35029
f1d29d87 350302009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35031
35032 * configure.ac: Bump version to 1.97.
35033
6f3cd880 350342009-10-16 Colin Watson <cjwatson@ubuntu.com>
35035
35036 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
35037 -mno-3dnow on x86 architectures. Some toolchains enable these
35038 features by default, but they rely on registers that aren't enabled
35039 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
35040
035f7122 350412009-10-15 Robert Millan <rmh.grub@aybabtu.com>
35042
35043 Make entry text a bit more readable.
35044
35045 * util/grub.d/10_linux.in: Add `with' before `Linux'.
35046
44998e58 350472009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35048
35049 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
35050
cd2851b3 350512009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35052
35053 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
35054 operations.
35055
c6f3b249 350562009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35057
35058 * configure.ac: Add missing dollar.
35059
6b5886ba 350602009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35061
35062 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
35063
35064 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
35065 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
35066 exports.
35067 * include/grub/sparc64/libgcc.h: Likewise. Use
35068 preprocessor conditionals.
35069
e9d66f6d 350702009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35071
35072 * conf/common.rmk (grub-dumpbios): Remove rule.
35073 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
35074 * util/grub-dumpbios.in: Remove file.
35075
9155bc17 350762009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35077
35078 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
35079 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
35080
35081 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
35082 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
35083 users.
35084
35085 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
35086 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
35087 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
35088 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
35089 users.
35090
bf7f7a18 350912009-10-12 Robert Millan <rmh.grub@aybabtu.com>
35092
35093 * term/tparm.c: Switch to GPLv3.
35094
86564c26 350952009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35096
35097 * include/grub/i386/cpuid.h: Add header protection.
35098
5c936493 350992009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35100
35101 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
35102
35103 * include/grub/i386/cpuid.h: New file.
35104 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
35105 (has_longmode): Rename to ...
35106 (grub_cpuid_has_longmode): ... this. Update all users. Remove
35107 `static' attribute.
35108 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
35109 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
35110 on a CPU that doesn't implement AMD64 instruction set.
35111
186e7cf2 351122009-10-06 Colin Watson <cjwatson@ubuntu.com>
35113
35114 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
35115 that version.texi is rebuilt on version number changes.
35116
83b65c4a 351172009-10-06 Colin Watson <cjwatson@ubuntu.com>
35118
35119 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
35120 Fixes bug #27602.
35121
d244281c 351222009-10-06 Colin Watson <cjwatson@ubuntu.com>
35123
35124 * util/i386/pc/grub-install.in: Source
35125 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
35126 that the --grub-probe option will work.
35127 * util/sparc64/ieee1275/grub-install.in: Likewise.
35128
da25306d 351292009-10-05 Robert Millan <rmh.grub@aybabtu.com>
35130
35131 * configure.ac: Bump version to 1.97~beta4.
35132
e8ee83c0 351332009-10-03 Robert Millan <rmh.grub@aybabtu.com>
35134
35135 Resync grub-mkdevicemap in x86_64-efi.
35136
35137 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
35138 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
35139 `util/devicemap.c'.
35140
50dcabcf 351412009-10-01 Colin Watson <cjwatson@ubuntu.com>
35142
35143 * util/grub-editenv.c (create_envblk_file): Write new block with a
35144 .new suffix and then rename it into place, to ensure atomic
35145 creation.
35146
0e51c3a7 351472009-09-28 Robert Millan <rmh.grub@aybabtu.com>
35148
35149 Do not automatically install headers.
35150
35151 * Makefile.in (include_DATA): Remove. Update all users.
35152
31299a95 351532009-09-26 Robert Millan <rmh.grub@aybabtu.com>
35154
35155 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
35156 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
35157
35158 * util/osdetect.lua: Remove.
35159 * script/lua/lauxlib.c: Likewise.
35160 * script/lua/ldebug.c: Likewise.
35161 * script/lua/grub_main.c: Likewise.
35162 * script/lua/lauxlib.h: Likewise.
35163 * script/lua/ldebug.h: Likewise.
35164 * script/lua/ltablib.c: Likewise.
35165 * script/lua/liolib.c: Likewise.
35166 * script/lua/lstrlib.c: Likewise.
35167 * script/lua/lualib.h: Likewise.
35168 * script/lua/ldo.c: Likewise.
35169 * script/lua/ldump.c: Likewise.
35170 * script/lua/ldo.h: Likewise.
35171 * script/lua/loslib.c: Likewise.
35172 * script/lua/lundump.c: Likewise.
35173 * script/lua/grub_lib.c: Likewise.
35174 * script/lua/ldblib.c: Likewise.
35175 * script/lua/lundump.h: Likewise.
35176 * script/lua/lmem.c: Likewise.
35177 * script/lua/grub_lib.h: Likewise.
35178 * script/lua/lmathlib.c: Likewise.
35179 * script/lua/lstate.c: Likewise.
35180 * script/lua/ltm.c: Likewise.
35181 * script/lua/lvm.c: Likewise.
35182 * script/lua/lmem.h: Likewise.
35183 * script/lua/lstate.h: Likewise.
35184 * script/lua/ltm.h: Likewise.
35185 * script/lua/ltable.c: Likewise.
35186 * script/lua/lvm.h: Likewise.
35187 * script/lua/llex.c: Likewise.
35188 * script/lua/lgc.c: Likewise.
35189 * script/lua/grub_lua.h: Likewise.
35190 * script/lua/loadlib.c: Likewise.
35191 * script/lua/lfunc.c: Likewise.
35192 * script/lua/lopcodes.c: Likewise.
35193 * script/lua/lparser.c: Likewise.
35194 * script/lua/ltable.h: Likewise.
35195 * script/lua/llex.h: Likewise.
35196 * script/lua/lgc.h: Likewise.
35197 * script/lua/lfunc.h: Likewise.
35198 * script/lua/lbaselib.c: Likewise.
35199 * script/lua/lopcodes.h: Likewise.
35200 * script/lua/lparser.h: Likewise.
35201 * script/lua/lzio.c: Likewise.
35202 * script/lua/linit.c: Likewise.
35203 * script/lua/lobject.c: Likewise.
35204 * script/lua/llimits.h: Likewise.
35205 * script/lua/lstring.c: Likewise.
35206 * script/lua/lzio.h: Likewise.
35207 * script/lua/lapi.c: Likewise.
35208 * script/lua/lcode.c: Likewise.
35209 * script/lua/lua.h: Likewise.
35210 * script/lua/lobject.h: Likewise.
35211 * script/lua/lstring.h: Likewise.
35212 * script/lua/lapi.h: Likewise.
35213 * script/lua/lcode.h: Likewise.
35214 * script/lua/luaconf.h: Likewise.
35215
cb8a2c38 352162009-09-26 Colin Watson <cjwatson@ubuntu.com>
35217
35218 * docs/grub.texi (Command-line and menu entry commands): Document
35219 date and echo commands.
35220
6b9b6276 352212009-09-24 Pavel Roskin <proski@gnu.org>
35222
35223 * include/grub/kernel.h (struct grub_module_header): Remove
35224 `grub_module_header_types'. Make `type' unsigned. Make `size'
35225 32-bit on all platforms.
35226 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
35227 8-bit field. Use grub_host_to_target32() for `size'.
35228 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
35229 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
35230 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
35231
4e5a02a7 352322009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35233
35234 Fix "lost keypress" bug in at_keyboard.
35235
35236 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
35237 Checks for readyness of input buffer (without flushing it).
35238 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
35239 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
35240
c6dcedf6 352412009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35242
35243 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
35244 size check within GRUB_MACHINE_PCBIOS section.
35245
74c958b1 352462009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35247
35248 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
35249 return value.
35250 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
35251 KEYBOARD_ISREADY check.
35252 (grub_at_keyboard_checkkey): Rename to ...
35253 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
35254 Remove gratuitous cast.
35255
ff420223 352562009-09-23 Colin Watson <cjwatson@ubuntu.com>
35257
35258 * configure.ac: Call AC_PROG_MKDIR_P.
35259 * Makefile.in (docs/stamp-vti): Create docs directory. Create
35260 version.texi in $(builddir) rather than $(srcdir).
35261 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
35262 to makeinfo's @include search path.
35263
d96875df 352642009-09-23 Felix Zielcke <fzielcke@z-51.de>
35265
35266 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
35267
9b3f8365 352682009-09-23 Felix Zielcke <fzielcke@z-51.de>
35269
35270 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
35271 for `*.dpkg-new'.
35272
c44c90db 352732009-09-21 Colin Watson <cjwatson@ubuntu.com>
35274
35275 Build info documentation. Some code borrowed from Automake.
35276
35277 * configure.ac: Check for makeinfo.
35278 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
35279 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
35280 docs/version.texi.
35281 (MOSTLYCLEANFILES): Add vti.tmp.
35282 (docs/version.texi, docs/stamp-vti): Update automatically.
35283 (docs/grub.info): Build info documentation. Use --force and ignore
35284 errors for now.
35285 (all-local): Add $(INFOS).
35286 (install-local): Install info files.
35287 (uninstall): Uninstall info files.
35288 * docs/version.texi: Remove from revision control. This file is
35289 automatically generated on build now.
35290 * gendistlist.sh: Add `*.info'.
35291
e0b37bb5 352922009-09-21 Felix Zielcke <fzielcke@z-51.de>
35293
35294 * kern/term.c: Fix indentation.
35295
5a78865b 352962009-09-21 Felix Zielcke <fzielcke@z-51.de>
35297
35298 * util/hostdisk.c: Fix a comment.
35299
dace7e8a 353002009-09-20 Robert Millan <rmh.grub@aybabtu.com>
35301
35302 Fix regression introduced in r2539.
35303
35304 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
35305 to 0xA1.
35306
a83d079b 353072009-09-19 Colin Watson <cjwatson@ubuntu.com>
35308
35309 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 35310 os-prober. Under normal operation, it does not print anything to
35311 stderr; if it does, we need to debug it, and throwing away stderr
35312 makes that excessively difficult.
a83d079b 35313
be94a509 353142009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
35315
35316 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
35317
63f745e8 353182009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35319
35320 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
35321 AC_LANG_PROGRAM from autoconf.
35322 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
35323 prototypes (fixes warning).
35324
35325 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
35326 `--disable-werror' was used.
35327
bbb2a70f 353282009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35329
35330 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
35331 uninitialized `lastaddr'.
35332
77c24f1d 353332009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
35334
0f0b8c87 35335 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 35336
07197f23 353372009-09-14 Colin Watson <cjwatson@ubuntu.com>
35338
35339 * commands/test.c (get_fileinfo): Return immediately if
35340 grub_fs_probe fails.
35341
dabf1798 353422009-09-14 José Martínez <xosemp@gmail.com>
35343
35344 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
35345
d52109a7 353462009-09-14 Colin Watson <cjwatson@ubuntu.com>
35347
35348 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
35349 output.
35350
56532179 353512009-09-13 Robert Millan <rmh.grub@aybabtu.com>
35352
35353 * configure.ac: Remove --enable-grub-pe2elf. Only build
35354 grub-pe2elf when needed by the build system itself.
35355 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
35356
8ef070f5 353572009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35358
35359 * configure.ac: Bump version to 1.97~beta3.
35360 * docs/version.texi: Likewise.
35361
61229557 353622009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35363
35364 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
35365 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
35366 from here ...
35367 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
35368 (grub_linux_setup_video): ... to here (with some adjustments).
35369
5c9f8d84 353702009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35371
35372 Fix memory corruption issue (spotted by Colin Watson).
35373
35374 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
35375 causing returned size to be stored in an incorrect memory location.
35376 Fix use of uninitialized value when storing the returned size.
35377
e8f5d6e9 353782009-09-12 Yves Blusseau <blusseau@zetam.org>
35379
35380 Change clean rules to properly remove files
35381
35382 * genmk.rb: add new clean rules
35383 * Makefile.in (clean): add the new targets
35384 (mostlyclean): likewise
35385
cda2a409 353862009-09-11 Colin Watson <cjwatson@ubuntu.com>
35387
35388 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
35389 to grub_uint64_t.
35390 * fs/ntfs.c (init_file): Understand 64-bit sizes for
35391 non-resident files.
35392
86695375 353932009-09-11 Colin Watson <cjwatson@ubuntu.com>
35394
35395 * configure.ac: Don't look for help2man when cross-compiling. Fixes
35396 part of bug #27349.
35397
8aa1541a 353982009-09-10 Felix Zielcke <fzielcke@z-51.de>
35399
35400 * util/grub-mkconfig.in: Make the created config mode 400 and
35401 print a warning if it fails.
35402
48d9bb0a 354032009-09-10 Robert Millan <rmh.grub@aybabtu.com>
35404
35405 * util/grub.d/40_custom.in: Ask user to type custom entries below
35406 comment, rather than below 'exec tail' line.
35407
3b0521be 354082009-09-10 Colin Watson <cjwatson@ubuntu.com>
35409
35410 * util/grub.d/40_custom.in: Make sure that the explanatory text is
35411 visible in grub.cfg.
35412
50051d55 354132009-09-10 Colin Watson <cjwatson@ubuntu.com>
35414
35415 * util/grub.d/40_custom.in: Make it a little clearer how to use this
35416 file.
35417
c0d34387 354182009-09-10 Felix Zielcke <fzielcke@z-51.de>
35419
35420 * docs/grub.cfg: Add an example menu entry for memtest86+.
35421
80a608f3 354222009-09-09 Felix Zielcke <fzielcke@z-51.de>
35423
a2094832 35424 * config.guess: Update to latest version from config git.
80a608f3 35425 * config.sub: Likewise.
35426
99423078 354272009-09-08 Colin Watson <cjwatson@ubuntu.com>
35428
35429 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
35430 unknown-command case. Fixes bug #27320.
35431
44454e4c 354322009-09-08 Felix Zielcke <fzielcke@z-51.de>
35433
35434 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
35435 `help' if the command exists.
35436
e30d87ad 354372009-09-06 Robert Millan <rmh.grub@aybabtu.com>
35438
35439 * INSTALL: Require GCC 4.1.3 or later.
35440
9a86f1ec 354412009-09-06 Yves Blusseau <blusseau@zetam.org>
35442
35443 * Makefile.in (RMKFILES): add i386-qemu.rmk
35444 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
35445 $(srcdir)/stamp-h.in
35446
7f26d466 354472009-09-05 Robert Millan <rmh.grub@aybabtu.com>
35448
35449 * util/grub-probe.c (probe): Comment out buggy codepath, which
35450 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
35451 should be re-enabled after 1.97.
35452
3a613259 354532009-09-05 Felix Zielcke <fzielcke@z-51.de>
35454
35455 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
35456 find searches for.
35457
197f76c7 354582009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
35459
35460 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
35461 unnecessary calls to grub_error.
35462
70ba68ce 354632009-09-04 Colin Watson <cjwatson@ubuntu.com>
35464
35465 * NEWS: Mention `keystatus' and Unicode fonts.
35466
4ff0d7a4 354672009-09-04 Robert Millan <rmh.grub@aybabtu.com>
35468
35469 * configure.ac: Bump version to 1.97~beta2.
35470 * docs/version.texi: Likewise.
35471
77c55a87 354722009-09-03 Colin Watson <cjwatson@ubuntu.com>
35473
35474 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
35475 containing unwind information in some cases where it previously did
35476 not. Use -fno-dwarf2-cfi-asm if available to restore the old
35477 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
35478 discussion.
35479
f79572cd 354802009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
35481
35482 Embedding loadenv module into grub-emu
35483
35484 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
35485 commands/loadenv.c
35486 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
35487 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
35488 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
35489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
35490 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
35491 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
35492
93a81088 354932009-09-03 Magnus Granberg <zorry@ume.nu>
35494
35495 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
35496 include -fPIE in the default specs.
35497 * configure.ac: Check if pie_possible is yes and add -fno-PIE
35498 to TARGET_CFLAGS.
35499
160034b2 355002009-09-03 Felix Zielcke <fzielcke@z-51.de>
35501
35502 * INSTALL: Note that GNU Bison 2.3 or later is required.
35503
087c07c4 355042009-09-03 Colin Watson <cjwatson@ubuntu.com>
35505
35506 * kern/i386/pc/startup.S: Fix typo.
35507
cbf978c0 355082009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
35509
35510 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
35511 according to GCS.
35512
355132009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 35514
35515 * docs/grub.texi (Naming convention): Describe one-based partition
35516 numbering.
35517 (Device syntax): Likewise.
35518 (File name syntax): Likewise.
35519 (Block list syntax): Likewise.
35520 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
35521 menu.lst.
35522 (File name syntax): Likewise.
35523 (Command-line and menu entry commands): Document acpi, blocklist,
35524 crc, export, insmod, keystatus, ls, set, and unset commands.
35525
f3e8cdfd 355262009-09-02 Colin Watson <cjwatson@ubuntu.com>
35527
35528 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
35529 to avoid implying that only one of --shift, --ctrl, or --alt may be
35530 used.
35531
c0bc232b 355322009-09-02 Colin Watson <cjwatson@ubuntu.com>
35533
35534 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
35535 rather than comparing against S_IFREG, which will almost never work.
35536
aa0f752d 355372009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
35538
35539 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
35540 (write_blocklists): Likewise.
35541
ecb3166a 355422009-09-01 Colin Watson <cjwatson@ubuntu.com>
35543
35544 * script/lua/grub_lua.h (fputs): Supply a format string as the first
35545 argument to grub_printf.
35546
c403a125 355472009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 35548
35549 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 35550 non GNU test.
31aba781 35551
b5e7312c 355522009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35553
35554 * kern/file.c (grub_file_read): Spelling fix
35555
fe00f472 355562009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35557
35558 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
35559 loading of headers in some cases.
35560
cc55302e 355612009-08-30 Robert Millan <rmh.grub@aybabtu.com>
35562
35563 * configure.ac: Bump version to 1.97~beta1.
35564 * docs/version.texi: Likewise.
35565
5c90cdd2 355662009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 35567
35568 * include/grub/i386/xnu.h: Add license header.
35569 include grub/err.h explicitly.
35570
c90edae4 355712009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35572
35573 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
35574 to `ufs' in the vfs.root.mountfrom kernel parameter.
35575
d8888b5c 355762009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35577
35578 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
35579
35580 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
35581 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
35582
35583 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
35584 `ARRAY_SIZE' macro.
35585
6f07b921 355862009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35587
35588 * kern/file.c (grub_file_read): Check offset.
35589 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
35590 * fs/jfs.c (grub_jfs_read_file): Likewise.
35591 * fs/ntfs.c (grub_ntfs_read): Likewise.
35592 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
35593 * fs/minix.c (grub_minix_read_file): Correct offset check.
35594 * fs/ufs.c (grub_ufs_read_file): Likewise.
35595
b4f34077 355962009-08-28 Colin Watson <cjwatson@ubuntu.com>
35597
35598 * term/i386/pc/console.c (bios_data_area): Cast
35599 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
35600
e7c69859 356012009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35602
35603 1-bit optimised blitters.
35604
35605 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
35606 prototype.
35607 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35608 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35609 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35610 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35611 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35612 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35613 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
35614 function.
35615 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35616 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35617 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35618 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35619 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35620 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35621 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
35622 when possible.
35623 * video/video.c (grub_video_get_blit_format): Return
35624 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
35625
a57da43f 356262009-08-28 Colin Watson <cjwatson@ubuntu.com>
35627
35628 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
35629 the first argument to grub_printf.
35630
4cbe67e5 356312009-08-28 Colin Watson <cjwatson@ubuntu.com>
356322009-08-28 Robert Millan <rmh.grub@aybabtu.com>
35633
35634 Add `getkeystatus' terminal method. Add a new `keystatus' command
35635 to query it.
35636
35637 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
35638 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
35639 modifier key bitmasks.
35640 (struct grub_term_input): Add `getkeystatus' member.
35641 (grub_getkeystatus): Add prototype.
35642 * kern/term.c (grub_getkeystatus): New function.
35643
35644 * include/grub/i386/pc/memory.h
35645 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
35646 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
35647 Data Area layout.
35648 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
35649 (grub_console_term_input): Set `getkeystatus' member.
35650 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
35651 constants.
35652 (grub_usb_keyboard_getreport): Likewise.
35653 (grub_usb_keyboard_checkkey): Likewise.
35654 (grub_usb_keyboard_getkeystatus): New function.
35655 (grub_usb_keyboard_term): Set `getkeystatus' member.
35656
35657 * commands/keystatus.c: New file.
35658 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
35659 (keystatus_mod_SOURCES): New variable.
35660 (keystatus_mod_CFLAGS): Likewise.
35661 (keystatus_mod_LDFLAGS): Likewise.
35662 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
35663 commands/keystatus.c.
35664 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35665 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35666 * conf/i386-pc.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.
4cbe67e5 35670
6e2a9085 356712009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35672
35673 Split befs.mod and afs.mod into *_be.mod and *.mod
35674
35675 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
35676 (grub_fstest_SOURCES): Likewise.
35677 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
35678 (afs_be_mod_SOURCES): New variable.
35679 (afs_be_mod_CFLAGS): Likewise.
35680 (afs_be_mod_LDFLAGS): Likewise.
35681 (befs_be_mod_SOURCES): Likewise.
35682 (befs_be_mod_CFLAGS): Likewise.
35683 (befs_be_mod_LDFLAGS): Likewise.
35684 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
35685 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35686 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35687 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35688 (grub_emu_SOURCES): Likewise.
35689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35690 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35691 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35692 * fs/afs_be.c: New file.
35693 * fs/befs_be.c: New file.
35694 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
35695 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
35696 (U16): Replaced with ...
35697 (grub_afs_to_cpu16): ...this. All users updated.
35698 (U32): Replaced with ...
35699 (grub_afs_to_cpu32): ...this. All users updated.
35700 (U64): Replaced with ...
35701 (grub_afs_to_cpu64): ...this. All users updated.
35702 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
35703 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 35704 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 35705 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35706 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35707 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35708 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35709 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35710 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35711 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35712 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35713
32a71655 357142009-08-26 Bean <bean123ch@gmail.com>
35715
35716 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
35717 64-bit number.
35718 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
35719 (grub_xfs_inode_block): Change return type to grub_uint64_t.
35720 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
35721
552bf6c5 357222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35723
35724 NetBSD memory map support.
35725
35726 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
35727 (grub_netbsd_btinfo_mmap_header): New structure.
35728 (grub_netbsd_btinfo_mmap_entry): Likewise.
35729 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
35730
1ae2078c 357312009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35732
35733 Enable bsd.mod on coreboot.
35734
35735 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
35736 (bsd_mod_SOURCES): New variable.
35737 (bsd_mod_CFLAGS): Likewise.
35738 (bsd_mod_LDFLAGS): Likewise.
35739 (bsd_mod_ASFLAGS): Likewise.
35740 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
35741 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
35742
beefc598 357432009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35744
35745 Cleanup NetBSD root support.
35746
35747 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
35748 grub_bsd_get_device.
35749 Fix typo.
35750
3b76e68b 357512009-08-25 Felix Zielcke <fzielcke@z-51.de>
35752
35753 * util/grub.d/00_header.in: Move check for the video backend of
35754 gfxterm from here ...
35755 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
35756 a suitable video backend.
35757
aea664ea 357582009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35759
35760 Fix breakage in grub-setup.
35761
35762 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
35763 "msdos_partition_map".
35764
ff747d50 357652009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35766
35767 Fix breakage in normal/auth.c.
35768
35769 * normal/auth.c (grub_iswordseparator): New function.
35770
e7e1f93f 357712009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35772
35773 Authentication support.
35774
35775 * commands/password.c: New file.
35776 * conf/common.rmk (pkglib_MODULES): Add password.mod.
35777 (password_mod_SOURCES): New variable.
35778 (password_mod_CFLAGS): Likewise.
35779 (password_mod_LDFLAGS): Likewise.
35780 (normal_mod_SOURCES): Add normal/auth.c.
35781 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
35782 normal/auth.c.
35783 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35784 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35785 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35787 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35788 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35789 * include/grub/auth.h: New file.
35790 * include/grub/err.h (grub_err_t): New enum value
35791 GRUB_ERR_ACCESS_DENIED.
35792 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
35793 'users'.
35794 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
35795 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
35796 users updated.
35797 * normal/auth.c: New file.
35798 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
35799 (grub_cmdline_run): Don't allow to go to command line without
35800 authentication.
35801 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
35802 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
35803 menuentry without superuser rights.
35804 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
35805 user isn't a superuser.
35806
70f1161d 358072009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35808
35809 Save space by inlining misc.c functions.
35810
35811 * kern/misc.c (grub_iswordseparator): Made static.
35812 * kern/misc.c (grub_strcat): Moved from here ...
35813 * include/grub/misc.h (grub_strcat): ... here. Inlined.
35814 * kern/misc.c (grub_strncat): Moved from here ...
35815 * include/grub/misc.h (grub_strncat): ... here. Inlined.
35816 * kern/misc.c (grub_strcasecmp): Moved from here ...
35817 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
35818 * kern/misc.c (grub_strncasecmp): Moved from here ...
35819 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
35820 * kern/misc.c (grub_isalpha): Moved from here ...
35821 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
35822 * kern/misc.c (grub_isdigit): Moved from here ...
35823 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
35824 * kern/misc.c (grub_isgraph): Moved from here ...
35825 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
35826 * kern/misc.c (grub_tolower): Moved from here ...
35827 * include/grub/misc.h (grub_tolower): ... here. Inlined.
35828
48e40bff 358292009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35830
35831 * script/sh/function.c (grub_script_function_find): Cut error message
35832 not to flood terminal.
35833 * script/sh/lexer.c (grub_script_yylex): Remove command line length
35834 limit.
35835 * script/sh/script.c (grub_script_arg_add): Duplicate string.
35836
c385bfc3 358372009-08-24 Colin Watson <cjwatson@ubuntu.com>
35838
35839 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
35840 `report' grub_uint8_t *.
35841 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
35842 Use a 50-millisecond timeout rather than just repeating
35843 grub_usb_keyboard_getreport 50 times.
35844 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
35845
2d21e3e8 358462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35847
35848 Rename *_partition_map to part_*
35849
35850 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
35851 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
35852 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
35853 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
35854 All users updated.
35855 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
35856 All users updated.
35857 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
35858 * util/grub-probe.c (probe_partmap): Don't transform partition name
35859 to get module name.
35860
dd103c4e 358612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35862
35863 Fix OpenBSD and NetBSD support.
35864
35865 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
35866 memory address conflict.
35867 (OPENBSD_MMAP_ACPI): New definition.
35868 (OPENBSD_MMAP_NVS): Likewise.
35869 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
35870 and OPENBSD_MMAP_NVS.
35871 Add memory map terminator
35872 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 35873 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 35874
16c84d74 358752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35876
35877 Let user specify NetBSD root device.
35878
35879 * loader/i386/bsd.c (netbsd_root): New variable.
35880 (netbsd_opts): New option 'root'.
35881 (NETBSD_ROOT_ARG): New macro.
35882 (grub_netbsd_boot): Use 'netbsd_root'.
35883 (grub_bsd_unload): Free 'netbsd_root'.
35884 (grub_cmd_netbsd): Fill 'netbsd_root'.
35885
adb29902 358862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35887
35888 Support for 64-bit NetBSD.
35889
35890 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
35891 point when booting non-FreeBSD.
35892
f5ae9f74 358932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35894
35895 Support --no-smp and --no-acpi for NetBSD.
35896
35897 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
35898 (NETBSD_AB_NOACPI): Likewise.
35899 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
35900 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
35901
de74f136 359022009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35903
35904 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
35905 errors.
35906 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
35907 errors. Call grub_error when needed.
35908
e9a925da 359092009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35910
35911 * commands/search.c (search_fs): Try searching without autoload first.
35912 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
35913 filesystem module explicitly for faster booting.
35914
5174302b 359152009-08-23 Colin Watson <cjwatson@ubuntu.com>
35916
35917 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
35918
c8c80635 359192009-08-23 Colin Watson <cjwatson@ubuntu.com>
35920
35921 * util/grub.d/30_os-prober.in: Disable os-prober if
35922 `GRUB_DISABLE_OS_PROBER' was set to true.
35923
71acf5e5 359242009-08-23 Robert Millan <rmh.grub@aybabtu.com>
35925
35926 * partmap/pc.c: Rename to ...
35927 * partmap/msdos.c: ... this. Update all users.
35928 (grub_pc_partition_map): Rename to ...
35929 (grub_msdos_partition_map): ... this. Update all users.
35930
35931 * parttool/pcpart.c: Rename to ...
35932 * parttool/msdospart.c: ... this. Update all users.
35933
35934 * include/grub/pc_partition.h: Rename to ...
35935 * include/grub/msdos_partition.h: ... this. Update all users.
35936 (grub_pc_partition_bsd_entry): Rename to ...
35937 (grub_msdos_partition_bsd_entry): ... this. Update all users.
35938 (grub_pc_partition_disk_label): Rename to ...
35939 (grub_msdos_partition_disk_label): ... this. Update all users.
35940 (grub_pc_partition_entry): Rename to ...
35941 (grub_msdos_partition_entry): ... this. Update all users.
35942 (grub_pc_partition_mbr): Rename to ...
35943 (grub_msdos_partition_mbr): ... this. Update all users.
35944 (grub_pc_partition): Rename to ...
35945 (grub_msdos_partition): ... this. Update all users.
35946 (grub_pc_partition_is_empty): Rename to ...
35947 (grub_msdos_partition_is_empty): ... this. Update all users.
35948 (grub_pc_partition_is_extended): Rename to ...
35949 (grub_msdos_partition_is_extended): ... this. Update all users.
35950 (grub_pc_partition_is_bsd): Rename to ...
35951 (grub_msdos_partition_is_bsd): ... this. Update all users.
35952
35953 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
35954 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
35955 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
35956 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
35957 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
35958 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
35959 (gpt_mod_LDFLAGS): Rename to ...
35960 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
35961 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
35962 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
35963 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
35964 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
35965 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
35966 (part_gpt_mod_LDFLAGS): ... this.
35967 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
35968 `pcpart.mod' to `msdospart.mod'.
35969 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
35970 to ...
35971 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
35972 (msdospart_mod_LDFLAGS): ... this.
35973
c11fded5 359742009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35975
35976 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
35977 (openbsd_opts): Likewise.
35978 (netbsd_opts): Likewise.
35979 (freebsd_flags): Added 0 terminator.
35980 (openbsd_flags): Likewise.
35981 (netbsd_flags): Likewise.
35982 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
35983 (grub_cmd_freebsd): Transformed into extended command.
35984 (grub_cmd_openbsd): Likewise.
35985 (grub_cmd_netbsd): Likewise.
35986 (cmd_freebsd): Changed type to grub_extcmd_t.
35987 (cmd_openbsd): Likewise.
35988 (cmd_netbsd): Likewise.
35989 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
35990 grub_cmd_openbsd as extended commands.
35991 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
35992 cmd_netbsd and cmd_openbsd
35993
11d1c769 359942009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
35995
35996 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
35997
7a9094e5 359982009-08-21 Pavel Roskin <proski@gnu.org>
35999
5496c37e 36000 * Makefile.in (install-local): When checking if a file is in the
36001 build directory, use "test -e" to detect symlinks.
36002
7a9094e5 36003 * Makefile.in (install-local): Remove all files in
36004 $(DESTDIR)$(pkglibdir) before installing new files there.
36005
e53cea11 360062009-08-18 Felix Zielcke <fzielcke@z-51.de>
36007
36008 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
36009 grub-mkelfimage.
36010
9aced544 360112009-08-18 Felix Zielcke <fzielcke@z-51.de>
36012
36013 * util/grub-mkconfig.in: Don't use gfxterm by default if not
36014 explicitly specified by the user.
36015
b7da6bab 360162009-08-18 Pavel Roskin <proski@gnu.org>
36017
36018 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
36019 grub_uint8_t pointer for data.
36020 * include/grub/fbutil.h (struct grub_video_fbblit_info):
36021 Likewise.
36022 * video/fb/fbutil.c: Remove unnecessary casts.
36023
19f1b335 360242009-08-17 Michal Suchanek <hramrach@centrum.cz>
36025
36026 VBE cleanup.
36027
36028 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
36029 (grub_vbe_set_video_mode): Save active mode info
36030 only after setting the mode.
36031 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
36032 second argument.
36033
2f467aa9 360342009-08-17 Michal Suchanek <hramrach@centrum.cz>
36035
36036 Rename variables for clarity.
36037
36038 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
36039 (active_vbe_mode_info): ... this. All users updated.
36040 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
36041 All users updated.
36042 (initial_mode): Rename to ...
36043 (initial_vbe_mode): ... this. All users updated.
36044 (mode_in_use): Rename to ..
36045 (vbe_mode_in_use): ... this. All users updated.
36046 (mode_list): Rename to ..
36047 (vbe_mode_list): ... this. All users updated.
36048 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
36049 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
36050 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
36051 'mode_list_size' to 'vbe_mode_list_size'.
36052 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
36053 'best_mode_info' to 'best_vbe_mode_info' and
36054 'best_mode' to 'best_vbe_mode'
36055
6025fcd7 360562009-08-17 Michal Suchanek <hramrach@centrum.cz>
36057
36058 Remove duplicate grub_video_fb_get_video_ptr.
36059
36060 * include/grub/fbutil.h (get_data_ptr): Rename to ...
36061 (grub_video_fb_get_video_ptr): ... this.
36062 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
36063 * video/fb/fbutil.c: Add comment about addressing.
36064 (get_data_ptr): Rename to ...
36065 (grub_video_fb_get_video_ptr): ... this. All users updated.
36066 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
36067
cc8c6faf 360682009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36069
36070 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
36071 grub_dprintf() that was just added.
36072
08aa61f0 360732009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36074
36075 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
36076 (DEFAULT_VIDEO_MODE): Remove macros.
36077 (grub_linux_boot): Remove assumption that Linux has FB support,
36078 and use "text" as default video mode.
36079
7cef4f75 360802009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
36081
36082 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
36083 grub_dprintf.
36084 * fs/fat.c (grub_fat_read_data): Likewise.
36085
e1f39873 360862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36087
36088 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
36089 payload.
36090 (grub_module): Likewise.
36091
c166d79e 360922009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36093
36094 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
36095 mbi->cmdline but free playground.
36096
c60cee8e 360972009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36098
36099 Handle group offset on UFS1.
36100
36101 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
36102 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
36103
c0d8b5d4 361042009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36105
36106 Split ufs.mod into ufs1.mod and ufs2.mod.
36107
36108 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
36109 (grub_fstest_SOURCES): Likewise.
36110 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
36111 (ufs_mod_SOURCES): Remove.
36112 (ufs_mod_CFLAGS): Likewise.
36113 (ufs_mod_LDFLAGS): Likewise.
36114 (ufs1_mod_SOURCES): New variable.
36115 (ufs1_mod_CFLAGS): Likewise.
36116 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 36117 (ufs2_mod_SOURCES): New variable.
36118 (ufs2_mod_CFLAGS): Likewise.
36119 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 36120 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
36121 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36122 Likewise.
36123 (grub_emu_SOURCES): Likewise.
36124 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36125 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36126 (grub_setup_SOURCES): Likewise.
36127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36128 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
36129 (grub_setup_SOURCES): Likewise.
36130 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36131 Likewise.
36132 * fs/ufs2.c: New file.
36133 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
36134
d3539132 361352009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36136
36137 Framebuffer split.
36138
36139 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
36140 subsystem at the end.
36141 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
36142 (video_fb_mod_SOURCES): New variable.
36143 (video_fb_mod_CFLAGS): Likewise.
36144 (video_fb_mod_LDFLAGS): Likewise.
36145 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
36146 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
36147 * video/i386/pc/vbeblit.c: Moved from here ...
36148 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
36149 * video/i386/pc/vbefill.c: Moved from here ...
36150 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
36151 * video/i386/pc/vbeutil.c: Moved from here ...
36152 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
36153 * include/grub/i386/pc/vbeblit.h: Moved from here ...
36154 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
36155 * include/grub/i386/pc/vbefill.h: Moved from here ...
36156 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
36157 * include/grub/i386/pc/vbeutil.h: Moved from here ...
36158 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
36159 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
36160 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
36161 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
36162 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
36163 (grub_video_adapter): Added 'get_info_and_fini'.
36164 (grub_video_get_info_and_fini): New prototype.
36165 (grub_video_set_mode): make modestring const char *.
36166 * loader/i386/linux.c (grub_linux_setup_video): Use
36167 grub_video_get_info_and_fini.
36168 (grub_linux_boot): Move modesetting just before booting.
36169 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
36170 grub_video_get_info_and_fini.
36171 * video/i386/pc/vbe.c: Moved framebuffer part ...
36172 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
36173 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
36174 grub_video_fbstd_colors and grub_video_fb_set_palette.
36175 (grub_video_vbe_init): Clear 'framebuffer' variable and use
36176 grub_video_fb_init.
36177 (grub_video_vbe_fini): Use grub_video_fb_fini.
36178 (grub_video_vbe_setup): Use framebuffer.render_target instead of
36179 render_target and use grub_video_fb_set_active_render_target and
36180 grub_video_fb_set_palette.
36181 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
36182 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
36183 (grub_video_vbe_adapter): Use framebuffer.
36184 * video/video.c (grub_video_get_info_and_fini): New function.
36185 (grub_video_set_mode): Make modestring const char *.
36186 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
36187 values are already initialised.
36188
d404ee56 361892009-08-14 Pavel Roskin <proski@gnu.org>
36190
36191 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
36192 ABS and APPLE_CC.
36193 * boot/i386/pc/diskboot.S: Likewise.
36194 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
36195 sectors allow compilation on MacOSX.
36196 * conf/i386-pc.rmk: Enable unconditional compilation of
36197 lnxboot.img.
36198
9a10df16 361992009-08-13 Colin Watson <cjwatson@ubuntu.com>
36200
36201 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
36202 * util/grub.d/00_header.in: Enter interruptible sleep if
36203 GRUB_HIDDEN_TIMEOUT is set.
36204
be3c9ca7 362052009-08-13 Yves Blusseau <blusseau@zetam.org>
36206
36207 * include/grub/symbol.h: Add the LOCAL macro.
36208 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
36209 starting with "L_".
36210
1f9e557e 362112009-08-13 Pavel Roskin <proski@gnu.org>
36212
9ca62843 36213 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
36214 any modern compilers we support.
36215
1f9e557e 36216 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
36217 Use local labels starting with "L_" so that Apple assembler
36218 knows they are local.
36219
81623db6 362202009-08-10 Robert Millan <rmh.grub@aybabtu.com>
36221
36222 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
36223 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
36224 (bsd_kernel_types): ... this enum.
36225
36226 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
36227 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
36228 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
36229
36230 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
36231 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
36232 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
36233 messages.
36234
f5d35e7a 362352009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36236
36237 * util/grub-dumpdevtree: Moved from here ...
36238 * util/i386/efi/grub-dumpdevtree: ... to here.
36239 (hexify): New function. Converts a string to its hex version.
36240 Generate hex versions of "efi" and "device-properties" by calling
36241 hexify() on the ASCII strings rather than by hardcoding numbers.
36242
d1e1d527 362432009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36244
36245 * fs/jfs.c: Update copyright year.
36246
1ebbe064 362472009-08-08 Felix Zielcke <fzielcke@z-51.de>
36248
36249 * util/grub.d/00_header.in: Fix a comment.
36250 * util/grub.d/10_linux.in: Likewise.
36251 * util/grub.d/10_windows.in: Likewise.
36252 * util/grub.d/10_hurd.in: Likewise.
36253
a78c8d24 362542009-08-08 Felix Zielcke <fzielcke@z-51.de>
36255
36256 * util/grub-mkconfig.in: Allow the user to specify the used font
36257 with GRUB_FONT.
36258
29a6b9e8 362592009-08-08 Pavel Roskin <proski@gnu.org>
36260
b5f16cc4 36261 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
36262 available, xfs.mod needs it now.
36263
2f5cb827 36264 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
36265 the "g" modifier in sed when the intention is to strip something
36266 once. This fixes comparison of kernels with multiple dashes.
36267
29a6b9e8 36268 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
36269 on it. Add missing space before closing bracket. Fix
36270 misleading formatting.
36271
892a3d98 362722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36273
36274 * docs/grub.texi: Major overhaul. Remove all sections that are
36275 specific to GRUB Legacy, or mostly composed of Legacy-specific
36276 information.
36277
ed94253f 362782009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36279
36280 * docs/version.texi: New file. Provides version information for
36281 grub.texi.
36282
126d6628 362832009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36284
36285 * docs/grub.texi: Update CVS information to SVN.
36286 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
36287
998b5aa9 362882009-08-07 Felix Zielcke <fzielcke@z-51.de>
36289
36290 * util/grub-mkconfig.in: Remove a wrong `fi'.
36291
818e094a 362922009-08-07 Felix Zielcke <fzielcke@z-51.de>
36293
36294 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
36295 (grub_jfs_uuid): New function.
36296 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
36297
b969c52f 362982009-08-07 Felix Zielcke <fzielcke@z-51.de>
36299
36300 * util/grub-mkconfig_lib.in (font_path): Move the functionality
36301 of it to ...
36302 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
36303 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
36304
7a4894cc 363052009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36306
36307 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
36308 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
36309 Update all users.
36310
36311 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
36312 not just "vmlinu[zx]".
36313 Moved from here ...
36314 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
36315 all users.
36316
36317 * util/grub.d/10_linux.in (find_latest): Moved from here ...
36318 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
36319 all users.
36320
4e2171f8 363212009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36322
36323 * util/grub.d/10_freebsd.in: Use an absolute device path for
36324 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
36325
6dcfcb32 363262009-08-06 Felix Zielcke <fzielcke@z-51.de>
36327
36328 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
36329 handling of multiple abstraction modules.
36330
f56a8756 363312009-08-04 Robert Millan <rmh.grub@aybabtu.com>
36332
36333 Fix a bug resulting in black screen when loading Linux using a
36334 packed video mode.
36335
36336 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
36337 function.
36338
36339 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
36340 (grub_vbe_bios_getset_dac_palette_width): New function.
36341 (grub_vbe_bios_get_dac_palette_width)
36342 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
36343 grub_vbe_bios_getset_dac_palette_width()).
36344
36345 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
36346 check for return status.
36347 (grub_vbe_get_video_mode_info): When getting information for a packed
36348 mode (<= 8 bpp), obtain DAC palette width using
36349 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
36350 {red,green,blue}_mark_size.
36351
222671b2 363522009-08-04 Felix Zielcke <fzielcke@z-51.de>
36353
ecb1a6d9 36354 * commands/search.c (options): Fix help output to match actual code.
222671b2 36355
f84114f5 363562009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
36357
36358 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
36359 of homegrown code.
36360
bd288a20 363612009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 36362
36363 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
36364 on XFS or ReiserFS.
36365
8aab5e25 363662009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36367
36368 Support Apple partition map with sector size different from 512 bytes.
36369
36370 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
36371 (apple_partition_map_iterate): Respect 'aheader.blocksize'
36372 and 'apart.partmap_size'.
36373
6ad6258a 363742009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
363752009-08-01 Robert Millan <rmh.grub@aybabtu.com>
36376
36377 Fix cpuid command.
36378
36379 * commands/i386/cpuid.c (options): New variable.
36380 (grub_cmd_cpuid): Return real error.
36381 (GRUB_MOD_INIT(cpuid)): Declare options.
36382
67459bc6 363832009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
36384
36385 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
36386 valid.
36387
fbc6ab54 363882009-07-31 Bean <bean123ch@gmail.com>
36389
36390 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
36391 log2_inode.
36392 (grub_fshelp_node): Move inode field to the end.
36393 (grub_xfs_data): Remove inode field.
36394 (grub_xfs_inode_block): Calculate inode size using sblock.
36395 (grub_xfs_inode_offset): Likewise.
36396 (grub_xfs_read_inode): Calculate inode size using sblock.
36397 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
36398 (grub_xfs_iterate_dir): Calculate inode size using sblock.
36399 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
36400 to match inode size.
36401 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
36402 not accessible when data is null.
36403 (grub_xfs_open): Likewise.
36404
f45d6cfc 364052009-07-31 Bean <bean123ch@gmail.com>
36406
36407 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
36408 Don't change pv->disk if it's already set.
36409
36410 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
36411 (grub_raid_register): ... here.
36412 (grub_raid_rescan): Removed.
36413
36414 * include/grub/raid.h (grub_raid_rescan): Removed.
36415
36416 * util/grub-fstest.c: Remove include file <grub/raid.h>.
36417 (fstest): Replace grub_raid_rescan with module fini function followed
36418 by init function.
36419
36420 * util/grub-probe.c: Add include file <grub/raid.h>.
36421 (probe_raid_level): New function.
36422 (probe): Detect abstraction by walking the disk device, support two
36423 level of abstraction (LVM on RAID) when detecting partition map.
36424
24443b5a 364252009-07-31 Pavel Roskin <proski@gnu.org>
36426
36427 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
36428 to grub_zalloc(), it was erroneous.
36429 Reported by Bean <bean123ch@gmail.com>
36430
a275d9e7 364312009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
36432
36433 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 36434 embedding zone, not only the first one.
a275d9e7 36435
56c5a47f 364362009-07-29 Joe Auricchio <jauricchio@gmail.com>
36437
36438 * term/gfxterm.c (clear_char): New function.
36439 (grub_virtual_screen_setup): Use clear_char.
36440 (scroll_up): Likewise.
36441 (grub_virtual_screen_cls): Likewise.
36442
67bb323a 364432009-07-29 Felix Zielcke <fzielcke@z-51.de>
36444
36445 * util/deviceiter.c (get_acceleraid_disk_name): New static
36446 function.
36447 (grub_util_iterate_devices): Handle Accelraid devices.
36448 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
36449
388a7c75 364502009-07-28 Robert Millan <rmh.grub@aybabtu.com>
36451
36452 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
36453 separator for the suggested gfxpayload string (';' collides with the
36454 parser and needs escaping).
36455
3bb7abcf 364562009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
36457
36458 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
36459 Clear direction flag before jumping to OS.
36460 (grub_multiboot2_real_boot): Likewise.
36461
2ddd36d7 364622009-07-28 Felix Zielcke <fzielcke@z-51.de>
36463
36464 * util/i386/pc/grub-install: Fix parsing of --disk-module
36465 option.
36466
c521b62b 364672009-07-28 Felix Zielcke <fzielcke@z-51.de>
36468
36469 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
36470 when embedding.
36471
880e0a0c 364722009-07-26 Felix Zielcke <fzielcke@z-51.de>
36473
36474 * util/grub-mkconfig.in (package_version): New variable.
36475 Use it do display the version.
36476
2366e356 364772009-07-25 Felix Zielcke <fzielcke@z-51.de>
36478
36479 * kern/file.c (grub_file_open): Revert to previous check with
36480 grub_errno.
36481
7ad8c80e 364822009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36483
36484 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
36485 from help line. It's out of sync with code.
36486
72b9658b 364872009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36488
36489 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
36490 entries on failed boot.
36491
77435277 364922009-07-25 Felix Zielcke <fzielcke@z-51.de>
36493
36494 * kern/file.c (grub_file_open): Fix an error check.
36495
fcaa8b21 364962009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
36497
35d16c74 36498 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
36499 partition map couldn't be identified.
fcaa8b21 36500
48904cd1 365012009-07-23 Pavel Roskin <proski@gnu.org>
36502
ef3c317f 36503 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
36504 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
36505 case of little endian words becomes just an optimization.
36506 Respect const modifier.
ad8ea1f4 36507 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 36508
48904cd1 36509 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
36510 to avoid loss of upper bits if align is unsigned and shorter
36511 than addr.
36512
260c9a89 365132009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36514
36515 UUID support for UFS
36516
36517 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
36518 (grub_ufs_uuid): New function.
36519 (grub_ufs_fs): add .uuid
36520
f76ce889 365212009-07-21 Pavel Roskin <proski@gnu.org>
36522
36523 * kern/dl.c (grub_dl_check_header): Make static.
36524
6a6cbcaf 365252009-07-21 Felix Zielcke <fzielcke@z-51.de>
36526
36527 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
36528 add drivemap for Vista. It breaks Windows 7.
36529
cffcddb2 365302009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36531
36532 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
36533 128 bytes
36534
1ef44b80 365352009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36536
36537 Add BFS support
36538
36539 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
36540 (grub_fstest_SOURCES): Likewise.
36541 (pkglib_MODULES): Add befs.mod.
36542 (befs_mod_SOURCES): New variable.
36543 (befs_mod_CFLAGS): Likewise.
36544 (befs_mod_LDFLAGS): Likewise.
36545 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36546 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36547 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36548 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36549 (grub_setup_SOURCES): Likewise.
36550 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36551 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36552 (grub_setup_SOURCES): Likewise.
36553 * fs/befs.c: New file.
36554 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
36555 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
36556 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
36557 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
36558 (B_KEY_INDEX_ALIGN): New declaration.
36559 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
36560 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
36561 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
36562 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
36563 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
36564 (grub_afs_mount) [MODE_BFS]: Likewise.
36565 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
36566 (grub_afs_fs): Use GRUB_AFS_FSNAME
36567 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
36568 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
36569 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
36570 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
36571
4f253044 365722009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
36573
36574 * util/getroot.c (find_root_device): Add support for MacOSX.
36575 * util/hostdisk.c: Likewise.
36576
57a55913 365772009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36578
36579 * font/font.c (find_glyph): Check whether a font is present to avoid
36580 segmentation fault.
75421ca9 36581
365822009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 36583
36584 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
36585
e98cd0c2 365862009-07-20 Pavel Roskin <proski@gnu.org>
36587
36588 * configure.ac: Trim excessively wordy excuses.
36589
1d2d169a 365902009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36591
36592 Add symlink, mtime and label support to AtheFS.
36593
36594 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
36595 (grub_afs_iterate_dir): Handle symlinks.
36596 (grub_afs_open): Use grub_afs_read_symlink.
36597 (grub_afs_dir): Likewise.
36598 Pass mtime.
36599 (grub_afs_label): New function.
36600 (grub_afs_fs): Add grub_afs_label.
36601 (grub_afs_read_symlink): New function.
36602
186f3189 366032009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36604
36605 Fix AtheFS support.
36606
36607 * fs/afs.c: Fix comments style.
36608 (grub_afs_blockrun): Declare as packed.
36609 (grub_afs_datastream): Likewise.
36610 (grub_afs_bnode): Likewise.
36611 (grub_afs_btree): Likewise.
36612 (grub_afs_sblock): Likewise.
36613 Declare `name' as char.
36614 (grub_afs_inode): Declare as packed.
36615 Change void *vnode to grub_uint32_t unused.
36616 (grub_afs_iterate_dir): Check that key_size is positive.
36617 (grub_afs_mount): Don't read superblock twice.
75421ca9 36618 (grub_afs_dir): Don't free node in case of error,
186f3189 36619 grub_fshelp_find_file already handles this.
36620 (grub_afs_open): Likewise.
36621
5680109e 366222009-07-19 Pavel Roskin <proski@gnu.org>
36623
36624 * Makefile.in: Remove LIBLZO and enable_lzo.
36625 * conf/i386-pc.rmk: Remove lzo support.
36626 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
36627 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
36628 support.
36629 * kern/i386/pc/lzo1x.S: Remove.
36630 * kern/i386/pc/startup.S: Remove lzo support.
36631 * util/i386/pc/grub-mkimage.c: Likewise.
36632
ac70fa32 366332009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
36634
36635 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
36636 * fs/xfs.c (grub_xfs_dir): Likewise.
36637 * fs/afs.c (grub_afs_dir): Likewise.
36638 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
36639 (grub_iso9660_open): Likewise.
36640 * fs/jfs.c (grub_jfs_open): Likewise.
36641 * fs/ext2.c (grub_ext2_dir): Likewise.
36642 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
36643 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 36644
eab58da2 366452009-07-16 Pavel Roskin <proski@gnu.org>
36646
d2838156 36647 * configure.ac: Never add "-c" to CFLAGS.
36648
55c70904 36649 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
36650
43e6200c 36651 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
36652 grub_cv_cc_efiemu should be used.
36653
ce7a733d 36654 * configure.ac: Typo fixes.
36655
eab58da2 36656 * kern/mm.c (grub_zalloc): New function.
36657 (grub_debug_zalloc): Likewise.
36658 * include/grub/mm.h: Declare grub_zalloc() and
36659 grub_debug_zalloc().
36660 * util/misc.c (grub_zalloc): New function.
36661 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
36662 instead of grub_malloc(), remove unneeded initializations.
36663 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
36664 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
36665 * commands/parttool.c (grub_cmd_parttool): Likewise.
36666 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
36667 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
36668 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
36669 * disk/usbms.c (grub_usbms_finddevs): Likewise.
36670 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
36671 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
36672 (grub_cmd_efiemu_pnvram): Likewise.
36673 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
36674 * fs/iso9660.c (grub_iso9660_mount): Likewise.
36675 (grub_iso9660_iterate_dir): Likewise.
36676 * fs/jfs.c (grub_jfs_opendir): Likewise.
36677 * fs/ntfs.c (list_file): Likewise.
36678 (grub_ntfs_mount): Likewise.
36679 * kern/disk.c (grub_disk_open): Likewise.
36680 * kern/dl.c (grub_dl_load_core): Likewise.
36681 * kern/elf.c (grub_elf_file): Likewise.
36682 * kern/env.c (grub_env_context_open): Likewise.
36683 (grub_env_set): Likewise.
36684 (grub_env_set_data_slot): Likewise.
36685 * kern/file.c (grub_file_open): Likewise.
36686 * kern/fs.c (grub_fs_blocklist_open): Likewise.
36687 * loader/i386/multiboot.c (grub_module): Likewise.
36688 * loader/xnu.c (grub_xnu_create_key): Likewise.
36689 (grub_xnu_create_value): Likewise.
36690 * normal/main.c (grub_normal_add_menu_entry): Likewise.
36691 (read_config_file): Likewise.
36692 * normal/menu_entry.c (make_screen): Likewise.
36693 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36694 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
36695 * script/sh/script.c (grub_script_parse): Likewise.
36696 * video/bitmap.c (grub_video_bitmap_create): Likewise.
36697 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
36698 * video/readers/png.c (grub_png_output_byte): Likewise.
36699 (grub_video_reader_png): Likewise.
36700
830afef7 367012009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 36702
36703 Enable all targets that can be built by default
36704
830afef7 36705 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 36706 grub-mkfont and grub-fstest if they can be built
36707
ee293aee 367082009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36709
36710 Fix hang and segmentation fault in grub-emu-usb
36711
36712 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
36713 * util/usb.c (grub_libusb_devices): likewise
36714 (grub_libusb_init): rename to ...
36715 (GRUB_MOD_INIT (libusb)):...this
36716 (grub_libusb_fini): rename to ..
36717 (GRUB_MOD_FINI (libusb)):...this
36718 * disk/usbms.c (grub_usbms_transfer): fix retry logic
36719 * include/grub/disk.h (grub_raid_init): removed, it's useless
36720 (grub_raid_fini): likewise
36721 (grub_lvm_init): likewise
36722 (grub_lvm_fini): likewise
36723 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
36724 by grub_init_all
36725
94414221 367262009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36727
36728 Fix libusb
36729
36730 * Makefile.in (LIBUSB): new macro
36731 * genmk.rb (Utility/print_tail): new method
36732 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
36733 (top level): call util.print_tail at the end.
36734
59ade63d 367352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36736
36737 Make FreeBSD accept zpool.cache
36738
36739 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
36740 type is /boot/zfs/zpool.cache
36741
a58da8c7 367422009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36743
36744 Fix 64-bit efiemu
36745
36746 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
36747 correct wrong typedef
36748 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
36749
20591577 367502009-07-15 Pavel Roskin <proski@gnu.org>
36751
560ca572 36752 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
36753 * kern/disk.c (struct grub_disk_cache): Likewise.
36754
e8e8e4fd 36755 * commands/probe.c (options): Typo fix.
36756
fde24e10 36757 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
36758 Increase to 0x5a to accommodate FAT32. Adjust other offsets
36759 accordingly.
36760 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
36761
379c54c1 36762 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
36763 the end of "Error" to make the message more readable.
36764
7bd8f5bf 36765 * boot/i386/pc/boot.S (kernel_segment): Remove.
36766 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
36767 for destination.
36768
40b132c5 36769 * boot/i386/pc/boot.S (boot_version): Remove.
36770 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
36771 Remove.
36772
20591577 36773 * include/grub/i386/pc/boot.h: Sort all offsets.
36774 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
36775 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
36776 * boot/i386/pc/boot.S: Assert location of every offset listed in
36777 include/grub/i386/pc/boot.h.
36778
2df32b2c 367792009-07-13 Pavel Roskin <proski@gnu.org>
36780
44b5d879 36781 * include/grub/i386/coreboot/machine.h: Rename
36782 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
36783 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
36784 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
36785
17dc3751 36786 * kern/dl.c: Force native word size to suppress warnings when
36787 compiling grub-emu.
36788
2df32b2c 36789 * kern/device.c (grub_device_iterate): Change struct part_ent to
36790 hold the name, not a pointer to it. Use one grub_malloc() per
36791 partition, not two. Free partition_name if grub_malloc() fails.
36792 Set ents to NULL only before grub_partition_iterate() is called.
36793
75c59f59 367942009-07-11 Bean <bean123ch@gmail.com>
36795
36796 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
36797 childname.
36798
0ae1bf88 367992009-07-10 Bean <bean123ch@gmail.com>
368002009-07-10 Robert Millan <rmh.grub@aybabtu.com>
36801
36802 * kern/ieee1275/openfw.c (grub_children_iterate)
36803 (grub_devalias_iterate): Fix size evaluation for property or path
36804 strings, which was broken since r2132.
36805
8279cade 368062009-07-07 Pavel Roskin <proski@gnu.org>
36807
7d8a52d3 36808 * commands/search.c (search_file): Merge into ...
36809 (search_fs): ... this. Accept search type as argument.
36810 (grub_cmd_search): Pass search type to search_fs().
36811
25f9a05a 36812 * include/grub/util/console.h: New file.
36813 * util/console.c: Use it instead of grub/machine/console.h.
36814 * util/grub-emu.c: Likewise.
36815
8279cade 36816 * lib/arg.c (find_long_option): Remove.
36817 (find_long): Add `len' argument, make `s' const char *.
36818 (grub_arg_parse): Parse long options in place, not in a
36819 temporary buffer.
36820
4a11b60f 368212009-07-06 Pavel Roskin <proski@gnu.org>
36822
99f68041 36823 * commands/search.c (search_fs): Fix potential NULL pointer
36824 dereference.
36825
4a11b60f 36826 * commands/search.c (search_fs): Replace QUID macro with quid_fn
36827 function pointer.
36828
e110f4de 368292009-07-06 Daniel Mierswa <impulze@impulze.org>
36830
36831 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
36832 comparison.
36833
46eeb6a2 368342009-07-05 Pavel Roskin <proski@gnu.org>
36835
bab74958 36836 * include/grub/i386/linux.h (struct linux_kernel_params):
36837 Restore padding3, it's still needed.
36838
46eeb6a2 36839 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
36840 FreeBSD.
36841 * util/osdetect.lua: Likewise.
36842
b4a1dc79 368432009-07-05 Bean <bean123ch@gmail.com>
36844
36845 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
36846
36847 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
36848 (grub_lua_getenv): Likewise.
36849 (grub_lua_setenv): Likewise.
36850 (save_errno): New function.
36851 (push_result): Likewise.
36852 (grub_lua_enum_device): Likewise.
36853 (grub_lua_enum_file): Likewise.
36854 (grub_lua_file_open): Likewise.
36855 (grub_lua_file_close): Likewise.
36856 (grub_lua_file_seek): Likewise.
36857 (grub_lua_file_read): Likewise.
36858 (grub_lua_file_getline): Likewise.
36859 (grub_lua_file_getsize): Likewise.
36860 (grub_lua_file_getpos): Likewise.
36861 (grub_lua_file_eof): Likewise.
36862 (grub_lua_file_exist): Likewise.
36863 (grub_lua_add_menu): Likewise.
36864
36865 * script/lua/grub_lua.h (isupper): New inline function.
36866 (islower): Likewise.
36867 (ispunct): Likewise.
36868 (isxdigit): Likewise.
36869 (strcspn): Change to normal function.
36870 (strpbkr): New function declaration.
36871 (memchr): Likewise.
36872
36873 * script/lua/grub_main.c (scan_str): New function.
36874 (strcspn): Likewise.
36875 (strpbrk): Likewise.
36876 (memchr): Likewise.
36877
36878 * script/lua/linit.c (lualibs): Enable the string library.
36879
36880 * util/osdetect.lua: New file.
36881
2da92295 368822009-07-04 Robert Millan <rmh.grub@aybabtu.com>
36883
36884 * include/grub/i386/linux.h (struct linux_kernel_params): Add
36885 `capabilities' member.
36886
b2582ec9 368872009-07-02 Pavel Roskin <proski@gnu.org>
36888
36889 * genparttoollist.sh: Add missing newline at the end.
36890
32622956 368912009-07-01 Pavel Roskin <proski@gnu.org>
36892
87a7339e 36893 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
36894
d23af54e 36895 * util/hostdisk.c (open_device): Remove `const' from
36896 `sysctl_size', as sysctlbyname() can change it (in this case it
36897 doesn't actually happen).
36898
c94b18a9 36899 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
36900 using signed long int constants.
36901
c6cd3ef0 36902 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
36903 constant to avoid a warning on FreeBSD.
36904
0df63420 36905 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
36906 where it's needed.
36907
999577f1 36908 * Makefile.in: Install include/grub/machine symlink.
36909
6f41557f 36910 * Makefile.in: When installing symlinks, use "cp -fR", which
36911 works on FreeBSD and MacOSX.
36912 From Yves Blusseau <cl7m42e02@sneakemail.com>
36913
c8d22988 36914 * kern/dl.c (grub_dl_resolve_symbol): Make static.
36915 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
36916
1b96e952 36917 * util/misc.c: Move grub_reboot() and grub_halt() ...
36918 * util/grub-emu.c: ... here. Make main_env static.
36919 * include/grub/util/misc.h: Remove main_env.
36920
2ef0084d 36921 * kern/mm.c: Use correct format to print size_t.
36922
32622956 36923 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
36924 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
36925 * kern/powerpc/dl.c: Likewise.
36926 * kern/sparc64/dl.c: Likewise.
36927 * kern/x86_64/dl.c: Likewise.
36928
3f7f0cd0 369292009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36930
36931 Fix grub-emu build on sparc64-ieee1275.
36932
75421ca9 36933 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 36934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
36935
211d06b5 369362009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36937
36938 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
36939 (grub_reboot, grub_halt): New functions.
36940
36941 * util/i386/pc/misc.c: Delete. Update all users.
36942 * util/sparc64/ieee1275/misc.c: Likewise.
36943 * util/powerpc/ieee1275/misc.c: Likewise.
36944
aaf53e3c 369452009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36946
36947 * conf/i386.rmk (setjmp_mod_SOURCES)
36948 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
36949 * conf/common.rmk (setjmp_mod_SOURCES)
36950 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
36951 to use $(target_cpu).
36952 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
36953 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
36954 * conf/powerpc-ieee1275.rmk: Likewise.
36955 * conf/sparc64-ieee1275.rmk: Likewise.
36956
36957 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
36958 $(target_cpu) for kern/$(target_cpu)/dl.c.
36959 * conf/i386-efi.rmk: Likewise.
36960 * conf/i386-ieee1275.rmk: Likewise.
36961 * conf/x86_64-efi.rmk: Likewise.
36962 * conf/i386-coreboot.rmk: Likewise.
36963 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
36964 $(target_cpu) for kern/$(target_cpu)/dl.c and for
36965 kern/$(target_cpu)/cache.S.
36966 * conf/sparc64-ieee1275.rmk: Likewise.
36967
a337130b 369682009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36969
36970 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
36971 type to `grub_uint8_t', and adjust `padding9' accordingly.
36972
c6fe4d53 369732009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36974
b09db61d 36975 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
36976
c6fe4d53 36977 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
36978 assembly in final jump, using register constraints.
36979
b09db61d 36980 (grub_linux_boot): For text mode, initialize `have_vga' using
36981 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
36982
36983 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
36984 right before the final jump.
36985
36986 Set `video_mode' to 0x3.
36987
36988 Document initialization of `video_page', `video_mode' and
36989 `video_ega_bx'.
36990
28333ad0 369912009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36992
36993 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
36994 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 36995 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 36996
02164e1b 369972009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36998
36999 Fix build on Debian / sparc.
37000
37001 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
37002
18b6c557 370032009-06-28 Pavel Roskin <proski@gnu.org>
37004
85f2aab6 37005 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
37006 fix a warning.
37007
18b6c557 37008 * util/grub.d/10_linux.in: Match SUSE style initrd names.
37009
ad760f81 370102009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37011
37012 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
37013 `err'.
37014
87a4623b 370152009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37016
37017 Revert r2338.
37018
37019 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
37020 file can't be opened. grub_file_open() is already supposed to set
75421ca9 37021 grub_errno / grub_errmsg appropriately.
87a4623b 37022 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37023
8231fb77 370242009-06-27 Pavel Roskin <proski@gnu.org>
370252009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37026
37027 * include/grub/dl.h: Include grub/elf.h.
37028 (struct grub_dl): Add symtab field.
37029 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
37030 GRUB_MODULES_MACHINE_READONLY.
37031 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
37032 of the header for read-only modules.
37033 (grub_dl_unload): Free mod->symtab for read-only modules.
37034 * kern/i386/dl.c: Use mod->symtab.
37035 * kern/powerpc/dl.c: Likewise.
37036 * kern/sparc64/dl.c: Likewise.
37037 * kern/x86_64/dl.c: Likewise.
37038
37039 * conf/i386-qemu.rmk: New file.
37040 * kern/i386/qemu/startup.S: Likewise.
37041 * kern/i386/qemu/mmap.c: Likewise.
37042 * boot/i386/qemu/boot.S: Likewise.
37043 * include/grub/i386/qemu/time.h: Likewise.
37044 * include/grub/i386/qemu/serial.h: Likewise.
37045 * include/grub/i386/qemu/kernel.h: Likewise.
37046 * include/grub/i386/qemu/console.h: Likewise.
37047 * include/grub/i386/qemu/boot.h: Likewise.
37048 * include/grub/i386/qemu/init.h: Likewise.
37049 * include/grub/i386/qemu/machine.h: Likewise.
37050 * include/grub/i386/qemu/loader.h: Likewise.
37051 * include/grub/i386/qemu/memory.h: Likewise.
37052
37053 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
37054 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
37055 [qemu] (pkglib_IMAGES): Add `boot.img'.
37056 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
37057 [qemu] (boot_img_FORMAT): New variables.
37058 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
37059 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
37060 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
37061 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
37062 [qemu] (kernel_img_FORMAT): New variables.
37063
37064 * configure.ac: Recognise `i386-qemu'.
37065
37066 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
37067 (for no compression).
37068 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
37069 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
37070 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
37071 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
37072 ifdefs).
37073
97fe384e 370742009-06-27 Pavel Roskin <proski@gnu.org>
37075
37076 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
37077 read.
37078 * efiemu/prepare32.c: Likewise.
37079 * efiemu/prepare64.c: Likewise.
37080
c402ab17 370812009-06-26 Pavel Roskin <proski@gnu.org>
37082
37083 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
37084 * include/grub/elf.h: Define symbols without "32" or "64" based
37085 on GRUB_TARGET_WORDSIZE.
37086 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
37087 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
37088 ELF definitions.
37089 * efiemu/loadcore64.c: Likewise.
37090 * loader/i386/bsd32.c: Likewise.
37091 * loader/i386/bsd64.c: Likewise.
37092 * kern/dl.c: Remove own ELF definitions.
37093 * util/i386/efi/grub-mkimage.c: Likewise.
37094
9bbdfd4d 370952009-06-23 Robert Millan <rmh.grub@aybabtu.com>
37096
37097 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
37098 segment 0x0 unconditionally, because the reference generated by
37099 GAS is an absolute address.
37100
a42ce6e9 371012009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37102
37103 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
37104 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
37105
c952cf92 371062009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37107
37108 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
37109 indexes. Check for -f explicitly.
cc3752ad 37110 (search_file): Improve error message.
37111 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 37112
132a0a59 371132009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37114
37115 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
37116 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
37117
387a140c 371182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37119
37120 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
37121 * conf/i386-ieee1275.rmk: Likewise.
37122 * conf/i386-coreboot.rmk: Likewise.
37123
37124 * kern/i386/pc/startup.S (grub_stop): Remove function.
37125 * kern/i386/ieee1275/startup.S: Likewise.
37126 * kern/i386/coreboot/startup.S: Likewise.
37127 * kern/i386/misc.S (grub_stop): New function.
37128
41da9665 371292009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37130
37131 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
37132 * kern/i386/realmode.S (real_to_prot): ... to here.
37133
bf337234 371342009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37135
37136 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
37137 with `kernel.img'.
37138 (kernel_elf_SOURCES): Rename to ...
37139 (kernel_img_SOURCES): ... this.
37140 (kernel_elf_HEADERS): Rename to ...
37141 (kernel_img_HEADERS): ... this. Update all users.
37142 (kernel_elf_ASFLAGS): Rename to ...
37143 (kernel_img_ASFLAGS): ... this.
37144 (kernel_elf_CFLAGS): Rename to ...
37145 (kernel_img_CFLAGS): ... this.
37146 (kernel_elf_LDFLAGS): Rename to ...
37147 (kernel_img_LDFLAGS): ... this.
37148 * conf/i386-coreboot.rmk: Likewise.
37149 * conf/powerpc-ieee1275.rmk: Likewise.
37150
37151 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
37152 with "kernel.img".
37153
f52196ff 371542009-06-21 Pavel Roskin <proski@gnu.org>
37155
c3cee413 37156 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
37157 to match nested functions.
37158 * loader/sparc64/ieee1275/linux.c: Likewise.
37159
f52196ff 37160 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
37161
58750afc 371622009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37163
37164 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
37165 all i386 platforms.
37166
15355c7d 371672009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37168
37169 Fix asm file handling on ELF, and remove workarounds.
37170
37171 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 37172 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 37173 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
37174 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
37175
3f3ec72b 371762009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
37177
37178 Load BSD ELF modules
37179
37180 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
37181 and loader/i386/bsd64.c
37182 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
37183 (FREEBSD_MODTYPE_ELF_MODULE): New definition
37184 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
37185 (grub_freebsd_load_elfmodule32): New declaration
37186 (grub_freebsd_load_elfmoduleobj64): Likewise
37187 (grub_freebsd_load_elf_meta32): Likewise
37188 (grub_freebsd_load_elf_meta64): Likewise
37189 (grub_freebsd_add_meta): Likewise
37190 (grub_freebsd_add_meta_module): Likewise
37191 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
37192 (grub_freebsd_add_meta_module): Likewise and move module-specific
37193 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
37194 (grub_cmd_freebsd): Add elf-kernel specific parts
37195 based on grub_freebsd_add_meta_module
37196 (grub_cmd_freebsd_module): Add type parsing moved from
37197 grub_freebsd_add_meta_module
37198 (grub_cmd_freebsd_module_elf): New function
37199 (cmd_freebsd_module_elf): New variable
37200 (GRUB_MOD_INIT): Register freebsd_module_elf
37201 * loader/i386/bsd32.c: New file
37202 * loader/i386/bsd64.c: Likewise
37203 * loader/i386/bsdXX.c: Likewise
37204 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
37205 (grub_elf64_load): Likewise
37206 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
37207 All users updated
37208 (grub_elf64_load_hook_t): Likewise
37209
0db15301 372102009-06-21 Colin Watson <cjwatson@ubuntu.com>
37211
37212 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
37213 variable.
37214 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
37215 don't write a menu entry for recovery mode.
37216
546796c1 372172009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37218
37219 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
37220 after it's no longer needed.
37221
cd7310d5 372222009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37223
37224 * include/grub/i386/loader.h (grub_linux_prot_size)
37225 (grub_linux_tmp_addr, grub_linux_real_addr)
37226 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
37227 GRUB_MACHINE_PCBIOS.
37228 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
37229 common grub_util_info() call to ...
37230 (generate_image): ... here.
37231 Fix use of uninitialized memory, comparison of signed with
37232 unsigned integers and memory leak.
37233 Remove bogus module address message.
37234
ab32d3b5 372352009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
37236
37237 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
37238 grub_raid_register
37239 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
37240
024ef597 372412009-06-19 Pavel Roskin <proski@gnu.org>
37242
37243 * configure.ac: Remove stray AC_MSG_CHECKING.
37244
3ac72b51 372452009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
37246
37247 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 37248
e14cd814 372492009-06-18 Pavel Roskin <proski@gnu.org>
37250
37251 * conf/common.rmk: Add fs_file.mod.
37252 * disk/fs_file.c: New file.
37253 * include/grub/disk.h (enum grub_disk_dev_id): Add
37254 GRUB_DISK_DEVICE_FILE_ID.
37255
26586d98 372562009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37257
37258 Fix build with Apple's toolchain. Part 2
37259
37260 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
37261 a fake start
37262
26de2bcd 372632009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37264
37265 Fix build with Apple's toolchain. Part 1
37266
37267 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
37268 for long calls
37269 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 37270 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 37271 Apple's toolchain
37272
09b3490b 372732009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37274
37275 Fix warnings
37276
37277 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
37278 (decomp_block): initialize ch
37279 use grub_memcpy instead of memcpy
37280
c22a006a 372812009-06-17 Pavel Roskin <proski@gnu.org>
37282
d3638678 37283 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
37284 version, use declarations needed to use vga_text as the startup
37285 console.
37286
c22a006a 37287 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
37288 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
37289 the kernel.
37290 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
37291 and grub_at_keyboard_fini(), it's done on module load and
37292 unload.
37293
05b129e0 372942009-06-17 Felix Zielcke <fzielcke@z-51.de>
37295
37296 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
37297 file can't be found.
37298 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37299
cf24ed9e 373002009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37301
37302 Fix newline handling
37303
37304 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 37305 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 37306 (grub_script_yylex): don't segfault on unterminated script
37307 newline terminates command and variable
37308
74aa8e4b 373092009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37310
37311 avoid double grub_adjust_range call. Bug reported by David Simner
37312
37313 * kern/disk.c (grub_disk_write): change to raw disk access before
37314 calling disk_read
37315
1bd265f3 373162009-06-17 Colin Watson <cjwatson@ubuntu.com>
37317
37318 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
37319 spaces, for the benefit of help2man.
37320 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37321
a2d08c06 373222009-06-16 Pavel Roskin <proski@gnu.org>
37323
37324 * kern/i386/halt.c: Include grub/machine/init.h.
37325 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
37326
b97bcb19 373272009-06-16 Felix Zielcke <fzielcke@z-51.de>
37328
37329 * util/grub.d/30_os-prober.in: Use ${root} in the generated
37330 drivemap menuentry.
37331
0644f96c 373322009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
37333
37334 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
37335 `echo' command.
37336
3ef17a2e 373372009-06-16 Pavel Roskin <proski@gnu.org>
37338
37339 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
37340 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
37341 save %dx, we only need %dl and we never change it.
37342 * boot/i386/pc/cdboot.S: Don't set the root drive.
37343 * boot/i386/pc/pxeboot.S: Likewise.
37344 * include/grub/i386/pc/boot.h: Remove
37345 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
37346 GRUB_BOOT_MACHINE_DRIVE_CHECK.
37347 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
37348 * kern/i386/pc/init.c (make_install_device): Remove references
37349 to grub_root_drive.
37350 * kern/i386/pc/startup.S: Likewise.
37351 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
37352
693fe637 373532009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37354
37355 xnu_uuid command
37356
37357 * commands/xnu_uuid.c: new file
37358 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
37359 (xnu_uuid_mod_SOURCES): new variable
37360 (xnu_uuid_mod_CFLAGS): likewise
37361 (xnu_uuid_mod_LDFLAGS): likewise
37362 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37363 * conf/i386-ieee1275.rmk: likewise
37364 * conf/i386-pc.rmk: likewise
37365 * conf/powerpc-ieee1275.rmk: likewise
37366 * conf/sparc64-ieee1275.rmk: likewise
37367 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
37368
c9da87d0 373692009-06-16 Pavel Roskin <proski@gnu.org>
37370
37371 * configure.ac: Avoid '==' in test command, it's not portable.
37372
9c6f4596 373732009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37374
37375 Probe command
37376
37377 * commands/probe.c: new file
37378 * conf/common.rmk (pkglib_MODULES): add probe.mod
37379 (probe_mod_SOURCES): new variable
37380 (probe_mod_CFLAGS): likewise
37381 (probe_mod_LDFLAGS): likewise
37382 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37383 * conf/i386-ieee1275.rmk: likewise
37384 * conf/i386-pc.rmk: likewise
37385 * conf/powerpc-ieee1275.rmk: likewise
37386 * conf/sparc64-ieee1275.rmk: likewise
37387
70b7f9fd 373882009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
37389
37390 Fix handling of string like \"hello\" and "a
37391 b"
37392
37393 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
37394 (grub_script_yylex): fix parsing of quoting, escaping and newline
37395
71c79a6b 373962009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
37397
dd74360c 37398 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 37399 handling
dd74360c 37400
0644f96c 374012009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 37402
37403 * util/grub-mkconfig.in: Fix parsing of --output option.
37404
e40893c3 374052009-06-12 Pavel Roskin <proski@gnu.org>
37406
37407 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
37408 genmk.rb don't need to be generated or installed.
37409
3a1acfe2 374102009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
37411
37412 * commands/i386/pc/drivemap_int13h.S: add more comments
37413
3a4575d4 374142009-06-11 Pavel Roskin <proski@gnu.org>
37415
0658e928 37416 * Makefile.in (uninstall): Uninstall manuals.
37417
ca0388f0 37418 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
37419 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
37420 and update-grub_lib in two places.
37421 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
37422
e3b27c39 37423 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
37424 a compiler warning.
37425
3a4575d4 37426 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
37427 `entry_lo' to fix variable shadowing.
37428
af1f4f55 374292009-06-11 Christian Franke <franke@computer.org>
37430
37431 * kern/misc.c (__enable_execute_stack): Add missing return type
37432 to prevent gcc warning.
37433
5225e649 374342009-06-11 Felix Zielcke <fzielcke@z-51.de>
37435
37436 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
37437
7d83bd47 374382009-06-11 Pavel Roskin <proski@gnu.org>
37439
c1cb63ba 37440 * Makefile.in: Don't rely on any scripts being executable.
37441 Always use $(SHELL) to run shell scripts.
37442
7d83bd47 37443 * configure.ac: Always define ___main if using -nostdlib. This
37444 fixes tests on Cygwin.
37445
948f48e7 374462009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
37447
37448 UDF fix
37449
7d83bd47 37450 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 37451 is in bytes and not in blocks
7d83bd47 37452
8ada9bc1 374532009-06-11 Pavel Roskin <proski@gnu.org>
37454
37455 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
37456 warning.
37457
25ad2323 374582009-06-11 Felix Zielcke <fzielcke@z-51.de>
37459
37460 * util/grub.d/30_os-prober.in: Fix a comment. Source
37461 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
37462 to set the root device. Place drivemap command in the generated
37463 chain entry.
37464
e65acb0c 374652009-06-11 Pavel Roskin <proski@gnu.org>
37466
37467 * configure.ac: Remove host_m32. Issues with 64-bit utilities
37468 have long been resolved.
37469
f285fe2d 374702009-06-11 Colin Watson <cjwatson@ubuntu.com>
37471
bd47b0b5 37472 * util/grub.d/10_linux.in: Capitalise "Linux".
37473
f285fe2d 37474 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
37475
a0c62e4e 374762009-06-11 Pavel Roskin <proski@gnu.org>
37477
b6783cb2 37478 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
37479 fix a gcc warning and ensure that the function won't ever exit.
37480
dde032e8 37481 * kern/i386/ieee1275/init.c: Add missing prototype for
37482 grub_stop_floppy().
37483
22cd079d 37484 * loader/ieee1275/multiboot2.c [__i386__]: Include
37485 grub/cpu/multiboot.h.
37486
a0c62e4e 37487 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
37488 casts to short - they are not portable and cause warnings. Fix
37489 use of uninitialized values in input_buf. Use ARRAY_SIZE.
37490
63963d17 374912009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
37492
37493 Drivemap fixes
37494
37495 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
37496 new function
37497 (grub_get_root_biosnumber_saved): new variable
37498 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
37499 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 37500 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 37501 %dx after the call if necessary
37502 * conf/common.rmk (pkglib_MODULES): remove boot.mod
37503 (boot_mod_SOURCES): remove
37504 (boot_mod_CFLAGS): remove
37505 (boot_mod_LDFLAGS): remove
37506 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
37507 (boot_mod_SOURCES): new variable
37508 (boot_mod_CFLAGS): likewise
37509 (boot_mod_LDFLAGS): likewise
37510 * conf/i386-efi.rmk: likewise
37511 * conf/i386-ieee1275.rmk: likewise
37512 * conf/i386-pc.rmk: likewise
37513 * conf/powerpc-ieee1275.rmk: likewise
37514 * conf/sparc64-ieee1275.rmk: likewise
37515 * conf/x86_64-efi.rmk: likewise
37516 * include/grub/i386/pc/biosnum.h: new file
37517 * lib/i386/pc/biosnum.c: likewise
37518 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
37519 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
37520 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 37521
33abf7ae 375222009-06-10 Pavel Roskin <proski@gnu.org>
37523
5ac35b35 37524 * io/gzio.c (test_header): Don't reuse one buffer for all data.
37525 Use separate variables. Read only the file size at the end, but
37526 not the checksum that we don't use.
37527
5c5215d5 37528 * kern/file.c (grub_file_read): Use void pointer for the buffer.
37529 Adjust all callers.
37530
27d5fef7 37531 * kern/ieee1275/openfw.c: Remove libc includes.
37532 * kern/ieee1275/cmain.c: Likewise.
37533 * include/grub/ieee1275/ieee1275.h: Likewise.
37534
33abf7ae 37535 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
37536 compiler warnings.
37537
19d50c2b 375382009-06-10 Felix Zielcke <fzielcke@z-51.de>
37539
37540 * Makefile.in: Remove all trailing whitespace.
37541 * conf/i386-pc.rmk: Likewise.
37542 * conf/powerpc-ieee1275.rmk: Likewise.
37543 * conf/sparc64-ieee1275.rmk: Likewise.
37544 * docs/grub.texi: Likewise.
37545 * docs/texinfo.tex: Likewise.
37546 * disk/fs_uuid.c: Likewise.
37547 * disk/lvm.c: Likewise.
37548 * disk/scsi.c: Likewise.
37549 * disk/ata.c: Likewise.
37550 * disk/ieee1275/ofdisk.c: Likewise.
37551 * disk/i386/pc/biosdisk.c: Likewise.
37552 * disk/host.c: Likewise.
37553 * disk/raid.c: Likewise.
37554 * disk/efi/efidisk.c: Likewise.
37555 * disk/usbms.c: Likewise.
37556 * disk/memdisk.c: Likewise.
37557 * disk/loopback.c: Likewise.
37558 * kern/powerpc/dl.c: Likewise.
37559 * kern/device.c: Likewise.
37560 * kern/dl.c: Likewise.
37561 * kern/sparc64/dl.c: Likewise.
37562 * kern/ieee1275/ieee1275.c: Likewise.
37563 * kern/term.c: Likewise.
37564 * kern/fs.c: Likewise.
37565 * kern/i386/dl.c: Likewise.
37566 * kern/i386/pc/startup.S: Likewise.
37567 * kern/i386/pc/init.c: Likewise.
37568 * kern/i386/pc/mmap.c: Likewise.
37569 * kern/i386/pc/lzo1x.S: Likewise.
37570 * kern/i386/ieee1275/init.c: Likewise.
37571 * kern/i386/realmode.S: Likewise.
37572 * kern/i386/tsc.c: Likewise.
37573 * kern/partition.c: Likewise.
37574 * kern/corecmd.c: Likewise.
37575 * kern/file.c: Likewise.
37576 * kern/efi/efi.c: Likewise.
37577 * kern/efi/init.c: Likewise.
37578 * kern/efi/mm.c: Likewise.
37579 * kern/main.c: Likewise.
37580 * kern/err.c: Likewise.
37581 * kern/env.c: Likewise.
37582 * kern/disk.c: Likewise.
37583 * kern/generic/millisleep.c: Likewise.
37584 * kern/generic/rtc_get_time_ms.c: Likewise.
37585 * kern/misc.c: Likewise.
37586 * kern/parser.c: Likewise.
37587 * genmk.rb: Likewise.
37588 * configure.ac: Likewise.
37589 * boot/i386/pc/diskboot.S: Likewise.
37590 * boot/i386/pc/pxeboot.S: Likewise.
37591 * boot/i386/pc/boot.S: Likewise.
37592 * boot/i386/pc/lnxboot.S: Likewise.
37593 * boot/i386/pc/cdboot.S: Likewise.
37594 * parttool/pcpart.c: Likewise.
37595 * video/readers/tga.c: Likewise.
37596 * video/video.c: Likewise.
37597 * video/bitmap.c: Likewise.
37598 * lib/envblk.c: Likewise.
37599 * lib/i386/setjmp.S: Likewise.
37600 * fs/xfs.c: Likewise.
37601 * fs/afs.c: Likewise.
37602 * fs/fat.c: Likewise.
37603 * fs/ntfs.c: Likewise.
37604 * fs/udf.c: Likewise.
37605 * fs/affs.c: Likewise.
37606 * fs/iso9660.c: Likewise.
37607 * fs/hfs.c: Likewise.
37608 * fs/fshelp.c: Likewise.
37609 * fs/ext2.c: Likewise.
37610 * fs/jfs.c: Likewise.
37611 * fs/reiserfs.c: Likewise.
37612 * fs/hfsplus.c: Likewise.
37613 * fs/minix.c: Likewise.
37614 * fs/cpio.c: Likewise.
37615 * fs/sfs.c: Likewise.
37616 * fs/ufs.c: Likewise.
37617 * efiemu/prepare.c: Likewise.
37618 * efiemu/loadcore_common.c: Likewise.
37619 * efiemu/runtime/efiemu.sh: Likewise.
37620 * efiemu/runtime/efiemu.S: Likewise.
37621 * efiemu/runtime/efiemu.c: Likewise.
37622 * efiemu/pnvram.c: Likewise.
37623 * efiemu/main.c: Likewise.
37624 * efiemu/i386/pc/cfgtables.c: Likewise.
37625 * efiemu/i386/loadcore64.c: Likewise.
37626 * efiemu/i386/loadcore32.c: Likewise.
37627 * efiemu/loadcore.c: Likewise.
37628 * efiemu/symbols.c: Likewise.
37629 * efiemu/mm.c: Likewise.
37630 * include/grub/autoefi.h: Likewise.
37631 * include/grub/datetime.h: Likewise.
37632 * include/grub/term.h: Likewise.
37633 * include/grub/hfs.h: Likewise.
37634 * include/grub/lvm.h: Likewise.
37635 * include/grub/i386/tsc.h: Likewise.
37636 * include/grub/i386/linux.h: Likewise.
37637 * include/grub/i386/xnu.h: Likewise.
37638 * include/grub/i386/efiemu.h: Likewise.
37639 * include/grub/i386/pc/biosdisk.h: Likewise.
37640 * include/grub/i386/pc/memory.h: Likewise.
37641 * include/grub/i386/pc/vbe.h: Likewise.
37642 * include/grub/parttool.h: Likewise.
37643 * include/grub/video.h: Likewise.
37644 * include/grub/memory.h: Likewise.
37645 * include/grub/fs.h: Likewise.
37646 * include/grub/partition.h: Likewise.
37647 * include/grub/xnu.h: Likewise.
37648 * include/grub/efi/api.h: Likewise.
37649 * include/grub/efi/pe32.h: Likewise.
37650 * include/grub/efi/memory.h: Likewise.
37651 * include/grub/multiboot.h: Likewise.
37652 * include/grub/usbdesc.h: Likewise.
37653 * include/grub/multiboot2.h: Likewise.
37654 * include/grub/acpi.h: Likewise.
37655 * include/grub/efiemu/efiemu.h: Likewise.
37656 * include/grub/disk.h: Likewise.
37657 * include/grub/ieee1275/ieee1275.h: Likewise.
37658 * include/grub/net.h: Likewise.
37659 * include/grub/machoload.h: Likewise.
37660 * include/grub/macho.h: Likewise.
37661 * include/multiboot.h: Likewise.
37662 * genmoddep.awk: Likewise.
37663 * normal/main.c: Likewise.
37664 * normal/menu_entry.c: Likewise.
37665 * normal/menu_viewer.c: Likewise.
37666 * normal/completion.c: Likewise.
37667 * normal/cmdline.c: Likewise.
37668 * normal/misc.c: Likewise.
37669 * normal/datetime.c: Likewise.
37670 * bus/usb/usbtrans.c: Likewise.
37671 * bus/usb/ohci.c: Likewise.
37672 * bus/usb/uhci.c: Likewise.
37673 * bus/usb/usb.c: Likewise.
37674 * mmap/efi/mmap.c: Likewise.
37675 * mmap/i386/pc/mmap_helper.S: Likewise.
37676 * mmap/i386/pc/mmap.c: Likewise.
37677 * mmap/i386/mmap.c: Likewise.
37678 * mmap/i386/uppermem.c: Likewise.
37679 * mmap/mmap.c: Likewise.
37680 * commands/acpi.c: Likewise.
37681 * commands/echo.c: Likewise.
37682 * commands/blocklist.c: Likewise.
37683 * commands/loadenv.c: Likewise.
37684 * commands/usbtest.c: Likewise.
37685 * commands/boot.c: Likewise.
37686 * commands/parttool.c: Likewise.
37687 * commands/search.c: Likewise.
37688 * commands/cat.c: Likewise.
37689 * commands/i386/pc/play.c: Likewise.
37690 * commands/i386/pc/drivemap.c: Likewise.
37691 * commands/i386/pc/vbeinfo.c: Likewise.
37692 * commands/i386/pc/acpi.c: Likewise.
37693 * commands/i386/pc/vbetest.c: Likewise.
37694 * commands/ls.c: Likewise.
37695 * commands/cmp.c: Likewise.
37696 * commands/test.c: Likewise.
37697 * commands/efi/acpi.c: Likewise.
37698 * commands/gptsync.c: Likewise.
37699 * commands/help.c: Likewise.
37700 * partmap/amiga.c: Likewise.
37701 * partmap/apple.c: Likewise.
37702 * partmap/acorn.c: Likewise.
37703 * partmap/pc.c: Likewise.
37704 * partmap/sun.c: Likewise.
37705 * partmap/gpt.c: Likewise.
37706 * script/sh/lexer.c: Likewise.
37707 * script/sh/function.c: Likewise.
37708 * font/font.c: Likewise.
37709 * font/font_cmd.c: Likewise.
37710 * loader/powerpc/ieee1275/linux.c: Likewise.
37711 * loader/efi/chainloader.c: Likewise.
37712 * loader/multiboot_loader.c: Likewise.
37713 * loader/macho.c: Likewise.
37714 * loader/i386/multiboot.c: Likewise.
37715 * loader/i386/linux.c: Likewise.
37716 * loader/i386/pc/linux.c: Likewise.
37717 * loader/i386/pc/multiboot2.c: Likewise.
37718 * loader/i386/pc/chainloader.c: Likewise.
37719 * loader/i386/pc/xnu.c: Likewise.
37720 * loader/i386/bsd_trampoline.S: Likewise.
37721 * loader/i386/efi/linux.c: Likewise.
37722 * loader/i386/multiboot_elfxx.c: Likewise.
37723 * loader/i386/bsd_helper.S: Likewise.
37724 * loader/i386/bsd.c: Likewise.
37725 * loader/i386/linux_trampoline.S: Likewise.
37726 * loader/i386/xnu_helper.S: Likewise.
37727 * loader/i386/xnu.c: Likewise.
37728 * loader/i386/bsd_pagetable.c: Likewise.
37729 * loader/i386/multiboot_helper.S: Likewise.
37730 * loader/xnu.c: Likewise.
37731 * loader/xnu_resume.c: Likewise.
37732 * io/gzio.c: Likewise.
37733 * term/efi/console.c: Likewise.
37734 * term/terminfo.c: Likewise.
37735 * term/ieee1275/ofconsole.c: Likewise.
37736 * term/i386/pc/serial.c: Likewise.
37737 * term/i386/pc/vesafb.c: Likewise.
37738 * term/i386/pc/vga.c: Likewise.
37739 * term/usb_keyboard.c: Likewise.
37740 * term/gfxterm.c: Likewise.
37741 * aclocal.m4: Likewise.
37742 * util/lvm.c: Likewise.
37743 * util/grub.d/30_os-prober.in: Likewise.
37744 * util/grub.d/10_hurd.in: Likewise.
37745 * util/console.c: Likewise.
37746 * util/grub-macho2img.c: Likewise.
37747 * util/grub-probe.c: Likewise.
37748 * util/hostfs.c: Likewise.
37749 * util/i386/pc/grub-mkimage.c: Likewise.
37750 * util/i386/pc/grub-setup.c: Likewise.
37751 * util/i386/efi/grub-mkimage.c: Likewise.
37752 * util/grub-mkconfig.in: Likewise.
37753 * util/raid.c: Likewise.
37754 * util/resolve.c: Likewise.
37755 * util/grub-mkdevicemap.c: Likewise.
37756 * util/grub-emu.c: Likewise.
37757 * util/getroot.c: Likewise.
37758 * util/hostdisk.c: Likewise.
37759 * util/usb.c: Likewise.
37760 * util/grub-editenv.c: Likewise.
37761 * util/misc.c: Likewise.
37762
d2d49665 377632009-06-10 Felix Zielcke <fzielcke@z-51.de>
37764
37765 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
37766 `genparttoollist.sh'.
37767 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
37768 Add `*.sh' to the list find searches for and change `mdate.sh'
37769 to `mdate-sh'.
37770
fe052e37 377712009-06-10 Pavel Roskin <proski@gnu.org>
37772
2763ac18 37773 * include/grub/multiboot2.h: Provide compatibility defines for
37774 multiboot2.h.
37775 * include/multiboot2.h: Include stdint.h only if needed, using
37776 angle brackets.
37777 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
37778 grub/multiboot2.h.
37779 * loader/ieee1275/multiboot2.c: Likewise.
37780 * loader/multiboot2.c: Likewise.
37781 * loader/multiboot_loader.c: Likewise.
37782
437e6adc 37783 * configure.ac: Use -nostdlib when probing for the target. It
37784 should not be required to have libc for the target.
37785
06a6836c 37786 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
37787 they fail without libc headers for the target.
37788 * include/grub/powerpc/libgcc.h: Use weak attribute for all
37789 exports.
37790 * include/grub/sparc64/libgcc.h: Likewise. Don't use
37791 preprocessor conditionals.
37792
fe052e37 37793 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
37794 build system doesn't need to be aware of the tar.c internals.
37795
afd22553 377962009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 37797
afd22553 37798 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 37799
6b787c4f 378002009-06-09 Robert Millan <rmh.grub@aybabtu.com>
37801
37802 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
37803 disk limit to 26 for IDE, Virtio, Xen and SCSI.
37804
378052009-06-09 Felix Zielcke <fzielcke@z-51.de>
37806
37807 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 37808 aren't available if ata.mod gets used.
6b787c4f 37809
473d1e45 378102009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 37811
473d1e45 37812 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 37813 initialising controller.
473d1e45 37814 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 37815
255a27d4 378162009-06-08 Felix Zielcke <fzielcke@z-51.de>
37817
37818 * util/i386/pc/grub-install.in: Add a parameter --disk-module
37819 to choose between ata and biosdisk module on i386-pc.
37820
473d1e45 378212009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 37822
d55842d8 37823 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
37824 Subclass and Programming Interface fields in terms of the 3 byte
37825 Class Code register.
37826 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37827
fa5db0b1 37828 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
37829 interface is OHCI. Add grub_dprintf for symmetry with
37830 bus/usb/uhci.c.
37831 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
37832 interface is UHCI. Add interf variable for programming
37833 interface. Print interface with class/subclass.
37834
c0947beb 37835 * bus/usb/ohci.c: Set interf with correct field.
37836
69da8877 37837 * bus/usb/uhci.c: Remove unneeded doubled lines.
37838 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
37839 Remove whitespace inside comment.
37840
9e172e30 378412009-06-08 Robert Millan <rmh.grub@aybabtu.com>
37842
37843 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
37844 as fallback an equivalent option without depth.
37845
de65ee2b 378462009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37847
37848 Not fail if unable to retrieve C/H/S on LBA disks
37849
473d1e45 37850 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 37851 if unable to retrieve C/H/S on LBA disks
37852
b57ea2c9 378532009-06-08 Pavel Roskin <proski@gnu.org>
37854
37855 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
37856 about aliasing.
37857
af361263 378582009-06-08 Felix Zielcke <fzielcke@z-51.de>
37859
37860 * Makefile.in (uninstall): Remove all $lib_DATA files.
37861
4c9ec6b3 378622009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37863
37864 Bugfix: install on partitionless device
37865
37866 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
37867 is a whole disk
37868
e76fc924 378692009-06-08 Felix Zielcke <fzielcke@z-51.de>
37870
37871 * Makefile.in (uninstall): Remove all $include_DATA files.
37872
ba5a0d05 378732009-06-08 Felix Zielcke <fzielcke@z-51.de>
37874
37875 * commands/true.c: New file. Implement the true and false commands.
37876 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
37877 (true_mod_SOURCES): New variable.
37878 (true_mod_CFLAGS): Likewise.
37879 (true_mod_LDFLAGS): Likewise.
37880
c8048e32 378812009-06-05 Colin D Bennett <colin@gibibit.com>
37882
37883 Optimized font character lookup using binary search instead of linear
37884 search. Fonts now are required to have the character index ordered by
37885 code point.
37886
37887 * font/font.c (load_font_index): Verify that fonts have ordered
37888 character indices.
37889 (find_glyph): Use binary search instead of linear search to find a
37890 character in a font.
37891
408305be 378922009-06-05 Michael Scherer <misc@mandriva.org>
37893
37894 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
37895 uses case sensitive btree.
37896 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
37897 only for case insensitive filesystems.
37898
8ee1e0d9 378992009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
37900
37901 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
37902 * conf/common.rmk (search_mod_CFLAGS): likewise
37903
a9966eb1 379042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37905
473d1e45 37906 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 37907 compensate a compiler bug
37908
9e7100fb 379092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37910
473d1e45 37911 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 37912 instead of '\b'
473d1e45 37913
ede21d71 379142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37915
37916 Definitions for creating asm symbols with Apple's CC
37917
37918 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
37919 [APPLE_CC] (VARIABLE): likewise
37920
9dbf7653 379212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37922
37923 Disable lnxboot.img when compiled
37924 with Apple's CC
37925
37926 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
37927 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
37928 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
37929 [! APPLE_CC] (CODE_LENG): skip
37930 [! APPLE_CC] (setup_sects): likewise
37931 [! APPLE_CC]: skip filling
473d1e45 37932
e93cdc3d 379332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37934
37935 Address in trampolines based on 32-bit registers when compiled
37936 with Apple's CC
37937
473d1e45 37938 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 37939 for addresses
37940 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
37941
6c688477 379422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37943
37944 Avoid aliases when compiling with Apple's CC for PCBIOS machine
37945
37946 * kern/misc.c [APPLE_CC] (memcpy): new function
37947 [APPLE_CC] (memmove): likewise
37948 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 37949 (memcpy): define alias conditionally on !APPLE_CC
6c688477 37950 (memset): likewise
37951 (abort): likewise
37952 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
37953 APPLE_CC are defined
37954 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
37955 (grub_assert_fail): make prototype conditional
37956
e37ffc5c 379572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37958
37959 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
37960
473d1e45 37961 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
37962 grub-macho2img
e37ffc5c 37963 (CLEANFILES): add grub-macho2img
37964 (grub_macho2img_SOURCES): new variable
37965 * kern/i386/pc/startup.S (bss_start): new variable
37966 (bss_end): likewise
37967 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
37968 * util/grub-macho2img.c: new file
37969
cf00df31 379702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37971
37972 Use objconv when compiling with Apple's CC
37973
37974 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
37975 (efiemu64.o): likewise
37976 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
37977 when compiling with Apple's CC
37978 (efiemu64_s.o): likewise
37979 * configure.ac: check for objconv when compiling with Apple's CC
37980 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 37981
d119a20c 379822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37983
37984 Define segment as well as section when compiling with
37985 Apple's CC
37986
37987 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
37988 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
37989 (efiemu_convert_pointer): likewise
37990 (efiemu_set_virtual_address_map): likewise
37991 (efiemu_convert_pointer): likewise
37992 (efiemu_getcrc32): likewise
37993 (init_crc32_table): likewise
37994 (reflect): likewise
37995 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
37996 (GRUB_MOD_DEP): likewise
473d1e45 37997
c8600122 379982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37999
38000 Allow a compilation without -mcmodel=large
38001
38002 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
38003 when compiled without -mcmodel=large
473d1e45 38004 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 38005 without -mcmodel=large
473d1e45 38006 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 38007 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 38008
e8df1d4e 380092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38010
38011 Remove nested functions in efiemu core
38012
38013 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 38014
cc6c3ac1 380152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38016
38017 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
38018
38019 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
38020 temporary storage
473d1e45 38021 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
38022 using Apple's CC
cc6c3ac1 38023 (grub_cpu_is_tsc_supported): likewise
38024 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 38025
3e325901 380262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38027
38028 Absolute addressing through constant with Apple's cc
38029
38030 * kern/i386/pc/startup.S: Define necessary constants
38031 and address through it when using ABS with Apple's CC
38032 * boot/i386/pc/diskboot.S: likewise
38033 * boot/i386/pc/boot.S: likewise
38034 * boot/i386/pc/lnxboot.S: likewise
38035 * boot/i386/pc/cdboot.S: likewise
38036 * mmap/i386/pc/mmap_helper.S: likewise
38037 * commands/i386/pc/drivemap_int13h.S: likewise
38038
2b167a72 380392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38040
38041 Check if compiler is apple cc
38042
38043 * Makefile.in (ASFLAGS): new variable
38044 (TARGET_ASFLAGS): likewise
38045 (TARGET_MODULE_FORMAT): likewise
38046 (TARGET_APPLE_CC): likewise
38047 (OBJCONV): likewise
38048 (TARGET_IMG_CFLAGS): likewise
38049 (TARGET_CPPFLAGS): add includedir
38050 * configure.ac: call grub_apple_cc and grub_apple_target_cc
38051 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
38052 Check for linker script only if compiler isn't Apple's CC
38053 (TARGET_MODULE_FORMAT): set
38054 (TARGET_APPLE_CC): likewise
38055 (TARGET_ASFLAGS): likewise
38056 (ASFLAGS): likewise
38057 Check for objcopy only if compiler isn't Apple's CC
38058 Check for BSS symbol only if compiler isn't Apple's CC
38059 * genmk.rb: adapt nm options if we use Apple's utils
38060 * aclocal.m4 (grub_apple_cc): new test
38061 (grub_apple_target_cc): likewise
473d1e45 38062
fb14123e 380632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38064
38065 Simplify sed expressions and improve awk
38066
38067 * Makefile.in (install-local): simplify sed expression
38068 * gencmdlist.sh: likewise
38069 * genmoddep.awk: avoid adding module as a dependency of itself
38070
5b889789 380712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38072
38073 Add missing start symbols
38074
38075 * boot/i386/pc/boot.S: add start
fb14123e 38076 * boot/i386/pc/pxeboot.S: likewise
473d1e45 38077
fd2bf2e3 380782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38079
38080 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 38081
38082 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 38083 (relocate_addresses): consider both r_addend and value at offset
38084 (make_mods_section): zerofill modinfo and header
38085 (convert_elf): write prefix here
473d1e45 38086
5389763d 380872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38088
38089 Use .asciz instead of .string
38090
38091 * i386/pc/diskboot.S: use .asciz instead of .string
38092 * i386/pc/boot.S: likewise
38093 * include/grub/dl.h (GRUB_MOD_DEP): likewise
38094 (GRUB_MOD_NAME): likewise
473d1e45 38095
3eb5ed4e 380962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38097
38098 gfxpayload support
38099
38100 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
38101 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
38102 (grub_video_setup): remove
38103 (grub_video_set_mode): new prototype
38104 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
38105 (vid_mode): remove
38106 (linux_vesafb_res): compile only on PCBIOS
38107 (grub_linux_boot): support gfxpayload
38108 * loader/i386/pc/xnu.c (video_hook): new function
38109 (grub_xnu_set_video): support gfxpayload
38110 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
38111 (DEFAULT_VIDEO_HEIGHT): likewise
38112 (DEFAULT_VIDEO_FLAGS): likewise
38113 (DEFAULT_VIDEO_MODE): new definition
38114 (video_hook): new function
38115 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 38116 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 38117 loading xnu
38118 * video/video.c (grub_video_setup): removed
473d1e45 38119 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 38120 grub_video_setup
38121
4b0e1143 381222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38123
38124 Avoid calling biosdisk in drivemap
38125
38126 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
38127 (revparse_biosdisk): likewise
38128 (list_mappings): derive name from id directly
38129 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 38130
fda6cb98 381312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38132
38133 Script fixes
38134
38135 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
38136 (grub_lexer_param): add tokenonhold
38137 (grub_script_create_cmdline): remove cmdline. All callers updated
38138 (grub_script_function_create): make functionname
38139 grub_script_arg. All callers updated
38140 (grub_script_execute_argument_to_string): new prototype
38141 * kern/parser.c (state_transitions): reorder
38142 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 38143 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 38144 make global
38145 (grub_script_execute_cmdline): use new format
38146 * script/sh/function.c (grub_script_function_create): make functionname
38147 grub_script_arg. All callers updated
473d1e45 38148 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 38149 (grub_script_yylex): remove
38150 (grub_script_yylex2): renamed to ...
38151 (grub_script_yylex): ...renamed
38152 parse the expressions like a${b}c
38153 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
38154 (GRUB_PARSER_TOKEN_VAR): remove
38155 (GRUB_PARSER_TOKEN_NAME): likewise
38156 ("if"): declare as typeless
38157 ("while"): likewise
38158 ("function"): likewise
38159 ("else"): likewise
38160 ("then"): likewise
38161 ("fi"): likewise
38162 (text): remove
38163 (argument): likewise
38164 (script): accept empty scripts and make exit on error
38165 (arguments): use GRUB_PARSER_TOKEN_ARG
38166 (function): likewise
38167 (command): move error handling to script
38168 (menuentry): move grub_script_lexer_ref before
473d1e45 38169 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 38170 argument. All callers updated
38171
f4448a07 381722009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38173
38174 Prevent GRUB from probing floppies during boot.
38175
38176 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
38177 * commands/search.c (options): Add --no-floppy.
38178 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
38179 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
38180 --no-floppy when searching for UUIDs.
38181
2bf5885a 381822009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38183
38184 Simplify the code duplication in commands/search.c.
38185
38186 * commands/search.c (search_label, search_fs_uuid): Merge into ...
38187 (search_fs): ... this. Update all users.
38188
f6fd460a 381892009-06-03 Felix Zielcke <fzielcke@z-51.de>
38190
38191 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
38192
cbb3c83e 381932009-05-28 Pavel Roskin <proski@gnu.org>
38194
57788cfd 38195 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
38196 Remove the original symlink explicitly.
38197
cbb3c83e 38198 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
38199 just one slash. That's how grub_fshelp_find_file() does it.
38200
cd0d5e30 382012009-05-26 Pavel Roskin <proski@gnu.org>
38202
f0f8bbe2 38203 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
38204 to `str'.
38205
cd0d5e30 38206 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
38207 possibly unused.
38208
8c2cab51 382092009-05-25 Christian Franke <franke@computer.org>
38210
38211 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
38212 register.
38213 (grub_atapi_identify): Add wait after drive select.
38214 (grub_ata_identify): Do more strict status register check before
38215 calling grub_atapi_identify (). Suppress error message if status
38216 register is 0x00 after command failure. Add status register
38217 check after PIO read to avoid bogus identify due to stuck DRQ.
38218 Thanks to Pavel Roskin for testing.
38219 (grub_device_initialize): Remove unsafe status register check.
38220 Thanks to 'phcoder' for problem report and patch.
38221 Prevent sign extension in debug message.
38222
230c0ad6 382232009-05-23 Colin D Bennett <colin@gibibit.com>
38224
38225 Cleaned up `include/grub/normal.h'. Grouped prototypes by
38226 definition file, and functions defined in `normal/menu.c' have had
38227 their prototypes moved to `include/grub/menu.h' for consistency.
38228
38229 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
38230 from normal.h.
38231 (grub_menu_get_entry): Likewise.
38232 (grub_menu_get_timeout): Likewise.
38233 (grub_menu_set_timeout): Likewise.
38234 (grub_menu_execute_entry): Likewise.
38235 (grub_menu_execute_with_fallback): Likewise.
38236 (grub_menu_entry_run): Likewise.
38237
38238 * include/grub/normal.h: Re-ordered and grouped function
38239 prototypes by file that the function is defined in.
38240 (grub_menu_execute_callback): Removed; moved to menu.h.
38241 (grub_menu_get_entry): Likewise.
38242 (grub_menu_get_timeout): Likewise.
38243 (grub_menu_set_timeout): Likewise.
38244 (grub_menu_execute_entry): Likewise.
38245 (grub_menu_execute_with_fallback): Likewise.
38246 (grub_menu_entry_run): Likewise.
38247 (grub_menu_addentry): Renamed from this ...
38248 (grub_normal_add_menu_entry): ... to this.
38249
38250 * normal/main.c (grub_menu_addentry): Renamed from this ...
38251 (grub_normal_add_menu_entry): ... to this.
38252
38253 * script/sh/execute.c (grub_script_execute_menuentry): Update
38254 reference to renamed grub_menu_addentry function.
38255
861f03a5 382562009-05-23 Felix Zielcke <fzielcke@z-51.de>
38257
38258 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
38259
96b1619a 382602009-05-22 Pavel Roskin <proski@gnu.org>
38261
bf6a5fb2 38262 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
38263 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
38264 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
38265 compiling for the i386 targets, but not for the utilities.
38266
96b1619a 38267 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
38268 to grub_uint8_t.
38269 (grub_root_drive): Likewise.
38270 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
38271 remove alignment.
38272 (grub_root_drive): Change size to byte.
38273 (grub_start_addr): Remove.
38274 (grub_end_addr): Likewise.
38275 (grub_apm_bios_info): Likewise.
38276
b729776b 382772009-05-21 Felix Zielcke <fzielcke@z-51.de>
38278
38279 * normal/i386: Remove.
38280 * normal/powerpc: Likewise.
38281 * normal/sparc64: Likewise.
38282 * normal/x86_64: Likewise.
38283
0a15ce80 382842009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
38285
38286 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 38287 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 38288 * loader/i386/xnu_helper.S: Likewise
d6da58e6 38289
33db9015 382902009-05-18 Colin D Bennett <colin@gibibit.com>
38291
d6da58e6 38292 Display error messages when parsing a Lua statement fails.
38293 Previously, executing a syntactically invalid statement like
38294 ")foo" or "bar;" would silently fail.
33db9015 38295
38296 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 38297 (grub_lua_parse_line): Improved reporting of Lua parser and
38298 execution errors.
33db9015 38299
46422c89 383002009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38301
38302 Remove -Werror which causes build to fail on some systems
38303
38304 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
38305 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
38306 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 38307
22f53a96 383082009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38309
38310 trampoline for linux on 64-bit platform
38311
18f547ad 38312 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
38313 loader/i386/efi/linux_trampoline.S
38314 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 38315 declaration
d6da58e6 38316 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
38317 here
22f53a96 38318 * loader/i386/linux_trampoline.S: moved here
d6da58e6 38319 * loader/i386/efi/linux.c (allocate_pages): reserve space for
38320 trampoline
22f53a96 38321 (jumpvector): removed
38322 (grub_linux_trampoline_start): new declaration
38323 (grub_linux_trampoline_end): likewise
38324 (grub_linux_boot): use trampoline when on 64-bit platform
38325 * loader/i386/linux.c: likewise
38326
cb5a0f40 383272009-05-16 Pavel Roskin <proski@gnu.org>
38328
38329 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
38330 const to avoid a warning.
38331 (grub_lua_setenv): Likewise.
38332 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
38333 lmsg to fix a warning.
38334
334f2c28 383352009-05-16 Felix Zielcke <fzielcke@z-51.de>
38336
38337 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 38338 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38339 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
38340 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38341 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38342 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38343 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38344 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 38345
59e5d3ec 383462009-05-16 Felix Zielcke <fzielcke@z-51.de>
38347
38348 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
38349
9d87a1ba 383502009-05-16 Bean <bean123ch@gmail.com>
38351
38352 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
38353 (lua_mod_SOURCES): New variable.
38354 (lua_mod_CFLAGS): Likewise.
38355 (lua_mod_LDFLAGS): Likewise.
38356
38357 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
38358 (setjmp_mod_SOURCES): New variable.
38359 (setjmp_mod_CFLAGS): Likewise.
38360 (setjmp_LDFLAGS): Likewise.
38361
38362 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
38363 (setjmp_mod_SOURCES): New variable.
38364 (setjmp_mod_CFLAGS): Likewise.
38365 (setjmp_LDFLAGS): Likewise.
38366
38367 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38368 (setjmp_mod_SOURCES): New variable.
38369 (setjmp_mod_CFLAGS): Likewise.
38370 (setjmp_LDFLAGS): Likewise.
38371
38372 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38373 (setjmp_mod_SOURCES): New variable.
38374 (setjmp_mod_CFLAGS): Likewise.
38375 (setjmp_LDFLAGS): Likewise.
38376
38377 * normal/i386/setjmp.S: Moved from here ...
38378 * lib/i386/setjmp.S: ... Moved here
38379 * normal/x86_64/setjmp.S: Moved from here ...
38380 * lib/x86_64/setjmp.S: ... Moved here
38381 * normal/powerpc/setjmp.S: Moved from here ...
38382 * lib/powerpc/setjmp.S: ... Moved here
38383 * normal/sparc64/setjmp.S: Moved from here ...
38384 * lib/sparc64/setjmp.S: ... Moved here
38385
38386 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
38387 returns_twice in mingw.
38388
38389 * script/lua/grub_lib.c: New file.
38390 * script/lua/grub_lib.h: Likewise.
38391 * script/lua/grub_lua.h: Likewise.
38392 * script/lua/grub_main.c: Likewise.
38393 * script/lua/lapi.c: Likewise.
38394 * script/lua/lapi.h: Likewise.
38395 * script/lua/lauxlib.c: Likewise.
38396 * script/lua/lauxlib.h: Likewise.
38397 * script/lua/lbaselib.c: Likewise.
38398 * script/lua/lcode.c: Likewise.
38399 * script/lua/lcode.h: Likewise.
38400 * script/lua/ldblib.c: Likewise.
38401 * script/lua/ldebug.c: Likewise.
38402 * script/lua/ldebug.h: Likewise.
38403 * script/lua/ldo.c: Likewise.
38404 * script/lua/ldo.h: Likewise.
38405 * script/lua/ldump.c: Likewise.
38406 * script/lua/lfunc.c: Likewise.
38407 * script/lua/lfunc.h: Likewise.
38408 * script/lua/lgc.c: Likewise.
38409 * script/lua/lgc.h: Likewise.
38410 * script/lua/linit.c: Likewise.
38411 * script/lua/liolib.c: Likewise.
38412 * script/lua/llex.c: Likewise.
38413 * script/lua/llex.h: Likewise.
38414 * script/lua/llimits.h: Likewise.
38415 * script/lua/lmathlib.c: Likewise.
38416 * script/lua/lmem.c: Likewise.
38417 * script/lua/lmem.h: Likewise.
38418 * script/lua/loadlib.c: Likewise.
38419 * script/lua/lobject.c: Likewise.
38420 * script/lua/lobject.h: Likewise.
38421 * script/lua/lopcodes.c: Likewise.
38422 * script/lua/lopcodes.h: Likewise.
38423 * script/lua/loslib.c: Likewise.
38424 * script/lua/lparser.c: Likewise.
38425 * script/lua/lparser.h: Likewise.
38426 * script/lua/lstate.c: Likewise.
38427 * script/lua/lstate.h: Likewise.
38428 * script/lua/lstring.c: Likewise.
38429 * script/lua/lstring.h: Likewise.
38430 * script/lua/lstrlib.c: Likewise.
38431 * script/lua/ltable.c: Likewise.
38432 * script/lua/ltable.h: Likewise.
38433 * script/lua/ltablib.c: Likewise.
38434 * script/lua/ltm.c: Likewise.
38435 * script/lua/ltm.h: Likewise.
38436 * script/lua/lua.h: Likewise.
38437 * script/lua/luaconf.h: Likewise.
38438 * script/lua/lualib.h: Likewise.
38439 * script/lua/lundump.c: Likewise.
38440 * script/lua/lundump.h: Likewise.
38441 * script/lua/lvm.c: Likewise.
38442 * script/lua/lvm.h: Likewise.
38443 * script/lua/lzio.c: Likewise.
38444 * script/lua/lzio.h: Likewise.
38445
5e898c9d 384462009-05-16 Bean <bean123ch@gmail.com>
38447
38448 * include/grub/kernel.h (grub_module_header_types): Add type
38449 OBJ_TYPE_CONFIG.
38450
38451 * kern/main.c (grub_load_config): New function.
38452 (grub_main): Call grub_load_config to read boot config.
38453
38454 * grub-mkimage (generate_image): New parameter config_path.
38455 (options): New option --config.
38456 (main): Parse --config option, and pass it to generate_image.
38457
cf353a47 384582009-05-14 Christian Franke <franke@computer.org>
38459
38460 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
38461 This fixes build on Cygwin.
38462
3834887f 384632009-05-14 Pavel Roskin <proski@gnu.org>
38464
38465 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
38466 jump. This saves two bytes, so the typical case of 2 swapped
38467 drives would fit 32 bytes.
38468
8090fc01 384692009-05-13 Pavel Roskin <proski@gnu.org>
38470
ac963883 38471 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
38472 grub_uint32_t to avoid a warning.
38473
8090fc01 38474 * loader/i386/linux.c (allocate_pages): When assigning
38475 real_mode_mem, cast through grub_size_t to fix a warning. The
38476 code already makes sure that the value would fit a pointer.
38477 (grub_linux_setup_video): Cast render_target->data to
38478 grub_size_t to fix a warning.
38479
18f547ad 384802009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 38481
38482 * commands/i386/pc/drivemap.c: New file - implement drivemap
38483 command.
38484 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
38485 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
38486
6f6a8b28 384872009-05-13 Pavel Roskin <proski@gnu.org>
38488
38489 * util/i386/pc/grub-setup.c (setup): Remove unused variable
38490 embedding_area_exists.
38491
15fbf4c4 384922009-05-13 Robert Millan <rmh.grub@aybabtu.com>
38493
38494 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
38495 it easier to understand / work with.
59978c8a 38496 Improve warning messages for cases where there's no embedding area,
38497 or when it is too small (or core.img too large).
15fbf4c4 38498
238e871f 384992009-05-13 Pavel Roskin <proski@gnu.org>
38500
0ab3a9a4 38501 * loader/i386/pc/multiboot2.c: Add necessary includes for
38502 grub_multiboot2_real_boot().
38503
a2c8c5f8 38504 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
38505 PX record is always little-endian. We only need the lower 2
38506 bytes of the mode.
38507
faec96af 38508 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
38509 facilitate code reuse.
38510 (grub_cpio_mount): Use "struct head", not a char buffer. This
38511 fixes a warning reported by gcc 4.4.
38512
238e871f 38513 * kernel/disk.c (grub_disk_read): Use void pointer for the
38514 buffer.
38515 (grub_disk_write): Use const void pointer for the buffer.
38516 Adjust all callers. Remove unnecessary casts.
38517
901d2f0c 385182009-05-10 Robert Millan <rmh.grub@aybabtu.com>
38519
38520 * util/i386/pc/grub-install.in: Update copyright year.
38521
18f547ad 385222009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 38523
38524 gptsync
38525
38526 * commands/gptsync.c: new file
38527 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
38528 (gptsync_mod_SOURCES): new variable
38529 (gptsync_mod_CFLAGS): likewise
38530 (gptsync_mod_LDFLAGS): likewise
18f547ad 38531 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 38532 new definition
38533 (GRUB_PC_PARTITION_TYPE_HFS): likewise
38534 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
38535 * conf/i386-ieee1275.rmk: likewise
38536 * conf/i386-pc.rmk: likewise
38537 * conf/powerpc-ieee1275.rmk: likewise
38538
b4ba690a 385392009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38540
38541 Fixed grub-emu
38542
38543 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
38544 (grub_dl_ref): likewise
38545
317e1a44 385462009-05-08 Robert Millan <rmh.grub@aybabtu.com>
38547
38548 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
38549 split in two functions (one for msdos and one for gpt).
38550
041b8094 385512009-05-08 Pavel Roskin <proski@gnu.org>
38552
752473c2 38553 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
38554 not modified.
38555
041b8094 38556 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
38557 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
38558 Initialize them with -1. Add sanity check for bad1. Eliminate
38559 nerr variable.
38560
172800ce 385612009-05-08 David S. Miller <davem@davemloft.net>
38562
38563 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
38564
29aa5e81 385652009-05-06 Robert Millan <rmh.grub@aybabtu.com>
38566
38567 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 38568 existence.
29aa5e81 38569
96613b62 385702009-05-05 Felix Zielcke <fzielcke@z-51.de>
38571
38572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 38573 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 38574
eef73c8a 385752009-05-05 David S. Miller <davem@davemloft.net>
38576
38577 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
38578
119494b5 385792009-05-05 Pavel Roskin <proski@gnu.org>
38580
38581 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
38582 of grub_dl_ref() and grub_dl_unref().
38583 * commands/parttool.c: Remove preprocessor conditionals around
38584 grub_dl_ref() and grub_dl_unref().
38585 * fs/affs.c: Likewise.
38586 * fs/afs.c: Likewise.
38587 * fs/cpio.c: Likewise.
38588 * fs/ext2.c: Likewise.
38589 * fs/fat.c: Likewise.
38590 * fs/hfs.c: Likewise.
38591 * fs/hfsplus.c: Likewise.
38592 * fs/iso9660.c: Likewise.
38593 * fs/jfs.c: Likewise.
38594 * fs/minix.c: Likewise.
38595 * fs/ntfs.c: Likewise.
38596 * fs/reiserfs.c: Likewise.
38597 * fs/sfs.c: Likewise.
38598 * fs/udf.c: Likewise.
38599 * fs/ufs.c: Likewise.
38600 * fs/xfs.c: Likewise.
38601 * include/grub/dl.h: Likewise.
38602 * loader/xnu.c: Likewise.
38603
de5fd76e 386042009-05-04 Pavel Roskin <proski@gnu.org>
38605
38606 * commands/acpi.c: Remove unused variable my_mod.
38607 * partmap/amiga.c: Likewise.
38608 * partmap/apple.c: Likewise.
38609 * partmap/gpt.c: Likewise.
38610 * partmap/pc.c: Likewise.
38611 * partmap/sun.c: Likewise.
38612 * term/gfxterm.c: Likewise.
38613 * term/i386/pc/vesafb.c: Likewise.
38614 * term/i386/pc/vga.c: Likewise.
38615
983598ad 386162009-05-04 David S. Miller <davem@davemloft.net>
38617
38618 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
38619 pointer args to grub_ieee1275_get_property().
38620
8aadec43 38621 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
38622
9554b15e 38623 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
38624 devices, and do not traverse down under controller nodes.
38625
67e23c90 38626 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
38627 (grub_ofdisk_open): Use it to un-escape "," characters.
38628 * kern/disk.c (find_part_sep): New.
38629 (grub_disk_open): Use it to find the first non-escaped ','
38630 character in the disk name.
38631 * util/ieee1275/devicemap.c (escape_of_path): New.
38632 (grub_util_emit_devicemap_entry): Use it.
38633 * util/sparc64/ieee1275/grub-install.in: Update script to
38634 strip partition specifiers properly by not triggering on
38635 '\' escaped ',' characters.
38636
74bfdd2f 386372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38638
38639 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
38640 to 0x300.
38641 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
38642 resolutions.
38643 (linux_vesafb_modes): Add a lot of additional modes to the list (based
38644 on documentation from Wikipedia).
38645
4241d2b1 386462009-05-04 Pavel Roskin <proski@gnu.org>
38647
38648 * disk/ata.c: Spelling fixes.
38649 * disk/raid.c: Likewise.
38650 * disk/usbms.c: Likewise.
38651 * disk/dmraid_nvidia.c: Likewise.
38652 * kern/ieee1275/openfw.c: Likewise.
38653 * kern/ieee1275/init.c: Likewise.
38654 * kern/ieee1275/cmain.c: Likewise.
38655 * boot/i386/pc/cdboot.S: Likewise.
38656 * video/readers/png.c: Likewise.
38657 * video/i386/pc/vbe.c: Likewise.
38658 * fs/udf.c: Likewise.
38659 * fs/hfs.c: Likewise.
38660 * fs/reiserfs.c: Likewise.
38661 * efiemu/runtime/efiemu.c: Likewise.
38662 * efiemu/main.c: Likewise.
38663 * efiemu/mm.c: Likewise.
38664 * include/grub/elf.h: Likewise.
38665 * include/grub/xnu.h: Likewise.
38666 * include/grub/usbdesc.h: Likewise.
38667 * include/grub/usb.h: Likewise.
38668 * include/grub/script_sh.h: Likewise.
38669 * include/grub/lib/LzmaEnc.h: Likewise.
38670 * include/grub/efiemu/efiemu.h: Likewise.
38671 * include/grub/command.h: Likewise.
38672 * normal/menu.c: Likewise.
38673 * normal/main.c: Likewise.
38674 * normal/datetime.c: Likewise.
38675 * bus/usb/uhci.c: Likewise.
38676 * mmap/i386/uppermem.c: Likewise.
38677 * mmap/mmap.c: Likewise.
38678 * commands/acpi.c: Likewise.
38679 * commands/test.c: Likewise.
38680 * partmap/apple.c: Likewise.
38681 * font/font.c: Likewise.
38682 * loader/sparc64/ieee1275/linux.c: Likewise.
38683 * loader/macho.c: Likewise.
38684 * loader/i386/bsd_trampoline.S: Likewise.
38685 * loader/i386/bsd.c: Likewise.
38686 * loader/xnu.c: Likewise.
38687 * term/i386/pc/vesafb.c: Likewise.
38688 * term/usb_keyboard.c: Likewise.
38689 * util/resolve.c: Likewise.
38690 * util/getroot.c: Likewise.
38691
0cfc0083 386922009-05-04 Felix Zielcke <fzielcke@z-51.de>
38693
38694 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
38695
7c1d00cd 386962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38697
38698 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
38699 build error.
38700
b01f0548 387012009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38702
38703 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
38704 parameter only available on BIOS.
38705
ecc3eb22 387062009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38707
38708 Removed wrong semicolon in declaration
38709
38710 * grub/misc.h (grub_dprintf): remove semicolon
38711
112972a9 387122009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38713
38714 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
38715 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
38716 is done by grub_cmd_linux() now).
38717 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
38718 restore video to text mode.
38719 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
38720 indicates lack of "vga=" parameter. "vga=0" is mapped to
38721 `GRUB_LINUX_VID_MODE_NORMAL'.
38722
afd5c115 387232009-05-04 Felix Zielcke <fzielcke@z-51.de>
38724
38725 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
38726 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
38727 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 38728 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 38729 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
38730 `grub_script.tab.c'.
38731
38732 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38733 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38735 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38736 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38737
faa517ce 38738 * Makefile.in: Remove duplicated 2008 in Copyright line.
38739
ae0c0bdc 387402009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38741
473d1e45 38742 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 38743 unconditionally.
38744 * include/grub/util/misc.h (grub_util_warn): New declaration.
38745
38746 * util/i386/pc/grub-install.in: Understand --force and pass it down
38747 to grub-setup.
38748
38749 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
38750 down to setup().
38751 (setup): Improve error messages and add warnings when requested to
38752 install in odd layouts. Refuse to install using blocklists unless
38753 --force was set.
38754
18f547ad 387552009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 38756
38757 * disk/raid.c (grub_raid_scan_device): Improve debug message.
38758
6d260daa 387592009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38760
38761 Updated copyright year
38762
38763 * fs/hfsplus.c: updated copyright year
18f547ad 38764
69f853f8 387652009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38766
38767 HFS+ UUID
38768
18f547ad 38769 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 38770 in the space previously used by unused3
38771 (grub_hfsplus_uuid): new function
38772 (grub_hfsplus_fs): added uuid field
38773
4c402e73 387742009-05-03 Pavel Roskin <proski@gnu.org>
38775
38776 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
38777 suppress warnings. It's no longer needed.
38778 * disk/host.c: Likewise.
38779 * disk/ata_pthru.c: Likewise.
38780 * disk/loopback.c: Likewise.
38781 * hook/datehook.c: Likewise.
38782 * parttool/pcpart.c: Likewise.
38783 * fs/i386/pc/pxe.c: Likewise.
38784 * fs/ntfscomp.c: Likewise.
38785 * efiemu/main.c: Likewise.
38786 * mmap/mmap.c: Likewise.
38787 * commands/crc.c: Likewise.
38788 * commands/hexdump.c: Likewise.
38789 * commands/hdparm.c: Likewise.
38790 * commands/acpi.c: Likewise.
38791 * commands/echo.c: Likewise.
38792 * commands/minicmd.c: Likewise.
38793 * commands/blocklist.c: Likewise.
38794 * commands/memrw.c: Likewise.
38795 * commands/loadenv.c: Likewise.
38796 * commands/usbtest.c: Likewise.
38797 * commands/lsmmap.c: Likewise.
38798 * commands/boot.c: Likewise.
38799 * commands/parttool.c: Likewise.
38800 * commands/configfile.c: Likewise.
38801 * commands/search.c: Likewise.
38802 * commands/ieee1275/suspend.c: Likewise.
38803 * commands/cat.c: Likewise.
38804 * commands/i386/pc/pxecmd.c: Likewise.
38805 * commands/i386/pc/play.c: Likewise.
38806 * commands/i386/pc/halt.c: Likewise.
38807 * commands/i386/pc/vbeinfo.c: Likewise.
38808 * commands/i386/pc/vbetest.c: Likewise.
38809 * commands/lspci.c: Likewise.
38810 * commands/date.c: Likewise.
38811 * commands/handler.c: Likewise.
38812 * commands/ls.c: Likewise.
38813 * commands/test.c: Likewise.
38814 * commands/cmp.c: Likewise.
38815 * commands/efi/loadbios.c: Likewise.
38816 * commands/efi/fixvideo.c: Likewise.
38817 * commands/halt.c: Likewise.
38818 * commands/help.c: Likewise.
38819 * commands/reboot.c: Likewise.
38820 * hello/hello.c: Likewise.
38821 * script/sh/main.c: Likewise.
38822 * loader/xnu.c: Likewise.
38823 * term/terminfo.c: Likewise.
38824 * term/i386/pc/serial.c: Likewise.
38825 * term/usb_keyboard.c: Likewise.
38826
515b5079 388272009-05-03 David S. Miller <davem@davemloft.net>
38828
38829 * normal/menu.c: Include grub/parser.h
38830
dfc31a22 388312009-05-03 Pavel Roskin <proski@gnu.org>
38832
2fee74f1 38833 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
38834 not char*.
38835 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
38836 Suggested by Javier Martín <lordhabbit@gmail.com>
38837
dfc31a22 38838 * util/i386/pc/grub-mkrescue.in: Allow for the case when
38839 efiemu??.o doesn't exist.
38840 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
38841 copying.
38842
18f547ad 388432009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 38844
38845 FreeBSD 64-bit support
38846
18f547ad 38847 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 38848 and loader/i386/bsd_trampoline.S
38849 (bsd_mod_ASFLAGS): new variable
38850 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
38851 (FREEBSD_MODTYPE_KERNEL64): likewise
38852 (grub_bsd64_trampoline_start): likewise
38853 (grub_bsd64_trampoline_end): likewise
38854 (grub_bsd64_trampoline_selfjump): likewise
38855 (grub_bsd64_trampoline_gdt): likewise
38856 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
38857 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
38858 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
38859 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 38860 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 38861 of "attrib" member
38862 * loader/i386/bsd_pagetable.c: new file
38863 * loader/i386/bsd_trampoline.S: likewise
38864 * loader/i386/bsd.c (ALIGN_QWORD): new macro
38865 (ALIGN_VAR): likewise
38866 (entry_hi): new variable
38867 (kern_end_mdofs): likewise
38868 (is_64bit): likewise
38869 (grub_freebsd_add_meta): use ALIGN_VAR
38870 (grub_e820_mmap): new declaration
38871 (grub_freebsd_add_mmap): new function
38872 (grub_freebsd_add_meta_module): support 64 bit kernels
38873 (grub_freebsd_list_modules): use ALIGN_VAR
38874 (gdt_descriptor): new declaration
38875 (grub_freebsd_boot): support 64 bit kernels
38876 (grub_bsd_elf64_hook): new function
38877 (grub_bsd_load_elf): support elf64
38878
038c5720 388792009-05-03 Bean <bean123ch@gmail.com>
38880
38881 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
38882 after we get the result of if statement.
38883
fc45fb58 388842009-05-03 Bean <bean123ch@gmail.com>
38885
38886 * Makefile.in (enable_efiemu): New variable.
38887
38888 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
38889 set.
38890 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
38891 path.
38892 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
38893 path, add -mno-red-zone option.
38894 (efiemu64_s.o): Likewise.
38895 (efiemu64.o): Use macro $^ for source file.
38896
38897 * configure.ac (--enable-efiemu): New option.
38898
bbee0f2b 388992009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
38900
38901 xnu support
38902
38903 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
38904 (pkglib_MODULES): add xnu.mod
38905 (xnu_mod_SOURCES): new variable
38906 (xnu_mod_CFLAGS): likewise
38907 (xnu_mod_LDFLAGS): likewise
38908 (xnu_mod_ASFLAGS): likewise
38909 * conf/i386-pc.rmk: likewise
38910 * conf/x86_64-efi.rmk: likewise
7dd4a573 38911 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 38912 new declaration
38913 * include/grub/i386/macho.h: new file
38914 * include/grub/i386/xnu.h: likewise
38915 * include/grub/macho.h: likewise
38916 * include/grub/machoload.h: likewise
38917 * include/grub/x86_64/macho.h: likewise
38918 * include/grub/x86_64/xnu.h: likewise
38919 * include/grub/xnu.h: likewise
38920 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
38921 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
38922 * loader/i386/efi/xnu.c: new file
38923 * loader/i386/pc/xnu.c: likewise
38924 * loader/i386/xnu.c: likewise
38925 * loader/i386/xnu_helper.S: likewise
38926 * loader/macho.c: likewise
38927 * loader/xnu.c: likewise
38928 * loader/xnu_resume.c: likewise
38929 * util/grub-dumpdevtree: likewise
38930 * include/grub/i386/pit.h: include grub/err.h
38931 (grub_pit_wait): export
38932 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 38933
5caf964d 389342009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38935
38936 Efiemu
7dd4a573 38937
5caf964d 38938 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 38939 _linux_efi, linux_efi.
38940 new files in grub-emu
5caf964d 38941 new targets efiemu32.o and efiemu64.o
38942 * loader/linux_normal_efiemu.c: likewise
38943 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 38944 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 38945 files to copy
38946 * include/grub/autoefi.h: new file
7dd4a573 38947 * include/grub/i386/efiemu.h: likewise
5caf964d 38948 * include/grub/i386/pc/efiemu.h: likewise
38949 * include/grub/efi/api.h: add LL suffix when necessary
38950 new definitions relating to tables
38951 * include/grub/efiemu/efiemu.h: new file
38952 * include/grub/efiemu/runtime.h: likewise
38953 * efiemu/prepare.c: likewise
38954 * efiemu/loadcore_common.c: likewise
38955 * efiemu/loadcore64.c: likewise
38956 * efiemu/runtime/efiemu.sh: likewise
38957 * efiemu/runtime/efiemu.S: likewise
38958 * efiemu/runtime/efiemu.c: likewise
38959 * efiemu/runtime/config.h: likewise
38960 * efiemu/prepare32.c: likewise
38961 * efiemu/main.c: likewise
38962 * efiemu/modules/pnvram.c: likewise
38963 * efiemu/modules/i386: likewise
38964 * efiemu/modules/i386/pc: likewise
38965 * efiemu/modules/acpi.c: likewise
38966 * efiemu/i386/pc/cfgtables.c: likewise
38967 * efiemu/i386/loadcore64.c: likewise
38968 * efiemu/i386/loadcore32.c: likewise
38969 * efiemu/prepare64.c: likewise
38970 * efiemu/loadcore.c: likewise
38971 * efiemu/symbols.c: likewise
38972 * efiemu/mm.c: likewise
38973 * efiemu/loadcore32.c: likewise
7dd4a573 38974
389752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 38976
38977 ACPI spoofing
38978
38979 * commands/acpi.c: new file
38980 * commands/i386/pc/acpi.c: likewise
38981 * commands/efi/acpi.c: likewise
38982 * include/grub/acpi.h: likewise
38983 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
38984 (acpi_mod_SOURCES): new variable
38985 (acpi_mod_CFLAGS): likewise
38986 (acpi_mod_LDFLAGS): likewise
38987 * conf/i386-efi.rmk: likewise
38988 * conf/x86_64-efi.rmk: likewise
38989
7dd4a573 389902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 38991
38992 Missing part from mmap patch
38993
38994 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
38995 (grub_mmap_unregister)
38996 (grub_mmap_free_and_unregister): use grub_mmap_register
38997
7dd4a573 389982009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 38999
39000 Mmap services
39001
39002 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
39003 * loader/i386/linux.c (find_mmap_size): likewise
39004 (allocate_pages): likewise
39005 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
39006 (grub_fill_multiboot_mmap): likewise
39007 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
39008 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
39009 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
39010 (OPENBSD_MMAP_RESERVED): likewise
39011 * include/grub/i386/pc/memory.h: include grub/memory.h
39012 (grub_lower_mem): removed
39013 (grub_upper_mem): likewise
39014 (GRUB_MACHINE_MEMORY_ACPI): new definition
39015 (GRUB_MACHINE_MEMORY_NVS): likewise
39016 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
39017 (GRUB_MACHINE_MEMORY_HOLE): likewise
39018 (grub_machine_mmap_register): likewise
39019 (grub_machine_mmap_unregister): likewise
39020 (grub_machine_get_upper): likewise
39021 (grub_machine_get_lower): likewise
39022 (grub_machine_get_post64): likewise
39023 * include/grub/i386/efi/memory.h: new file
39024 * include/grub/x86_64/efi/memory.h: likewise
39025 * include/grub/efi/memory.h: likewise
39026 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
39027 (mmap_mod_SOURCES): new variable
39028 (mmap_mod_LDFLAGS): likewise
39029 (mmap_mod_ASFLAGS): likewise
39030 * conf/i386-coreboot.rmk: likewise
39031 * conf/i386-ieee1275.rmk: likewise
39032 * conf/i386-efi.rmk: likewise
39033 * conf/x86_64-efi.rmk: likewise
39034 * include/grub/types.h (UINT_TO_PTR): new macro
39035 (PTR_TO_UINT32): likewise
39036 (PTR_TO_UINT64): likewise
39037 * include/grub/memory.h: new file
39038 * mmap/i386/pc/mmap.c: likewise
39039 * mmap/i386/pc/mmap_helper.S: likewise
39040 * mmap/i386/uppermem.c: likewise
39041 * mmap/mmap.c: likewise
39042 * mmap/efi/mmap.c: likewise
7dd4a573 39043 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 39044 grub_upper_mem
39045 * kern/i386/pc/init.c (grub_lower_mem): removed variable
39046 (grub_upper_mem): likewise
39047 (grub_machine_init): don't use grub_upper_mem,
39048 make grub_lower_mem local
39049 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
39050 grub_mmap_iterate and grub_mmap_get_upper
39051 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
39052
d558e6b5 390532009-05-02 Bean <bean123ch@gmail.com>
39054
39055 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
39056 script/sh/parser.y.
39057 (pkglib_MODULES): Add normal.mod and sh.mod.
39058 (normal_SOURCES): New variable.
39059 (normal_mod_CFLAGS): Likewise.
39060 (normal_mod_LDFLAGS): Likewise.
39061 (sh_mod_SOURCES): Likewise.
39062 (sh_mod_CFLAGS): Likewise.
39063 (sh_mod_LDFLAGS): Likewise.
39064
39065 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
39066 script/sh/lexer.c_DEPENDENCIES.
39067 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
39068 kern/rescue_reader.c and kern/rescue_parser.c.
39069 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
39070 (grub_emu_SOURCES): Change source files.
39071 (pkglib_MODULES): Remove normal.mod.
39072 (normal_SOURCES): Removed.
39073 (normal_mod_CFLAGS): Likewise.
39074 (normal_mod_LDFLAGS): Likewise.
39075 * conf/i386-coreboot.rmk: Likewise.
39076 * conf/i386-efi.rmk: Likewise.
39077 * conf/i386-ieee1276.rmk: Likewise.
39078 * conf/powerpc-ieee1275.rmk: Likewise.
39079 * conf/sparc64-ieee1275.rmk: Likewise.
39080 * conf/x86_64-efi.rmk: Likewise.
39081
39082 * include/grub/command.h (grub_command_execute): New inline function.
39083
39084 * include/grub/menu.h (grub_menu_entry): Removed commands field.
39085
39086 * include/grub/normal.h: Remove <grub/setjmp.h>.
39087 (grub_fs_module_list): Moved to normal/autofs.c.
39088 (grub_exit_env): Removed.
39089 (grub_command_execute): Likewise.
39090 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
39091 parameter script.
39092 (read_command_list): New function declaration.
39093 (read_fs_list): Likewise.
39094
39095 * include/parser.h: Include <grub/reader.h>.
39096 (grub_parser_split_cmdline): Change type of getline parameter.
39097 (grub_parser): New structure.
39098 (grub_parser_class): New variable.
39099 (grub_parser_execute): New function declaration.
39100 (grub_register_rescue_parser): Likewise.
39101 (grub_parser_register): New inline function.
39102 (grub_parser_unregister): Likewise.
39103 (grub_parser_get_current): Likewise.
39104 (grub_parser_set_current): Likewise.
39105
39106 * include/grub/reader.h: New file.
39107 * kern/reader.c: Likewise.
39108 * kern/rescue_parser.c: Likewise.
39109 * kern/rescue_reader.c: Likewise.
39110 * normal/autofs.c: Likewise.
39111 * normal/dyncmd.c: Likewise.
39112
39113 * include/grub/rescue.h: Removed.
39114 * normal/command.h: Likewise.
39115
39116 * include/grub/script.h: Moved to ...
39117 * include/grub/script_sh.h: ... Moved here.
39118 * normal/execute.c: Moved to ...
39119 * script/sh/execute.c: ... Moved here.
39120 * normal/function.c: Moved to ...
39121 * script/sh/function.c: ... Moved here.
39122 * normal/lexer.c: Moved to ...
39123 * script/sh/lexer.c: ... Moved here.
39124 * normal/parser.y: Moved to ...
39125 * script/sh/parser.y: ... Moved here.
39126 * normal/script.c: Moved to ...
39127 * script/sh/script.c: ... Moved here.
39128
39129 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
39130 <grub/reader.h>.
39131 (grub_exit_env): Removed.
39132 (fs_module_list): Moved to normal/autofs.c.
39133 (grub_file_getline): Don't handle comment here.
39134 (free_menu): Skip removed field entry->commands.
39135 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
39136 script parameter.
39137 (read_config_file): Removed nested parameter, change getline function.
39138 (grub_enter_normal_mode): Removed.
39139 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
39140 (read_command_list): Likewise.
39141 (autoload_fs_module): Moved to normal/autofs.c.
39142 (read_fs_list): Likewise.
39143 (reader_nested): New variable.
39144 (grub_normal_execute): Run parser.sh to switch to sh parser.
39145 (grub_cmd_rescue): Removed.
39146 (cmd_normal): Removed.
39147 (grub_cmd_normal): Unregister itself at the beginning. Don't register
39148 rescue command.
39149 (grub_cmdline_run): New function.
39150 (grub_normal_reader_init): Likewise.
39151 (grub_normal_read_line): Likewise.
39152 (grub_env_write_pager): Likewise.
39153 (cmdline): New variable.
39154 (grub_normal_reader): Likewise.
39155 (GRUB_MOD_INIT): Register normal reader and set as current, register
39156 pager hook, register normal command with grub_register_command_prio,
39157 so that it won't show up in command.lst.
39158 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
39159 grub_fs_autoload_hook.
39160
39161 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
39162 (grub_menu_execute_entry): Replace grub_script_execute with
39163 grub_parser_execute, change parameter to grub_command_execute.
39164
39165 * normal/menu_text.c: Remove <grub/script.h>.
39166
39167 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
39168 and <grub/parser.h>.
39169 (run): Change editor_getline to use new parser interface. Change
39170 parameter to grub_command_execute.
39171
39172 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
39173 <grub/reader.h> and <grub/parser.h>.
39174 (grub_load_normal_mode): Execute normal command.
39175 (grub_main): Call grub_register_core_commands,
39176 grub_register_rescue_parser and grub_register_rescue_reader, use
39177 grub_reader_loop to enter input loop.
39178
7dd4a573 39179 * kern/parser.c (grub_parser_split_cmdline): Change type of
39180 getline parameter.
d558e6b5 39181 (grub_parser_class): New variable.
39182 (grub_parser_execute): New function.
39183
39184 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
39185 * loader/multiboot2.c: Likewise.
39186 * loader/sparc64/ieee1275/linux.c: Likewise.
39187
39188 * util/grub-emu.c (read_command_list): New dummy function.
39189
18db813d 391902009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39191
39192 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
39193 count to 16 for CCISS and IDA.
39194
6c67de15 391952009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39196
39197 * normal/menu_text.c (grub_wait_after_message): Print a newline
39198 after waiting for user input.
39199
39200 * loader/i386/linux.c: Include `<grub/normal.h>'.
39201 (grub_cmd_linux): Improve the error message about `ask' mode, by
39202 waiting for user input so it's not missed (we can do this, since
39203 user requested interaction).
39204
d9dc87b0 392052009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39206
39207 Added missing lst to grub-mkrescue
39208
39209 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
39210 and ${input_dir}/parttool.lst
39211
ac8a2baa 392122009-04-30 David S. Miller <davem@davemloft.net>
39213
ad22a610 39214 * util/hostdisk.c (device_is_wholedisk): New function.
39215 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
39216 zero only if device_is_wholedisk() returns true.
39217
6966215d 39218 * util/hostdisk.c (convert_system_partition_to_system_disk):
39219 Handle virtual disk devices named /dev/vdiskX as found on sparc
39220 and powerpc.
39221
ac8a2baa 39222 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
39223 lettered partition specifier is found, convert to numbered.
39224
979b4fb4 392252009-04-29 David S. Miller <davem@davemloft.net>
39226
e2bf39b2 39227 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
39228 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39229
3c64e104 39230 * normal/command.c: Add missing newline at end of file.
39231
979b4fb4 39232 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
39233 warnings.
39234 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
39235 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
39236 grub_ofdisk_read): Likewise, and deal similarly with the fact that
39237 ihandles have a 32-bit type but need to be stored in a "void *".
39238
136d9f82 392392009-04-28 Pavel Roskin <proski@gnu.org>
39240
9459c306 39241 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
39242 not disk. Adjust all dependencies.
2e08a26a 39243 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 39244 grub_disk_close().
39245
136d9f82 39246 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
39247 parent's partition, don't copy it by reference, as it gets freed
39248 on close.
39249
7dd4a573 392502009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 39251
39252 Preboot hooks support
39253
39254 * commands/boot.c (struct grub_preboot_t): new declaration
39255 (preboots_head): new variable
39256 (preboots_tail): likewise
39257 (grub_loader_register_preboot_hook): new function
39258 (grub_loader_unregister_preboot_hook): likewise
39259 (grub_loader_set): launch preboot hooks
39260 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
39261 (grub_loader_register_preboot_hook): new declaration
39262 (grub_loader_unregister_preboot_hook): likewise
39263
5af922b5 392642009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39265
39266 Warning fix
39267
7dd4a573 39268 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 39269 calling grub_dprintf
39270
a5562c30 392712009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
39272
39273 Bug and warning fixes
39274
7dd4a573 39275 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 39276 declaration
39277 * commands/test.c (test_parse): fixed bug with file tests and corrected
39278 declaration of find_file
39279
4006f85c 392802009-04-26 Pavel Roskin <proski@gnu.org>
39281
39282 * Makefile.in: Don't install empty manual pages if help2man is
39283 missing. Use help2man option for output, not shell redirection.
39284
5c77c3de 392852009-04-26 David S. Miller <davem@davemloft.net>
39286
39287 * util/grub-mkdevicemap.c (make_device_map): Add missing
39288 NESTED_FUNC_ATTR to process_device().
39289
033b10a8 392902009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39291
39292 Test command
39293
39294 * commands/test.c: rewritten to use bash-like test
39295
e4343593 392962009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39297
39298 Parttool autoloading and improvements
39299
7dd4a573 39300 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 39301 (parttool.lst): new target
39302 * genmk.rb: generate parttool-*
39303 (CLEANFILES): add #{parttool}
39304 (PARTTOOLFILES): new variable
39305 * genparttoollist.sh: new file
7dd4a573 39306 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 39307 (grub_pcpart_type): likewise
39308 * commands/parttool.c (helpmsg): new variable
39309 (grub_cmd_parttool): output help if not enough arguments are supplied
39310 autoload modules
39311 (GRUB_MOD_INIT(parttool)): use helpmsg
39312
0d312500 393132009-04-24 David S. Miller <davem@davemloft.net>
39314
7dd4a573 39315 Avoiding opening same device multiple times in device iterator.
0d312500 39316
39317 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 39318 and use it to build a list of partitions in iterate_disk() and
0d312500 39319 iterate_partition().
39320
ac20caff 39321 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
39322 on disk->data.
39323
0dcf7495 39324 * disk/ieee1275/nand.c (grub_nand_iterate): Return
39325 grub_devalias_iterate() result instead of unconditional 0.
39326 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
39327 Also, capture hook return value, either directly or via
39328 grub_children_iterate(), and propagate to caller.
39329 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
39330 grub_children_iterate): Return value is now 'int' instead of
39331 'grub_err_t'.
39332 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
39333 like a proper iterator, stopping when hooks return non-zero.
39334 (grub_devalias_iterate): Likewise.
39335
c8c08833 393362009-04-23 David S. Miller <davem@davemloft.net>
39337
39338 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
39339
f01005a8 393402009-04-22 David S. Miller <davem@davemloft.net>
39341
39342 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
39343 is larger than address_cells, use that value for address_cells too.
39344
4e8269da 39345 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
39346 IEEE1275_MAX_PATH_LEN): Define.
39347 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
39348 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
39349 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
39350 'devtype'. Explicitly NULL terminate devalias expansion.
39351
a1447506 39352 * util/sparc64/ieee1275/misc.c: New file.
39353 * util/sparc64/ieee1275/grub-setup.c: New file.
39354 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
39355 * util/sparc64/ieee1275/grub-mkimage.c: New file.
39356 * util/sparc64/ieee1275/grub-install.in: New file.
39357 * util/ieee1275/ofpath.c: New file.
39358 * util/ieee1275/devicemap.c: New file.
39359 * util/devicemap.c: New file.
39360 * util/deviceiter.c: New file.
39361 * kern/sparc64/ieee1275/init.c: New file.
39362 * include/grub/util/ofpath.h: New file.
39363 * include/grub/util/deviceiter.h: New file.
39364 * util/grub-mkdevicemap.c: Include deviceiter.h.
39365 Implement using grub_util_emit_devicemap_entry and
39366 grub_util_iterate_devices.
39367 * conf/i386-corebook.rmk: Build util/deviceiter.c and
39368 util/devicemap.c into grub-mkdevicemap
39369 * conf/i386-efi.rmk: Likewise.
39370 * conf/i386-ieee1275.rmk: Likewise.
39371 * conf/i386-pc.rmk: Likewise.
39372 * conf/powerpc-ieee1275.rmk: Likewise.
39373 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
39374 images and installation utilities. Build kernel as image
39375 instead of as elf binary. Use common rules as much as possible.
39376
7dd4a573 393772009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 39378
39379 Correct GPT definition
39380
7dd4a573 39381 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 39382 of "attrib" member
39383
c6c5219f 393842009-04-19 Felix Zielcke <fzielcke@z-51.de>
39385
39386 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
39387
0552ff9f 393882009-04-19 David S. Miller <davem@davemloft.net>
39389
39390 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
39391 (grub_rescue_cmd_linux): Rename to...
39392 (grub_cmd_linux): and fix prototype.
39393 (grub_rescue_cmd_initrd): Rename to...
39394 (grub_cmd_initrd): and fix prototype.
39395 (cmd_linux, cmd_initrd): New.
39396 (GRUB_MOD_INIT(linux)): Use grub_register_command().
39397 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
39398
d1a282fc 393992009-04-17 Pavel Roskin <proski@gnu.org>
39400
07c5039f 39401 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
39402 format.
39403 (grub_ohci_transfer): Likewise.
39404
b012002d 39405 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
39406
1bc09c35 39407 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
39408 return without a value. Fix inconsistent indentation.
39409
e0ff9126 39410 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
39411 match struct grub_fs.
39412
d1a282fc 39413 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
39414 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
39415 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
39416 * commands/lspci.c (grub_lspci_iter): Likewise.
39417
a96df3f2 394182009-04-16 Bean <bean123ch@gmail.com>
39419
39420 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
39421 value.
39422
41bb0fe9 394232009-04-15 Pavel Roskin <proski@gnu.org>
39424
39425 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
39426 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
39427 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
39428 definitions.
39429
596c6970 394302009-04-15 Felix Zielcke <fzielcke@z-51.de>
39431
39432 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 39433 that no multiple data or metadata areas are supported and `Unknown
596c6970 39434 metadata header'.
39435
7dd4a573 394362009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 39437
39438 Move loader out of the kernel
39439
39440 * kern/loader.c: moved to ...
39441 * commands/boot.c: ... moved here
39442 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
39443 * commands/boot.c (grub_cmd_boot): moved here. All users updated
39444 * include/grub/kernel.h (grub_machine_fini): export
39445 * include/grub/loader.h (grub_loader_is_loaded): update declaration
39446 (grub_loader_set): likewise
39447 (grub_loader_unset): likewise
39448 (grub_loader_boot): likewise
39449 * conf/common.rmk: new module boot.mod
39450 (pkglib_MODULES): add boot.mod
39451 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
39452 (grub_emu_SOURCES): likewise
39453 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
39454 (grub_emu_SOURCES): likewise
39455 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
39456 (grub_emu_SOURCES): likewise
39457 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
39458 (grub_emu_SOURCES): likewise
39459 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
39460 (grub_emu_SOURCES): likewise
7dd4a573 39461 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
39462 (grub_emu_SOURCES): likewise
0d5d5653 39463 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 39464 (grub_emu_SOURCES): likewise
0d5d5653 39465
7dd4a573 394662009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 39467
39468 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 39469
5999d619 39470 * kern/misc.c (grub_itoa): Removed function
39471 (grub_ltoa): likewise
39472 (grub_vsprintf): use grub_lltoa
39473
7dd4a573 394742009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 39475
39476 Restore grub-emu
39477
39478 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
39479 * conf/i386-coreboot.rmk: likewise
39480 * conf/i386-ieee1275.rmk: likewise
39481 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 39482
20318222 394832009-04-15 Felix Zielcke <fzielcke@z-51.de>
39484
39485 * INSTALL: Add that `./autogen.sh' needs to be run before
39486 `./configure.'.
39487
d05f0df3 394882009-04-14 Bean <bean123ch@gmail.com>
39489
39490 * Makefile.in (pkglib_DATA): Add handler.lst.
39491 (handler.lst): New rule.
39492
39493 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
39494 * conf/i386-coreboot.rmk: Likewise.
39495 * conf/i386-ieee1275.rmk: Likewise.
39496 * conf/i386-efi.rmk: Likewise.
39497 * conf/x86_64-efi.rmk: Likewise.
39498 * conf/powerpc-ieee1275.rmk: Likewise.
39499 * conf/sparc64-ieee1275.rmk: Likewise.
39500
39501 * genhandlerlist.sh: New file.
39502
39503 * genmk.rb: Add rules to generate handler.lst.
39504
39505 * include/grub/normal.h (grub_file_getline): New function definition.
39506 (read_handler_list): Likewise.
39507 (free_handler_list): Likewise.
39508
39509 * include/grub/term.h (grub_term_register_input): Add name parameter
39510 for auto generation of handler.lst.
39511 (grub_term_register_output): Likewise.
39512
39513 * normal/handler.c: New file.
39514
39515 * normal/main.c (get_line): Renamed to grub_file_getline.
39516 (read_config_file): Use the newly renamed grub_file_getline.
39517 (read_command_list): Likewise.
39518 (read_fs_list): Likewise.
39519 (grub_normal_execute): Call read_handler_list to parse handler.lst.
39520 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
39521
39522 * term/efi/console.c (grub_console_init): Add name parameter for auto
39523 generation of handler.lst.
39524 * term/gfxterm.c: Likewise.
39525 * term/i386/pc/at_keyboard.c: Likewise.
39526 * term/i386/pc/console.c: Likewise.
39527 * term/i386/pc/serial.c: Likewise.
39528 * term/i386/pc/vesafb.c: Likewise.
39529 * term/i386/pc/vga.c: Likewise.
39530 * term/i386/pc/vga_text.c: Likewise.
39531 * term/ieee1275/ofconsole.c: Likewise.
39532 * term/usb_keyboard.c: Likewise.
39533
33c846be 395342009-04-14 Bean <bean123ch@gmail.com>
39535
39536 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
39537 properly with null character.
39538
4484e01e 395392009-04-14 Felix Zielcke <fzielcke@z-51.de>
39540
39541 * configure: Remove.
39542 * config.h.in: Likewise.
f93d668e 39543 * stamp-h.in: Likewise.
4484e01e 39544 * DISTLIST: Likewise.
39545 * conf/common.mk: Likewise.
39546 * conf/i386-coreboot.mk: Likewise.
39547 * conf/i386-efi.mk: Likewise.
39548 * conf/i386-ieee1275.mk: Likewise.
39549 * conf/i386.mk: Likewise.
39550 * conf/i386-pc.mk: Likewise.
39551 * conf/powerpc-ieee1275.mk: Likewise.
39552 * conf/sparc64-ieee1275.mk: Likewise.
39553 * conf/x86_64-efi.mk: Likewise.
39554
39555 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
39556 develop on GRUB.
39557
7dd4a573 395582009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 39559 David S. Miller <davem@davemloft.net>
39560
39561 * util/hostdisk.c (make_device_name): Fix buffer length
39562 calculations.
39563
e25b5a8c 395642009-04-14 Felix Zielcke <fzielcke@z-51.de>
39565
39566 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
39567 <sys/param.h> and <sys/sysctl.h>.
39568 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
39569 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
39570 opening the device and reset them afterwards.
39571
1f1f580c 395722009-04-13 Pavel Roskin <proski@gnu.org>
39573
39574 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
39575 Reported by John Stanley <jpsinthemix@verizon.net>
39576
7ebc2d6b 395772009-04-13 Robert Millan <rmh@aybabtu.com>
39578
39579 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 39580 that name for menuentries when appropriate.
7ebc2d6b 39581
d8ba3667 395822009-04-13 Felix Zielcke <fzielcke@z-51.de>
39583
39584 * util/grub.d/10_freebsd.in: Add a missing `fi'.
39585
cba416eb 395862009-04-13 Robert Millan <rmh@aybabtu.com>
39587
39588 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
39589 to Linux, simply abort telling the user it's no longer supported.
39590
a547a745 395912009-04-13 Felix Zielcke <fzielcke@z-51.de>
39592
39593 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 39594 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 39595 `freebsd_loadenv' only when devices.hints exist.
39596
232a769c 395972009-04-13 Pavel Roskin <proski@gnu.org>
39598
39599 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
39600
c3012039 396012009-04-13 Felix Zielcke <fzielcke@z-51.de>
39602
39603 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
39604 partition number.
39605 (grub_drive): Likewise.
39606
234022fe 396072009-04-13 David S. Miller <davem@davemloft.net>
39608
39609 * kern/sparc64/ieee1275/ieee1275.c: New file.
39610 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
39611 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
39612 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
39613 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
39614 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
39615 grub_ieee1275_alloc_physmem): Declare new exported functions.
39616
d8e1836c 39617 * include/grub/sparc64/ieee1275/loader.h: New file.
39618 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39619 * include/grub/sparc64/kernel.h: Likewise.
39620 * loader/sparc64/ieee1275/linux.c: Likewise.
39621
96bd81ec 39622 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
39623 (grub_fstest_SOURCES): Likewise.
39624
6a4737e5 39625 * util/hostdisk.c (make_device_name): Do not make any assumptions
39626 about the length of drive names.
39627
1d7a72fd 39628 * kern/dl.c (grub_dl_load_file): Close file immediately when
39629 we are done using it.
39630
56bc2471 396312009-04-12 David S. Miller <davem@davemloft.net>
39632
39633 * kern/misc.c (grub_ltoa): Fix cast when handling negative
39634 values. Noticed by Pavel Roskin.
39635
df38d0bb 39636 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
39637 target compiler.
7dd4a573 39638
e382e93a 39639 * genmk.rb: Add more flexible image type specification, also
39640 pass --strip-unneeded to objcopy.
39641 * conf/i386-pc.rmk: Use *_FORMAT.
39642 * conf/i386-pc.mk: Rebuilt.
39643
f5dbbca9 39644 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
39645 (OFDISK_HASH_SZ): Define.
39646 (ofdisk_hash): New hash table.
39647 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
39648 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
39649 instead of device phandle which is not unique.
39650
91c88b12 39651 * kern/sparc64/ieee1275/init.c: Delete, replace with...
39652 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
39653 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
39654 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
39655 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
39656 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
39657 GRUB_KERNEL_MACHINE_DATA_END): Define.
39658 (grub_kernel_image_size, grub_total_module_size): Declare.
39659
5b5d4aa5 396602009-04-12 Pavel Roskin <proski@gnu.org>
39661
7dd4a573 39662 * configure.ac: Change the logic when we check for target tools.
39663 Do it when the target is specified and it's different from the
39664 specified value of the host.
5b5d4aa5 39665
c91e1793 396662009-04-11 Felix Zielcke <fzielcke@z-51.de>
39667
39668 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
39669 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
39670 GNU/kFreeBSD. Check if a device is a character device. Use
39671 DIOCGMEDIASIZE to get the size.
39672 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
39673 support for GNU/kFreeBSD.
39674 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
39675 is a character device instead of a block device. Add support for
39676 FreeBSD device names.
39677
39678 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
39679 is a character device instead of a block device.
39680
39681 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
39682 is a character device instead of a block device.
39683
b1ac8644 396842009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
39685
39686 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
39687 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
39688 FreeBSD. Check if a device is a character device. Use
39689 DIOCGMEDIASIZE to get the size.
39690 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
39691 support for FreeBSD.
39692 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
39693 is a character device instead of a block device. Add support for
39694 FreeBSD device names.
39695
39696 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
39697 a character device instead of a block device.
39698 (grub_util_check_char_device): New function.
39699
39700 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
39701 a character device instead of a block device.
39702
39703 * include/grub/util/getroot.h (grub_util_check_char_device): New
39704 prototype.
39705
a3f7515a 397062009-04-11 David S. Miller <davem@davemloft.net>
39707
39708 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
39709 static libgcc.
39710 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
39711 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
39712 function, if present.
39713 (__bswapdi2): Likewise.
39714
0d44993d 39715 * include/grub/sparc64/ieee1275/boot.h: New file.
39716 * boot/sparc64/ieee1275/boot.S: Likewise.
39717 * boot/sparc64/ieee1275/diskboot.S: Likewise.
39718
ed3d2bc2 39719 * kern/misc.c (grub_ltoa): New function.
39720 (grub_vsprintf): Use it to format 'long' integers.
39721
d3bfb59c 397222009-04-10 David S. Miller <davem@davemloft.net>
39723
39724 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
39725 slots are of type grub_ieee1275_cell_t.
39726 (grub_nand_read): Likewise.
39727 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
39728 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
39729 macros are used to compare values in arg/ret block of the call.
39730 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39731 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
39732 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
39733 grub_ieee1275_instance_to_path, grub_ieee1275_write,
39734 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
39735 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
39736 grub_ieee1275_close, grub_ieee1275_set_property,
39737 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
39738 grub_ieee1275_cell_t.
39739 * kern/ieee1275/openfw.c (grub_map): Likewise.
39740 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
39741 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
39742
450e2238 39743 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
39744 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
39745 (grub_devalias_iterate): Likewise.
39746
7dd4a573 397472009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 39748
39749 UFS improvements
39750
39751 * fs/ufs.c (INODE_NBLOCKS): new definition
39752 (struct grub_ufs_dirent): added fields for non-BSD dirents
39753 (grub_ufs_get_file_block): fixed double indirect handling
39754 (grub_ufs_lookup_symlink): use more robust way to determine whether
39755 symlink is inline
39756 (grub_ufs_find_file): support for non-BSD dirents
39757 (grub_ufs_dir): support for non-BSD dirents
39758
e7e6862a 397592009-04-10 Bean <bean123ch@gnail.com>
39760
39761 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
39762 attribute, otherwise the size would be wrong for i386 platform.
39763
39764 * include/grub/pci.h (grub_pci_read_word): New inline function.
39765 (grub_pci_read_byte): Likewise.
39766 (grub_pci_write): Likewise.
39767 (grub_pci_write_word): Likewise.
39768 (grub_pci_write_byte): Likewise.
39769
39770 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
39771
39772 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
39773 (find_framebuf): Scan pci to locate the frame buffer address.
39774
39775 * commands/efi/fixvideo.c: New file.
39776
39777 * commands/efi/loadbios.c: Likewise.
39778
39779 * commands/memrw.c: Likewise.
39780
39781 * util/grub-dumpbios.in: Likewise.
39782
39783 * conf/common.rmk (grub-dumpbios): New utility.
39784 (pkglib_MODULES): New module memrw.mod.
39785 (memrw_mod_SOURCE): New macro.
39786 (memrw_mod_CFLAGS): Likewise.
39787 (memrw_mod_LDFLAGS): Likewise.
39788
7dd4a573 39789 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39790 fixvideo.mod.
39791 (loadbios_mod_SOURCE): New macro.
39792 (loadbios_mod_CFLAGS): Likewise.
39793 (loadbios_mod_LDFLAGS): Likewise.
39794 (fixvideo_mod_SOURCE): Likewise.
39795 (fixvideo_mod_CFLAGS): Likewise.
39796 (fixvideo_mod_LDFLAGS): Likewise.
39797
7dd4a573 39798 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39799 fixvideo.mod.
39800 (loadbios_mod_SOURCE): New macro.
39801 (loadbios_mod_CFLAGS): Likewise.
39802 (loadbios_mod_LDFLAGS): Likewise.
39803 (fixvideo_mod_SOURCE): Likewise.
39804 (fixvideo_mod_CFLAGS): Likewise.
39805 (fixvideo_mod_LDFLAGS): Likewise.
39806
af63ada2 398072009-04-08 Felix Zielcke <fzielcke@z-51.de>
39808
39809 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
39810
c2cdde70 398112009-04-07 David S. Miller <davem@davemloft.net>
39812
39813 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
39814 support for R_SPARC_OLO10 relocations. Fix compile warning for
39815 R_SPARC_WDISP30 case.
ea3f72cf 39816 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 39817
761319cf 398182009-04-06 Pavel Roskin <proski@gnu.org>
39819
1007d1f5 39820 * include/grub/misc.h (ARRAY_SIZE): New macro.
39821 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
39822 New macro.
39823 * loader/i386/linux.c (allocate_pages): Use free_pages().
39824 (grub_linux_unload): Don't use free_pages().
39825 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
39826 wrong index. Treat all other modes as text modes.
39827 (grub_cmd_linux): Initialize vid_mode unconditionally to
39828 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
39829
761319cf 39830 * commands/help.c (print_command_help): Use cmd->prio, not
39831 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
39832
ea761d40 398332009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 39834
ea761d40 39835 Parttool
39836
39837 * parttool/pcpart.c: new file
39838 * commands/parttool.c: likewise
39839 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
39840 (parttool_mod_SOURCES): new variable
39841 (parttool_mod_CFLAGS): likewise
39842 (parttool_mod_LDFLAGS): likewise
39843 (pcpart_mod_SOURCES): likewise
39844 (pcpart_mod_CFLAGS): likewise
39845 (pcpart_mod_LDFLAGS): likewise
7dd4a573 39846 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 39847 and parttool/pcpart.c
39848 * conf/i386-efi.rmk: likewise
39849 * conf/i386-ieee1275.rmk: likewise
39850 * conf/i386-pc.rmk: likewise
39851 * conf/powerpc-ieee1275.rmk: likewise
39852 * conf/sparc64-ieee1275.rmk: likewise
39853 * conf/x86_64-ieee1275.rmk: likewise
39854
05aaebfb 398552009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39856
39857 Support for mtime and further expandability of dir command
39858
39859 * include/grub/lib/datetime.h: moved to ...
7dd4a573 39860 * include/grub/datetime.h: ... moved here and added
05aaebfb 39861 declaration of grub_unixtime2datetime. All users updated
7dd4a573 39862 * include/grub/fs.h: new syntax for dir and mtime functions in
39863 struct grub_fs
05aaebfb 39864 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
39865 and GRUB_FSHELP_FLAGS_MASK
39866 * commands/ls.c (grub_ls_list_files): Write mtime in long format
39867 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
39868 (grub_ext2_mtime): new function
39869 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
39870 (grub_hfsplus_mtime): new function
39871 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
39872 (GRUB_UFS_ATTR_FILE): likewise
39873 (GRUB_UFS_ATTR_LNK): likewise
39874 (struct grub_ufs_sblock): new fields mtime
39875 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
39876 all users updated
39877 (grub_ufs_dir): mtime support
39878 (grub_ufs_mtime): new function
39879 * fs/affs.c (grub_affs_dir): use new dir syntax
39880 * fs/afs.c (grub_afs_dir): likewise
39881 * fs/cpio.c (grub_cpio_dir): likewise
39882 * fs/fat.c (grub_fat_find_dir): likewise
39883 * fs/hfs.c (grub_hfs_dir): likewise
39884 * fs/iso9660.c (grub_iso9660_dir): likewise
39885 * fs/jfs.c (grub_jfs_dir): likewise
39886 * fs/minix.c (grub_minix_dir): likewise
39887 * fs/ntfs.c (grub_ntfs_dir): likewise
39888 * fs/reiserfs.c (grub_reiserfs_dir): likewise
39889 * fs/sfs.c (grub_sfs_dir): likewise
39890 * fs/xfs.c (grub_xfs_dir): likewise
39891 * util/hostfs.c (grub_hostfs_dir): likewise
39892 * lib/datetime.c: moved to ...
39893 * normal/datetime.c: ... moved here
39894 (grub_unixtime2datetime): new function
39895 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 39896 * normal/completion.c (iterate_dir): use new dir syntax
39897 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 39898 last modification time of a volume
7dd4a573 39899 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 39900 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 39901 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 39902 (normal_mod_SOURCES): likewise
39903 (datetime_mod_SOURCES): Removed lib/datetime.c
39904 * conf/i386-efi.rmk: likewise
7dd4a573 39905 * conf/i386-ieee1275.rmk: likewise
05aaebfb 39906 * conf/i386-pc.rmk: likewise
39907 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 39908 * conf/sparc64-ieee1275.rmk: likewise
39909 * conf/x86_64-efi.rmk: likewise
05aaebfb 39910
8a7e1a14 399112009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39912
39913 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 39914
39915 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 39916 on grub_fat_find_dir
39917 (grub_fat_find_dir): use grub_fat_iterate_dir
39918 (grub_fat_label): likewise
39919
04186a9c 399202009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
39921
7dd4a573 39922 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 39923 and command.h
39924 remove extraneous kernel_elf_HEADERS
39925
da4c0bb6 399262009-04-04 Bean <bean123ch@gnail.com>
39927
39928 * include/grub/util/misc.h: Add dummy function fsync for mingw.
39929
39930 * util/misc.c: Likewise.
39931
54ad9555 399322009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39933
39934 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
39935 instead of grub_printf.
39936
7a6bf9f2 399372009-04-03 Robert Millan <rmh@aybabtu.com>
39938
39939 * loader/i386/linux.c (grub_linux_setup_video): Fill
39940 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
39941 values from `mode info' structure instead of hardcoded
39942 values.
39943
3fcc2083 399442009-04-01 Pavel Roskin <proski@gnu.org>
39945
39946 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
39947 unused now.
39948 * genmk.rb: Likewise.
39949 * configure.ac: Likewise.
39950
5ec9740b 399512009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
39952
39953 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
39954 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
39955
5270cec8 399562009-04-01 David S. Miller <davem@davemloft.net>
39957
39958 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 39959 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 39960 (grub_setjmp): Mark with 'returns_twice' attribute.
39961 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
39962 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
39963 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
39964
9c3dd854 399652009-04-01 Robert Millan <rmh@aybabtu.com>
39966
39967 Reapply fix from 2008-07-28 which was accidentally reverted; also
39968 perform the same fix to a similar check in same function.
39969
39970 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39971 with the same number are found, just use issue a warning with
39972 grub_dprintf(), as this error has been reported to be non-fatal.
39973
0d818b7e 399742009-03-31 Pavel Roskin <proski@gnu.org>
39975
39976 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
39977 for cross-compilation.
39978
95646d92 399792009-03-30 Robert Millan <rmh@aybabtu.com>
39980
39981 Fix i386-ieee1275 build.
39982
39983 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
39984 Remove declaration.
39985
6a003ed1 399862009-03-30 Pavel Roskin <proski@gnu.org>
39987
39988 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
39989 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
39990 zero-terminated, rely only on the strlen value. Fix comparison
39991 of strings differing in length.
39992
92f33540 399932009-03-30 Robert Millan <rmh@aybabtu.com>
39994
39995 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
39996 checking for abi version. Improve error messages on BIOS to notify
39997 user about `linux16' command.
39998
a8c48fd5 399992009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
40000
f968172e 40001 Leak fixes
a8c48fd5 40002
f968172e 40003 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
40004 in case of collision
40005 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 40006
9c323f09 400072009-03-29 Robert Millan <rmh@aybabtu.com>
40008
40009 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
40010 set `vid_mode' accordingly.
40011 (grub_linux_boot): Process `vid_mode' and set video mode.
40012
ae68f423 400132009-03-29 Robert Millan <rmh@aybabtu.com>
40014
40015 * util/grub.d/10_linux.in (linux_entry): New function.
40016 Factorize generation of Linux boot entries.
40017
5709cfc4 400182009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
40019
40020 Make the format of Environment Block plain text. The boot loader
40021 part is not tested well yet.
7dd4a573 40022
5709cfc4 40023 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
40024 (buffer): Removed.
40025 (envblk): Likewise.
40026 (usage): Remove "info" and "clear". Add "unset". Update the
40027 description of "set", as this does not delete variables any
40028 longer.
40029 (create_envblk_file): Complete rewrite.
40030 (open_envblk_file): Likewise.
40031 (cmd_info): Removed.
40032 (cmd_list): Likewise.
40033 (cmd_set): Likewise.
40034 (cmd_clear): Likewise.
40035 (list_variables): New function.
40036 (write_envblk): Likewise.
40037 (set_variables): Likewise.
40038 (unset_variables): Likewise.
40039 (main): Complete rewrite.
40040
40041 * commands/loadenv.c (buffer): Removed.
40042 (envblk): Likewise.
40043 (open_envblk_file): New function.
40044 (read_envblk_file): Complete rewrite.
40045 (grub_cmd_load_env): Likewise.
40046 (grub_cmd_list_env): Likewise.
40047 (struct blocklist): New struct.
40048 (free_blocklists): New function.
40049 (check_blocklists): Likewise.
40050 (write_blocklists): Likewise.
40051 (grub_cmd_save_env): Complete rewrite.
40052
40053 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
40054 a plain text signature.
40055 (GRUB_ENVBLK_MAXLEN): Removed.
40056 (struct grub_envblk): Complete rewrite.
40057 (grub_envblk_find): Removed.
40058 (grub_envblk_insert): Likewise.
40059 (grub_envblk_open): New prototype.
40060 (grub_envblk_set): Likewise.
40061 (grub_envblk_delete): Put const to VALUE.
40062 (grub_envblk_iterate): Put const to NAME and VALUE.
40063 (grub_envblk_close): New prototype.
40064 (grub_envblk_buffer): New inline function.
40065 (grub_envblk_size): Likewise.
40066
40067 * lib/envblk.c: Include grub/mm.h.
40068 (grub_env_find): Removed.
40069 (grub_envblk_open): New function.
40070 (grub_envblk_close): Likewise.
40071 (escaped_value_len): Likewise.
40072 (find_next_line): Likewise.
40073 (grub_envblk_insert): Removed.
40074 (grub_envblk_set): New function.
40075 (grub_envblk_delete): Complete rewrite.
40076 (grub_envblk_iterate): Likewise.
40077
a9368fd3 400782009-03-28 Robert Millan <rmh@aybabtu.com>
40079
40080 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
40081 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
40082 variables. Use 16-bit loader.
40083 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
40084 loader.
40085 * kern/i386/loader.S (grub_linux_boot): Rename to ...
40086 (grub_linux16_boot): ... this. Update all users.
40087 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
40088 (grub_linux_boot): ... this. Update all users.
40089
40090 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
40091 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
40092 commands to `linux16' and `initrd16'.
40093 (GRUB_MOD_FINI(linux)): Rename to ...
40094 (GRUB_MOD_FINI(linux16)): ... this.
40095
e4dd5a7e 400962009-03-24 Pavel Roskin <proski@gnu.org>
40097
40098 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
40099 not just for compilation.
40100
c04d6e05 401012009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
40102
40103 Move multiboot helper out of kernel
40104
40105 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
40106 `loader/i386/multiboot_helper.S'.
40107 * conf/i386-coreboot.rmk: Likewise
40108 * conf/i386-ieee1275.rmk: Likewise
40109
40110 * kern/i386/loader.S: Move multiboot helpers from here...
40111 * loader/i386/multiboot_helper.S: ...moved here
40112 * include/grub/i386/loader.h: Move declarations of multiboot
40113 helpers from here...
40114 * include/grub/i386/multiboot.h: ...moved here
40115 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
40116
42a5b3fc 401172009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40118
40119 * kern/env.c (grub_env_context_open): Added an argument to specify
40120 whether a new context inherits exported variables from current
40121 one. This is useful when making a sandbox to interpret a config
40122 file.
40123 All callers updated.
40124
40125 * include/grub/env.h (grub_env_context_open): Updated the prototype.
40126
b28bbc4e 401272009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40128
40129 * kern/env.c (grub_env_context_close): Fix memory leaks.
40130
f04f02e4 401312009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40132
40133 * normal/main.c (grub_normal_execute): Added an argument
40134 BATCH to specify if an interactive interface should be provided
40135 after reading a config file.
40136 All callers updated.
40137 (read_command_list): Prevent being executed twice.
40138 (read_fs_list): Likewise.
40139
42a5b3fc 40140 * include/grub/normal.h (grub_normal_execute): Updated the
40141 prototype.
f04f02e4 40142
41473ac2 401432009-03-22 Pavel Roskin <proski@gno.org>
40144
fbc00b0c 40145 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
40146 _start.
40147 * kern/i386/pc/startup.S: Likewise.
40148 * kern/i386/efi/startup.S: Likewise.
40149 * kern/i386/ieee1275/startup.S: Likewise.
40150 * kern/i386/coreboot/startup.S: Likewise.
40151 * kern/x86_64/efi/startup.S: Likewise.
40152
41473ac2 40153 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
40154 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
40155 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
40156
2274cc8f 401572009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
40158
40159 Bugfixes in multiboot for bugs uncovered by solaris kernel.
40160
40161 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
40162 limit detection.
40163 Use vaddr of correct segment for entry_point.
40164
b1b797cb 401652009-03-21 Bean <bean123ch@gmail.com>
40166
40167 * commands/blocklist.c: Add include file <grub/command.h>, remove
40168 <grub/normal.h> and <grub/arg.h>.
40169 (grub_cmd_blocklist): Use the new command interface.
40170 (GRUB_MOD_INIT): Likewise.
40171 (GRUB_MOD_FINI): Likewise.
40172 * commands/boot.c: Likewise.
40173 * commands/cat.c: Likewise.
40174 * commands/cmp.c: Likewise.
40175 * commands/configfile.c: Likewise.
40176 * commands/crc.c: Likewise.
40177 * commands/echo.c: Likewise.
40178 * commands/halt.c: Likewise.
40179 * commands/handler.c: Likewise.
40180 * commands/hdparm.c: Likewise.
40181 * commands/help.c: Likewise.
40182 * commands/hexdump.c: Likewise.
40183 * commands/loadenv.c: Likewise.
40184 * commands/ls.c: Likewise.
40185 * commands/lsmmap.c: Likewise.
40186 * commands/lspci.c: Likewise.
40187 * commands/loadenv.c: Likewise.
40188 * commands/read.c: Likewise.
40189 * commands/reboot.c: Likewise.
40190 * commands/search.c: Likewise.
40191 * commands/sleep.c: Likewise.
40192 * commands/test.c: Likewise.
40193 * commands/usbtest.c: Likewise.
40194 * commands/videotest.c: Likewise.
40195 * commands/i386/cpuid.c: Likewise.
40196 * commands/i386/pc/halt.c: Likewise.
40197 * commands/i386/pc/play.c: Likewise.
40198 * commands/i386/pc/pxecmd.c: Likewise.
40199 * commands/i386/pc/vbeinfo.c: Likewise.
40200 * commands/i386/pc/vbetest.c: Likewise.
40201 * commands/ieee1275/suspend.c: Likewise.
40202 * disk/loopback.c: Likewise.
40203 * font/font_cmd.c: Likewise.
40204 * hello/hello.c: Likewise.
40205 * loader/efi/appleloader.c: Likewise.
40206 * loader/efi/chainloader.c: Likewise.
40207 * loader/i386/bsd.c: Likewise.
40208 * loader/i386/efi/linux.c: Likewise.
40209 * loader/i386/ieee1275/linux.c: Likewise.
40210 * loader/i386/linux.c: Likewise.
40211 * loader/i386/pc/chainloader.c: Likewise.
40212 * loader/i386/pc/linux.c: Likewise.
40213 * loader/powerpc/ieee1275/linux.c: Likewise.
40214 * loader/multiboot_loader.c: Likewise.
40215 * term/gfxterm.c: Likewise.
40216 * term/i386/pc/serial.c: Likewise.
40217 * term/terminfo.c: Likewise.
40218
40219 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
40220 * term/i386/pc/vga.c: Likewise.
40221 * video/readers/jpeg.c: Likewise.
40222 * video/readers/png.c: Likewise.
40223 * video/readers/tga.c: Likewise.
40224
40225 * util/grub-fstest (cmd_loopback): Removed.
40226 (cmd_blocklist): Likewise.
40227 (cmd_ls): Likewise.
40228 (grub_register_command): Likewise.
40229 (grub_unregister_command): Likewise.
40230 (execute_command): Use grub_command_find to locate command and execute
40231 it.
40232
40233 * include/grub/efi/chainloader.h: Removed.
40234 * loader/efi/chainloader_normal.c: Likewise.
40235 * loader/i386/bsd_normal.c: Likewise.
40236 * loader/i386/pc/chainloader_normal.c: Likewise.
40237 * loader/i386/pc/multiboot_normal.c: Likewise.
40238 * loader/linux_normal.c: Likewise.
40239 * loader/multiboot_loader_normal.c: Likewise.
40240 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40241
40242 * gencmdlist.sh: Scan new registration command grub_register_extcmd
40243 and grub_register_command_p1.
40244
40245 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
40246 kern/command.c, lib/arg.c and commands/extcmd.c.
40247 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
40248 (minicmd_mod_SOURCES): New variable.
40249 (minicmd_mod_CFLAGS): Likewise.
40250 (minicmd_mod_LDFLAGS): Likewise.
40251 (extcmd_mod_SOURCES): Likewise.
40252 (extcmd_mod_CFLAGS): Likewise.
40253 (extcmd_mod_LDFLAGS): Likewise.
40254 (boot_mod_SOURCES): Removed.
40255 (boot_mod_CFLAGS): Likewise.
40256 (boot_mod_LDFLAGS): Likewise.
40257
40258 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
40259 kern/corecmd.c.
40260 (kernel_img_HEADERS): Add command.h.
40261 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
40262 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
40263 and lib/arg.c.
40264 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
40265 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
40266 remove the corresponding normal mode command.
40267 (normal_mod_SOURCES): Remove normal/arg.c.
40268 * conf/i386-coreboot.rmk: Likewise.
40269 * conf/i386-efi.rmk: Likewise.
40270 * conf/i386-ieee1275.rmk: Likewise.
40271 * conf/powerpc-ieee1275.rmk: Likewise.
40272 * conf/x86_64-efi.rmk: Likewise.
40273
40274 * include/grub/arg.h: Move from here ...
40275 * include/grub/lib/arg.h: ... to here.
40276
40277 * normal/arg.c: Move from here ...
40278 * lib/arg.c: ... to here.
40279
40280 * commands/extcmd.c: New file.
40281 * commands/minicmd.c: Likewise.
40282 * include/grub/command.h: Likewise.
40283 * include/grub/extcmd.h: Likewise.
40284 * kern/command.c: Likewise.
40285 * kern/corecmd.c: Likewise.
40286
40287 * kern/list.c (grub_list_iterate): Return int instead of void.
40288 (grub_list_insert): New function.
40289 (grub_prio_list_insert): Likewise.
40290
40291 * kern/rescue.c (grub_rescue_command): Removed.
40292 (grub_rescue_command_list): Likewise.
40293 (grub_rescue_register_command): Likewise.
40294 (grub_rescue_unregister_command): Likewise.
40295 (grub_rescue_cmd_boot): Move to minicmd.c
40296 (grub_rescue_cmd_help): Likewise.
40297 (grub_rescue_cmd_info): Likewise.
40298 (grub_rescue_cmd_boot): Likewise.
40299 (grub_rescue_cmd_testload): Likewise.
40300 (grub_rescue_cmd_dump): Likewise.
40301 (grub_rescue_cmd_rmmod): Likewise.
40302 (grub_rescue_cmd_lsmod): Likewise.
40303 (grub_rescue_cmd_exit): Likewise.
40304 (grub_rescue_print_devices): Moved to corecmd.c.
40305 (grub_rescue_print_files): Likewise.
40306 (grub_rescue_cmd_ls): Likewise.
40307 (grub_rescue_cmd_insmod): Likewise.
40308 (grub_rescue_cmd_set): Likewise.
40309 (grub_rescue_cmd_unset): Likewise.
7d074e3c 40310 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 40311 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 40312 commands, remove grub_rescue_register_command calls.
b1b797cb 40313
7d074e3c 40314 * normal/command.c (grub_register_command): Removed.
b1b797cb 40315 (grub_unregister_command): Likewise.
40316 (grub_command_find): Likewise.
40317 (grub_iterate_commands): Likewise.
40318 (rescue_command): Likewise.
40319 (export_command): Moved to corecmd.c.
40320 (set_command): Removed.
40321 (unset_command): Likewise.
40322 (insmod_command): Likewise.
40323 (rmmod_command): Likewise.
40324 (lsmod_command): Likewise.
40325 (grub_command_init): Likewise.
40326
40327 * normal/completion.c (iterate_command): Use cmd->prio to check for
40328 active command.
40329 (complete_arguments): Use grub_extcmd_t structure to find options.
40330 (grub_normal_do_completion): Change function grub_iterate_commands to
40331 grub_command_iterate.
40332
40333 * normal/execute.c (grub_script_execute_cmd): No need to parse
40334 argument here.
40335
40336 * normal/main.c (grub_dyncmd_dispatcher): New function.
40337 (read_command_list): Register unload commands as dyncmd.
40338 (grub_cmd_normal): Use new command interface, register rescue,
40339 unregister normal at entry, register normal, unregister rescue at exit.
40340
40341 * include/grub/list.h (grub_list_test_t): New type.
40342 (grub_list_iterate): Return int instead of void.
40343 (grub_list_insert): New function.
40344 (GRUB_AS_NAMED_LIST_P): New macro.
40345 (GRUB_AS_PRIO_LIST): Likewise.
40346 (GRUB_AS_PRIO_LIST_P): Likewise.
40347 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
40348 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
40349 (grub_prio_list): New structure.
40350 (grub_prio_list_insert): New function.
40351 (grub_prio_list_remove): New inline function.
40352
40353 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
40354 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
40355 (GRUB_COMMAND_FLAG_MENU): Likewise.
40356 (GRUB_COMMAND_FLAG_BOTH): Likewise.
40357 (GRUB_COMMAND_FLAG_TITLE): Likewise.
40358 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
40359 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
40360 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
40361 (grub_command): Likewise.
40362 (grub_register_command): Likewise.
40363 (grub_command_find): Likewise.
40364 (grub_iterate_commands): Likewise.
40365 (grub_command_init): Likewise.
40366 (grub_arg_parse): Likewise.
40367 (grub_arg_show_help): Likewise.
40368
40369 * include/grub/rescue.h (grub_rescue_register_command): Removed.
40370 (grub_rescue_unregister_command): Likewise.
40371
40372 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
40373 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
40374 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
40375
40376 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
40377 grub_rescue_cmd_initrd.
40378 * include/grub/i386/loader.h: Likewise.
40379 * include/grub/x86_64/loader.h: Likewise.
40380
40381 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
40382
1f4147aa 403832009-03-21 Bean <bean123ch@gmail.com>
40384
40385 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
40386 instead of stat in mingw environment.
40387
40388 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
40389
40390 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
40391
40392 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
40393 AC_CONFIG_LINKS.
40394
2156d5ba 403952009-03-21 Bean <bean123ch@gmail.com>
40396
40397 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
40398 out of range error.
40399
177b82ca 404002009-03-18 Michel Dänzer <michel@daenzer.net>
40401
40402 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
40403 checking inode flags for EXT4_EXTENTS_FLAG.
40404
14aad807 404052009-03-18 Robert Millan <rmh@aybabtu.com>
40406
40407 * loader/i386/linux.c: Include `<grub/video.h>' and
40408 `<grub/i386/pc/vbe.h>'..
40409 (grub_linux_setup_video): New function. Loosely based on the EFI one.
40410 (grub_linux32_boot): Attempt to configure video settings with
40411 grub_linux_setup_video().
40412 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
40413 to avoid grub_console_fini() which would step out of graphical mode
40414 unconditionally.
40415
8cf83a27 404162009-03-14 Robert Millan <rmh@aybabtu.com>
40417
40418 Fix build on powerpc.
40419 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
40420
40164e75 404212009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
40422
40423 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
40424 background image command.
40425
c58bc32a 404262009-03-12 Colin D Bennett <colin@gibibit.com>
40427
40428 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
40429 (grub_gfxterm_putchar): Extract pairs of identical calls to
40430 draw_cursor out of conditional blocks.
40431
5415144a 404322009-03-11 Pavel Roskin <proski@gnu.org>
40433
40434 * fs/hfs.c (grub_hfs_strncasecmp): New function.
40435 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
40436
6394042e 404372009-03-11 Robert Millan <rmh@aybabtu.com>
40438
40439 * loader/i386/multiboot_elfxx.c
40440 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
40441
b7b50e5f 404422009-03-11 Felix Zielcke <fzielcke@z-51.de>
40443
40444 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
40445 `kern/handler.c'.
40446
1ca7fc96 404472009-03-11 Robert Millan <rmh@aybabtu.com>
40448
40449 * loader/i386/multiboot.c (code_size): New variable.
40450 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 40451 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 40452 4-byte alignment to MBI and others by increasing
7d074e3c 40453 `boot_loader_name_length' appropriately.
1ca7fc96 40454
40455 * loader/i386/multiboot_elfxx.c
40456 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
40457
a83ea1d2 404582009-03-09 Felix Zielcke <fzielcke@z-51.de>
40459
40460 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
40461 `fs/ext2.c'.
40462
aa9f3bff 404632009-03-08 Robert Millan <rmh@aybabtu.com>
40464
40465 Make loader/i386/linux.c usable on i386-pc again.
40466
40467 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
40468 memory to heap.
40469 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
40470 `#error' stanza.
40471
d8b3b60e 404722009-03-07 Bean <bean123ch@gmail.com>
40473
40474 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
40475 allocation.
40476
b362c9e9 404772009-03-06 Robert Millan <rmh@aybabtu.com>
40478
40479 Fix display issue on terminals with screen size other than 80x25
40480 (e.g. gfxterm with resolution higher than 640x480).
40481
40482 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 40483 position relative to the center of the terminal instead of relying
b362c9e9 40484 on a hardcoded offset.
40485
9304eef1 404862009-03-04 Robert Millan <rmh@aybabtu.com>
40487
40488 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
40489 installed.
40490
40491 * Makefile.in (host_kernel): New variable.
40492 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
40493 scripts instead of just the windows one.
40494 * configure.ac: Initialize and AC_SUBST `host_kernel'.
40495
eabc95fb 404962009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 40497
40498 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
40499 `kern/handler.c'.
40500 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40501 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40502 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40504 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40505 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40506
ceb1223c 405072009-03-04 Felix Zielcke <fzielcke@z-51.de>
40508
40509 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
40510 or if there's no space for the disk label and print the partition number on a
40511 invalid magic.
40512
4910684a 405132009-03-04 Felix Zielcke <fzielcke@z-51.de>
40514
40515 * util/misc.c: Include <time.h>.
40516 (grub_millisleep): New function.
40517
7e9ca17a 405182009-03-04 Bean <bean123ch@gmail.com>
40519
40520 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
40521 another option -mno-red-zone.
40522
40523 * commands/handler.c: Change module description.
40524
40525 * kern/handler.c: Add missing space at the end of description line.
40526
40527 * kern/list.c: Likewise.
40528
f501677c 405292009-03-03 Robert Millan <rmh@aybabtu.com>
40530
40531 Move more components to the relocation area, and fix mbi pointer
40532 handling to use the destination rather than the origin (thanks to
40533 Vladimir Serbinenko for spotting).
40534
40535 * loader/i386/multiboot.c (mbi_dest): New variable.
40536 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
40537 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
40538 relocation area.
40539
9902d047 405402009-03-01 Bean <bean123ch@gmail.com>
40541
50fb7002 40542 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 40543 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
40544 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
40545 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
40546
40547 * loader/i386/efi/linux.c (acpi_guid): New variable.
40548 (acpi_guid): Likewise.
40549 (EBDA_SEG_ADDR): New constant.
40550 (LOW_MEM_ADDR): Likewise.
40551 (FAKE_EBDA_SEG): Likewise.
40552 (fake_bios_data): New function.
40553 (grub_linux_boot): Call fake_bios_data.
40554
71b9f361 405552009-03-01 Bean <bean123ch@gmail.com>
40556
40557 * commands/terminal.c: Removed.
40558
40559 * commands/handler.c: New file.
40560
40561 * include/grub/list.h: Likewise.
40562
40563 * include/grub/handler.h: Likewise.
40564
40565 * kern/list.c: Likewise.
40566
40567 * kern/handler.c: Likewise.
40568
40569 * kern/term.h: Include header file <grub/handler.h>.
40570 (grub_term_input): Move next field to the beginning.
40571 (grub_term_output): Likewise.
40572 (grub_term_input_class): New variable.
40573 (grub_term_output_class): Likewise.
40574 (grub_term_register_input): Changed to inline function.
40575 (grub_term_register_output): Likewise.
40576 (grub_term_unregister_input): Likewise.
40577 (grub_term_unregister_output): Likewise.
40578 (grub_term_set_current_input): Likewise.
40579 (grub_term_set_current_output): Likewise.
40580 (grub_term_get_current_input): Likewise.
40581 (grub_term_get_current_output): Likewise.
40582 (grub_term_iterate_input): Removed.
40583 (grub_term_iterate_output): Likewise.
40584
40585 * kern/term.c (grub_term_list_input): Removed.
40586 (grub_term_list_output): Likewise.
40587 (grub_term_input_class): New variable.
40588 (grub_term_output_class): Likewise.
50fb7002 40589 (grub_cur_term_input): Change variable as macro.
71b9f361 40590 (grub_cur_term_output): Likewise.
40591 (grub_term_register_input): Removed.
40592 (grub_term_register_output): Likewise.
40593 (grub_term_unregister_input): Likewise.
40594 (grub_term_unregister_output): Likewise.
40595 (grub_term_set_current_input): Likewise.
40596 (grub_term_set_current_output): Likewise.
40597 (grub_term_iterate_input): Likewise.
40598 (grub_term_iterate_output): Likewise.
40599 (grub_term_get_current_input): Likewise.
40600 (grub_term_get_current_output): Likewise.
40601
40602 * util/grub-editenv.c: Include header file <grub/handler.h>.
40603 (grub_term_get_current_input): Removed.
40604 (grub_term_get_current_output): Likewise.
40605 (grub_term_input_class): New variable.
50fb7002 40606 (grub_term_output_class): Likewise.
71b9f361 40607
40608 * util/grub-fstest.c (grub_term_get_current_input): Removed.
40609 (grub_term_get_current_output): Likewise.
40610 (grub_term_input_class): New variable.
50fb7002 40611 (grub_term_output_class): Likewise.
71b9f361 40612
40613 * util/grub-probe.c (grub_term_get_current_input): Removed.
40614 (grub_term_get_current_output): Likewise.
40615 (grub_term_input_class): New variable.
50fb7002 40616 (grub_term_output_class): Likewise.
71b9f361 40617
40618 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
40619 (grub_term_get_current_output): Likewise.
40620 (grub_term_input_class): New variable.
50fb7002 40621 (grub_term_output_class): Likewise.
71b9f361 40622
40623 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
40624 (terminal_mod_SOURCES): Likewise.
40625 (terminal_mod_CFLAGS): Likewise.
40626 (terminal_mod_LDFLAGS): Likewise.
40627
40628 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
40629 handler.c.
40630 (kernel_img_SOURCES): Add list.c and handler.c.
40631 (kernel_img_HEADERS): Add list.h and handler.h.
40632
40633 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40634 handler.c.
40635 (kernel_mod_SOURCES): Add list.c and handler.c.
40636 (kernel_mod_HEADERS): Add list.h and handler.h.
40637
40638 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
40639 handler.c.
40640 (kernel_elf_SOURCES): Add list.c and handler.c.
40641 (kernel_elf_HEADERS): Add list.h and handler.h.
40642
40643 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40644 handler.c.
40645 (kernel_elf_SOURCES): Add list.c and handler.c.
40646 (kernel_elf_HEADERS): Add list.h and handler.h.
40647
40648 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40649 handler.c.
40650 (kernel_mod_SOURCES): Add list.c and handler.c.
40651 (kernel_mod_HEADERS): Add list.h and handler.h.
40652
40653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40654 handler.c.
40655 (kernel_elf_SOURCES): Add list.c and handler.c.
40656 (kernel_elf_HEADERS): Add list.h and handler.h.
40657
8a31787f 406582009-02-27 Robert Millan <rmh@aybabtu.com>
40659
40660 Factorize elf32 / elf64 code in Multiboot loader. This will
40661 prevent it from getting out of sync again.
40662
40663 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
40664 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
40665 grub_multiboot_load_elf64): Move from here ...
40666 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
40667 grub_multiboot_load_elf): ... to here (new file).
40668
51cd3dfc 406692009-02-27 Robert Millan <rmh@aybabtu.com>
40670
40671 * util/grub.d/10_linux.in: Rename "single-user mode" to
40672 "recovery mode".
40673
6e8c9c3a 406742009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
40675
40676 Don't leak in SCSI code.
40677 * disk/scsi.c (grub_scsi_close): free `scsi'.
40678
4b6bf4f9 406792009-02-27 Robert Millan <rmh@aybabtu.com>
40680
40681 * loader/i386/pc/multiboot.c: Move from here ...
40682 * loader/i386/multiboot.c: ... to here. Update all users.
40683
b9413424 406842009-02-27 Robert Millan <rmh@aybabtu.com>
40685
40686 Patch from Alexandre Bique <bique.alexandre@gmail.com>
40687 * util/i386/pc/grub-setup.c (setup): Fix directory path.
40688
50fb7002 406892009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 40690
40691 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
40692 b-tree.
40693
8cc50345 406942009-02-27 Robert Millan <rmh@aybabtu.com>
40695
40696 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
40697 `0x' qualifier as 0 when base is specified as parameter).
40698
6e09b8b7 406992009-02-24 Bean <bean123ch@gmail.com>
40700
40701 * configure.ac: Check for -mcmodel=large in x86_64 target.
40702
40703 * include/grub/efi/api.h (efi_call_10): New macro.
40704 (efi_wrap_10): New function.
40705
40706 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
40707 (GRUB_PE32_REL_BASED_HIGH): Likewise.
40708 (GRUB_PE32_REL_BASED_LOW): Likewise.
40709 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
40710 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
40711 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
40712 (GRUB_PE32_REL_BASED_SECTION): Likewise.
40713 (GRUB_PE32_REL_BASED_REL): Likewise.
40714 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
40715 (GRUB_PE32_REL_BASED_DIR64): Likewise.
40716 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
40717
40718 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
40719 issue.
40720
40721 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
40722 (efi_wrap_10): New function.
40723
40724 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
40725
40726 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
40727 MB/MBP model (NV chipset).
40728 (devdata_devs): Add devpath_5 to the list.
40729
40730 * load/i386/efi/linux.c (video_base): Remove variable.
40731 (RGB_MASK): New macro.
40732 (RGB_MAGIC): Likewise.
40733 (LINE_MIN): Likewise.
40734 (LINE_MAX): Likewise.
40735 (FBTEST_STEP): Likewise.
40736 (FBTEST_COUNT): Likewise.
40737 (fb_list): New variable.
40738 (grub_find_video_card): Remove function.
40739 (find_framebuf): New function.
40740 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
40741 line length.
40742
40743 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
40744 problem for x86_64.
40745
74b21bee 407462009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
40747
40748 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
40749
40750 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
40751 coding tool name.
40752
a455f472 407532009-02-22 Robert Millan <rmh@aybabtu.com>
40754
40755 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
40756 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
40757 in our relocation, instead of using it directly from heap. Also
40758 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
40759
6374daf3 407602009-02-21 Robert Millan <rmh@aybabtu.com>
40761
40762 Implement USB keyboard support (based on patch by Marco Gerards)
40763
40764 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
40765 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
40766 (usb_keyboard_mod_LDFLAGS): New variables.
40767
40768 * term/usb_keyboard.c: New file.
40769
8fa4ea70 407702009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
40771
40772 Corrected wrong declaration
40773
40774 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
40775
353976ac 407762009-02-14 Christian Franke <franke@computer.org>
40777
40778 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
40779 (grub_lspci_iter): Print class code and programming interface byte.
40780
6aa1169b 407812009-02-14 Christian Franke <franke@computer.org>
40782
40783 * gendistlist.sh: Ignore `.svn' directories.
40784
265372ca 407852009-02-14 Felix Zielcke <fzielcke@z-51.de>
40786
40787 * fs/fat.c: Add 2009 to Copyright line.
40788
9ff516f3 407892009-02-14 Christian Franke <franke@computer.org>
40790
40791 * commands/hdparm.c: New file. Provides `hdparm' command
40792 which sends ATA commands via grub_disk_ata_pass_through ().
40793
40794 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
40795
40796 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
40797 and <grub/cpu/io.h> to include/grub/ata.h.
40798 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
40799 (GRUB_CDROM_SECTOR_SIZE): Remove.
40800 (GRUB_ATA_*): Move to include/grub/ata.h.
40801 (GRUB_ATAPI_*): Likewise.
40802 (enum grub_ata_commands): Likewise.
40803 (enum grub_ata_timeout_milliseconds): Likewise.
40804 (struct grub_ata_device): Likewise.
40805 (grub_ata_regset): Likewise.
40806 (grub_ata_regget): Likewise.
40807 (grub_ata_regset2): Likewise.
40808 (grub_ata_regget2): Likewise.
40809 (grub_ata_check_ready): Likewise.
40810 (grub_ata_wait_not_busy): Remove static, exported in
40811 include/grub/ata.h.
40812 (grub_ata_wait_drq): Likewise.
40813 (grub_ata_pio_read): Likewise.
40814
40815 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
40816 function for hdparm.mod.
40817
40818 * include/grub/ata.h: New file, contains declarations from
40819 disk/ata.c.
40820 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
40821
40822 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
40823 (grub_disk_ata_pass_through): New exported variable.
40824
40825 * kern/disk.c (grub_disk_ata_pass_through): New variable.
40826
772e23da 408272009-02-13 Colin D Bennett <colin@gibibit.com>
40828
40829 Support multiple fallback entries, and provide an API to support
40830 executing default+fallback menu entries. Renamed the `terminal' menu
40831 viewer to `text'.
40832
40833 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
40834 variable declaration.
40835 (grub_menu_execute_callback): New structure declaration.
40836 (grub_menu_execute_callback_t): New typedef.
40837 (grub_menu_execute_with_fallback): New function declaration.
40838 (grub_menu_get_entry): Likewise.
40839 (grub_menu_get_timeout): Likewise.
40840 (grub_menu_set_timeout): Likewise.
40841
40842 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
40843
40844 * normal/menu.c (grub_wait_after_message): Moved to
40845 `normal/menu_text.c'.
40846 (draw_border): Likewise.
40847 (print_message): Likewise.
40848 (print_entry): Likewise.
40849 (print_entries): Likewise.
40850 (grub_menu_init_page): Likewise.
40851 (get_entry_number): Likewise.
40852 (print_timeout): Likewise.
40853 (run_menu): Likewise.
40854 (grub_menu_execute_entry): Likewise.
40855 (show_text_menu): Likewise.
40856 (get_and_remove_first_entry_number): New function.
40857 (grub_menu_execute_with_fallback): Likewise.
40858 (get_entry): Renamed to ...
40859 (grub_menu_get_entry): .. this and made it global.
40860 (get_timeout): Renamed to ...
40861 (grub_menu_get_timeout): ... this and made it global.
40862 (set_timeout): Renamed to ...
40863 (grub_menu_set_timeout): ... this and made it global.
40864 (grub_normal_terminal_menu_viewer): Renamed to ...
40865 (grub_normal_text_menu_viewer): ... this.
40866
40867 * normal/menu_text.c: New file. Extracted text-menu-specific code
40868 from normal/menu.c.
40869
40870 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
40871 (normal_mod_SOURCES): Likewise.
40872
40873 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40874 (normal_mod_SOURCES): Likewise.
40875
40876 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40877 (normal_mod_SOURCES): Likewise.
40878
40879 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
40880 (normal_mod_SOURCES): Likewise.
40881
40882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40883 (normal_mod_SOURCES): Likewise.
40884
40885 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40886 (normal_mod_SOURCES): Likewise.
40887
40888 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40889 (normal_mod_SOURCES): Likewise.
40890
16ac430e 408912009-02-11 Robert Millan <rmh@aybabtu.com>
40892
40893 * util/grub.d/00_header.in: Update old reference to `font' command.
40894
06ff20fc 408952009-02-10 Felix Zielcke <fzielcke@z-51.de>
40896
40897 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
40898
40899 Based on patch from Javier Martín.
40900
96da9407 409012009-02-09 Felix Zielcke <fzielcke@z-51.de>
40902
40903 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 40904 to avoid false positives with FAT.
96da9407 40905 (grub_fstest_SOURCES): Likewise.
40906 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40907 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40909 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40910 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40911 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40912
6dca6fe4 409132009-02-09 Felix Zielcke <fzielcke@z-51.de>
40914
06ff20fc 40915 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 40916 bpb.version_specific.fat12_or_fat16.fstype and
40917 bpb.version_specific.fat32.fstype.
40918
2550c62f 409192009-02-08 Robert Millan <rmh@aybabtu.com>
40920
be110b30 40921 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 40922
56978920 409232009-02-08 Robert Millan <rmh@aybabtu.com>
40924
40925 * Makefile.in (host_os, host_cpu): New variables.
40926 (target_os): Remove. Update all users.
40927
d64399b5 409282009-02-08 Marco Gerards <marco@gnu.org>
40929
40930 * Makefile.in (enable_grub_emu_usb): New variable.
40931 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
40932 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
40933 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
40934 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
40935 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
40936 `usbtest.mod' and `usbms.mod'.
40937 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
40938 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
40939 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
40940 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
40941 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
40942 variables.
40943
40944 * disk/usbms.c: New file.
40945
40946 * include/grub/usb.h: Likewise.
40947
40948 * include/grub/usbtrans.h: Likewise.
40949
40950 * include/grub/usbdesc.h: Likewise.
40951
40952 * bus/usb/usbtrans.c: Likewise.
40953
40954 * bus/usb/ohci.c: Likewise.
40955
40956 * bus/usb/uhci.c: Likewise.
40957
40958 * bus/usb/usbhub.c: Likewise.
40959
40960 * bus/usb/usb.c: Likewise.
40961
40962 * commands/usbtest.c: Likewise.
40963
40964 * util/usb.c: Likewise.
50fb7002 40965
d64399b5 40966 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
40967
40968 * configure.ac: Test for libusb presence.
50fb7002 40969
d64399b5 40970 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
40971
2b40d6bb 409722009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
40973
40974 * kern/mm.c: Add more comments.
40975
73a4ce81 409762009-02-08 Robert Millan <rmh@aybabtu.com>
40977
40978 Patch from Javier Martín.
40979 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
40980 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
40981
f821ce59 409822009-02-08 Robert Millan <rmh@aybabtu.com>
40983
40984 * fs/cpio.c: Split tar functionality to ...
40985 * fs/tar.c: ... here (new file). Update all users.
40986
aebfc4b0 409872009-02-07 Robert Millan <rmh@aybabtu.com>
40988
40989 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
40990 backward-incompatible features.
40991
40992 Based on patch from Javier Martín, with some adjustments.
40993
50fb7002 409942009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 40995
40996 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
40997
0bb5115e 409982009-02-07 Robert Millan <rmh@aybabtu.com>
40999
41000 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
41001 position of `disk/lvm.c' to ensure grub_init_all() always picks it
41002 after the RAID stuff.
41003
38a0f8e7 410042009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
41005
50fb7002 41006 Fixes problem when running vbetest command as reported by
38a0f8e7 41007 Vladimir Serbinenko <phcoder@gmail.com>.
41008
41009 * (grub_vbe_set_video_mode): Fixed problem with text modes.
41010
3143cc1c 410112009-02-04 Felix Zielcke <fzielcke@z-51.de>
41012
41013 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
41014 /dev/md/NpN style mdraid devices.
41015
9cba6fce 410162009-02-03 Felix Zielcke <fzielcke@z-51.de>
41017
41018 * util/unifont2pff.rb: Remove.
41019
e507a2c1 410202009-02-03 Felix Zielcke <fzielcke@z-51.de>
41021
41022 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
41023 `#'.
41024
d2c2b4cd 410252009-02-03 Felix Zielcke <fzielcke@z-51.de>
41026
41027 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
41028 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41029 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41030 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
41031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41032 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41033 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41034
b4315fb0 410352009-02-02 Christian Franke <franke@computer.org>
41036
41037 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
41038
de3aa260 410392009-02-01 Felix Zielcke <fzielcke@z-51.de>
41040
7c3ff286 41041 * INSTALL: Note that we now require at least autoconf 2.59 and
41042 that LZO is optional.
de3aa260 41043
825a182b 410442009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41045
41046 Base on patch on bug #24154 created by Tomas Tintera
41047 <trosos@seznam.cz>.
41048
41049 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
41050
a69ef770 410512009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41052
7c3ff286 41053 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 41054 <bero@arklinux.org>.
41055
41056 * normal/parser.y (script_init): Add missing semicolon.
41057
6fa42fa6 410582009-01-31 Colin D Bennett <colin@gibibit.com>
41059
7c3ff286 41060 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 41061 (free_menu_entry_classes): Added.
41062 (grub_normal_menu_addentry): Added class property handling.
41063 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
41064 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
41065
41066 * normal/menu_viewer.c: New file.
41067
41068 * normal/menu.c (run_menu_entry): Renamed to ...
41069 (grub_menu_execute_entry): ... this and made it as global.
41070 (grub_menu_run): Renamed to ...
41071 (show_text_menu): ... this and made it local.
41072 (show_text_menu): Adapt to new function names.
41073 (grub_normal_terminal_menu_viewer): New global variable.
41074
41075 * include/grub/menu.h: New file.
41076
41077 * include/grub/menu_viewer.h: New file.
41078
41079 * include/grub/normal.h: Added include to grub/menu.h.
41080 (grub_menu_entry): Moved to include/grub/menu.h.
41081 (grub_menu_entry_t): Likewise.
41082 (grub_menu): Likewise.
41083 (grub_menu_t): Likewise.
41084 (grub_normal_terminal_menu_viewer): Added.
41085 (grub_menu_execute_entry): Likewise.
41086 (grub_menu_run): Removed.
41087
41088 * DISTLIST: Added include/grub/menu.h.
41089 Added include/grub/menu_viewer.h.
41090 Added normal/menu_viewer.c.
41091
410922009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
41093
41094 * normal/execute.c (grub_script_execute_menuentry): Changed to use
41095 arglist for menutitle arguments.
41096
41097 * normal/main.c (grub_normal_menu_addentry): Likewise.
41098
41099 * normal/parser.y (menuentry): Likewise.
41100
41101 * normal/script.c (grub_script_create_cmdmenu): Likewise.
41102
41103 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
41104 (grub_script_create_cmdmenu): Likewise.
41105
41106 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
41107
41108 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
41109 changes.
41110
41111 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
41112
41113 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
41114
41115 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
41116
41117 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41118
41119 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41120
41121 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41122
56192c23 411232009-01-30 Christian Franke <franke@computer.org>
41124
41125 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
41126 in option help text.
41127
d72521b3 411282009-01-27 Pavel Roskin <proski@gnu.org>
41129
41130 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
41131
994b5e84 411322009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41133
41134 * commands/lsmmap.c: Add include to grub/machine/memory.h.
41135
41136 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
41137
41138 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
41139 unregister function.
41140
6a7eab2c 411412009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41142
41143 * disk/scsi.c (grub_scsi_read): Fix sign problem.
41144
41145 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
41146
41147 * util/grub-mkfont.c (usage): Fix typo.
41148
41149 * util/elf/grub-mkimage.c (load_modules): Fix warning.
41150
1806b56e 411512009-01-26 Daniel Mierswa <impulze@impulze.org>
41152
3fb18f09 41153 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
41154
336e1fb9 41155 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
41156
1806b56e 41157 * kern/misc.c (grub_strcasecmp): New function.
41158 (grub_strcasecmp): Use grub_size_t instead of int for length.
41159 Fix return value.
41160 * include/grub/misc.h: Update function prototypes.
41161
580b2a0f 411622009-01-26 Robert Millan <rmh@aybabtu.com>
41163
41164 * configure.ac: Fix cross-compilation check.
ef257b36 41165
d31c24f1 411662009-01-22 Christian Franke <franke@computer.org>
41167
41168 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
41169 (precision) digit string. Allow `.format2' without `format1' (width).
41170 Limit input chars for `%s' output to `format2' if specified. This is
41171 compatible with standard printf ().
41172
3138b44c 411732009-01-22 Christian Franke <franke@computer.org>
41174
41175 * disk/ata.c (grub_ata_wait_status): Replace by ...
41176 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
41177 other status bits may be invalid while BSY is asserted.
41178 (grub_ata_check_ready): New function.
41179 (grub_ata_cmd): Removed.
41180 (grub_ata_wait_drq): New function.
41181 (grub_ata_strncpy): Remove inline.
41182 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
41183 and error check now done by grub_ata_wait_drq ().
41184 (grub_ata_pio_write): Likewise.
41185 (grub_atapi_identify): Set DEV before check for !BSY. Use
41186 grub_ata_wait_drq () to wait for data.
41187 (grub_ata_device_initialize): Add status register check to
41188 detect missing SATA slave devices. Add debug messages.
41189 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
41190 (grub_atapi_packet): Set DEV before check for !BSY. Replace
41191 transfer loop by grub_ata_pio_write ().
41192 (grub_ata_identify): Set DEV before check for !BSY. Use
41193 grub_ata_wait_drq () to wait for data.
ef257b36 41194 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 41195 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
41196 read/write in one loop. Fix invalid command on write. Fix incomplete
41197 command on (size % batch) == 0. Add missing error check after write of
41198 last block. Add debug messages.
41199 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
41200
59a64ef6 412012009-01-19 Christian Franke <franke@computer.org>
41202
41203 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
41204 (GRUB_ATAPI_IREASON_*): Likewise.
41205 (grub_ata_pio_write): Fix timeout error return.
41206 (grub_atapi_identify): Add grub_ata_wait () after cmd.
41207 (grub_atapi_wait_drq): New function.
41208 (grub_atapi_packet): New parameter `size'.
41209 Use grub_atapi_wait_drq () and direct write instead of
41210 grub_ata_pio_write ().
41211 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
41212 reads the number of bytes requested by the device for each DRQ
41213 assertion.
41214 (grub_atapi_write): Remove old implementation, return not
41215 implemented instead.
41216
1cfe20b3 412172009-01-19 Christian Franke <franke@computer.org>
41218
41219 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
41220 of 512 to calculate data size.
41221 (grub_scsi_read12): Likewise.
41222 (grub_scsi_write10): Likewise.
41223 (grub_scsi_write12): Likewise.
41224 (grub_scsi_read): Adjust size according to blocksize.
41225 Add checks for invalid blocksize and unaligned transfer.
41226
bee5fe5d 412272009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
41228
41229 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
41230
ef257b36 41231 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 41232 width glyphs.
41233
3e643f8c 412342009-01-19 Robert Millan <rmh@aybabtu.com>
41235
41236 * config.guess: Update to latest version from config git.
41237 * config.sub: Likewise.
41238
4fa80998 412392009-01-17 Felix Zielcke <fzielcke@z-51.de>
41240
41241 * Makefile.in: Change font compilation to use new grub-mkfont instead
41242 of java version.
41243
41244 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
41245 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41246 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41247 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41248 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41249 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41250 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41251 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41252 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41253
7086085b 412542009-01-16 Christian Franke <franke@computer.org>
41255
41256 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
41257 (enum grub_ata_timeout_milliseconds): New enum.
41258 (grub_ata_wait_status): Add parameter milliseconds.
41259 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
41260 recovery from timed-out commands.
41261 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
41262 return grub_errno instead of REG_ERROR.
41263 (grub_ata_pio_write): Add parameter milliseconds.
41264 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
41265 Pass milliseconds to grub_ata_wait_status () and
41266 grub_ata_pio_read ().
41267 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
41268 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
41269 grub_ata_wait_status (). Fix IDENTIFY timeout check.
41270 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
41271 It is not suitable for device detection, because DEV bit is ignored,
41272 the command may run too long, and not all devices set the signature
41273 properly.
41274 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
41275 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
41276 Fix device selection, DEV bit must be set first to address the registers
41277 of the correct device.
41278 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
41279 grub_ata_pio_read/write ().
41280 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
41281 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
41282
4a412913 412832009-01-13 Carles Pina i Estany <carles@pina.cat>
41284
41285 * util/grub-editenv.c (main): Use fseeko(), not fseek().
41286
7795c55e 412872009-01-13 Bean <bean123ch@gmail.com>
d913988c 41288
41289 * util/grub-mkfont.c (write_font): forget to remove some debug code.
41290
7795c55e 412912009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 41292
41293 * Makefile.in: (enable_grub_mkfont): New variable.
41294 (freetype_cflags): Likewise.
41295 (freetype_libs): Likewise.
41296
41297 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
41298 (grub_mkfont_SOURCES): New variable.
41299 (grub_mkfont_CFLAGS): Likewise.
41300 (grub_mkfont_LDFLAGS): Likewise.
41301
41302 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
41303 library if `--enable-grub-mkfont' is requested.
41304 (enable_grub_mkfont): New variable.
41305 (freetype_cflags): Likewise.
41306 (freetype_libs): Likewise.
41307
41308 * util/grub-mkfont.c: New file.
41309
093af1fe 413102009-01-12 Christian Franke <franke@computer.org>
41311
41312 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
41313 mode check. Fix setting of compat_use[].
41314
f36cc108 413152009-01-10 Robert Millan <rmh@aybabtu.com>
41316
41317 Update a few copyright years which we forgot to do in 2008 (only for
41318 files whose changes made in 2008 were copyright-significant)
41319
41320 * Makefile.in: Add 2008 to Copyright line.
41321 * disk/ieee1275/ofdisk.c: Likewise.
41322 * disk/efi/efidisk.c: Likewise.
41323 * kern/dl.c: Likewise.
41324 * kern/sparc64/ieee1275/init.c: Likewise.
41325 * kern/mm.c: Likewise.
41326 * kern/efi/mm.c: Likewise.
41327 * boot/i386/pc/boot.S: Likewise.
41328 * genfslist.sh: Likewise.
41329 * fs/iso9660.c: Likewise.
41330 * fs/hfs.c: Likewise.
41331 * fs/jfs.c: Likewise.
41332 * fs/minix.c: Likewise.
41333 * fs/ufs.c: Likewise.
41334 * gensymlist.sh.in: Likewise.
41335 * genkernsyms.sh.in: Likewise.
41336 * include/grub/misc.h: Likewise.
41337 * include/grub/types.h: Likewise.
41338 * include/grub/symbol.h: Likewise.
41339 * include/grub/elf.h: Likewise.
41340 * include/grub/kernel.h: Likewise.
41341 * include/grub/disk.h: Likewise.
41342 * include/grub/dl.h: Likewise.
41343 * include/grub/i386/linux.h: Likewise.
41344 * include/grub/i386/pc/biosdisk.h: Likewise.
41345 * include/grub/efi/api.h: Likewise.
41346 * include/grub/efi/pe32.h: Likewise.
41347 * include/grub/util/misc.h: Likewise.
41348 * normal/execute.c: Likewise.
41349 * normal/arg.c: Likewise.
41350 * normal/completion.c: Likewise.
41351 * normal/lexer.c: Likewise.
41352 * normal/parser.y: Likewise.
41353 * normal/misc.c: Likewise.
41354 * commands/i386/pc/vbeinfo.c: Likewise.
41355 * commands/hexdump.c: Likewise.
41356 * commands/terminal.c: Likewise.
41357 * commands/ls.c: Likewise.
41358 * commands/help.c: Likewise.
41359 * partmap/pc.c: Likewise.
41360 * loader/efi/chainloader.c: Likewise.
41361 * loader/multiboot_loader.c: Likewise.
41362 * loader/i386/pc/multiboot2.c: Likewise.
41363 * term/efi/console.c: Likewise.
41364 * term/i386/pc/serial.c: Likewise.
41365 * util/lvm.c: Likewise.
41366 * util/console.c: Likewise.
41367 * util/i386/efi/grub-mkimage.c: Likewise.
41368 * util/raid.c: Likewise.
41369
7f02114b 413702009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
41371
41372 * commands/videotest.c: Removed include to grub/machine/memory.h.
41373
41374 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
41375 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
41376 (video_mod_SOURCES): Removed.
41377 (video_mod_CFLAGS): Likewise.
41378 (video_mod_LDFLAGS): Likewise.
41379 (gfxterm_mod_SOURCES): Likewise.
41380 (gfxterm_mod_CFLAGS): Likewise.
41381 (gfxterm_mod_LDFLAGS): Likewise.
41382 (videotest_mod_SOURCES): Likewise.
41383 (videotest_mod_CFLAGS): Likewise.
41384 (videotest_mod_LDFLAGS): Likewise.
41385 (bitmap_mod_SOURCES): Likewise.
41386 (bitmap_mod_CFLAGS): Likewise.
41387 (bitmap_mod_LDFLAGS): Likewise.
41388 (tga_mod_SOURCES): Likewise.
41389 (tga_mod_CFLAGS): Likewise.
41390 (tga_mod_LDFLAGS): Likewise.
41391 (jpeg_mod_SOURCES): Likewise.
41392 (jpeg_mod_CFLAGS): Likewise.
41393 (jpeg_mod_LDFLAGS): Likewise.
41394 (png_mod_SOURCES): Likewise.
41395 (png_mod_CFLAGS): Likewise.
41396 (png_mod_LDFLAGS): Likewise.
41397
41398 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
41399 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
41400 (video_mod_SOURCES): Added.
41401 (video_mod_CFLAGS): Likewise.
41402 (video_mod_LDFLAGS): Likewise.
41403 (videotest_mod_SOURCES): Likewise.
41404 (videotest_mod_CFLAGS): Likewise.
41405 (videotest_mod_LDFLAGS): Likewise.
41406 (bitmap_mod_SOURCES): Likewise.
41407 (bitmap_mod_CFLAGS): Likewise.
41408 (bitmap_mod_LDFLAGS): Likewise.
41409 (tga_mod_SOURCES): Likewise.
41410 (tga_mod_CFLAGS): Likewise.
41411 (tga_mod_LDFLAGS): Likewise.
41412 (jpeg_mod_SOURCES): Likewise.
41413 (jpeg_mod_CFLAGS): Likewise.
41414 (jpeg_mod_LDFLAGS): Likewise.
41415 (png_mod_SOURCES): Likewise.
41416 (png_mod_CFLAGS): Likewise.
41417 (png_mod_LDFLAGS): Likewise.
41418 (gfxterm_mod_SOURCES): Likewise.
41419 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 41420 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 41421
41422 * term/gfxterm.c: Removed include to grub/machine/memory.h,
41423 grub/machine/console.h.
41424
644fff97 414252009-01-04 Jerone Young <jerone@gmail.com>
41426
41427 Make on screen instructions clearer
41428
41429 Based on patch created by Jidanni <jidanni@jidanni.org>
41430
41431 * normal/menu.c: print clearer instructions on the screen
41432
1e901a75 414332009-01-02 Colin D Bennett <colin@gibibit.com>
41434
41435 New font engine.
34c44600 41436
1e901a75 41437 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
41438 build system and fixed gfxterm.c to work with different sized fonts.
41439
41440 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 41441
1e901a75 41442 * configure: Re-generated.
34c44600 41443
1e901a75 41444 * DISTLIST: Removed font/manager.c.
41445 Added font/font.c.
41446 Added font/font_cmd.c.
34c44600 41447
1e901a75 41448 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
41449 compilation.
34c44600 41450
1e901a75 41451 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 41452
41453 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 41454
41455 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 41456
1e901a75 41457 * normal/menu.c: Likewise.
34c44600 41458
1e901a75 41459 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
41460 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 41461
1e901a75 41462 * include/grub/font.h: Replaced with new file.
34c44600 41463
1e901a75 41464 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
41465 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
41466 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
41467 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
41468 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 41469 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 41470 fg_red, fg_green, fg_blue, fg_alpha.
41471 (grub_video_adapter): Removed blit_glyph.
34c44600 41472 (grub_video_blit_glyph): Removed.
41473
1e901a75 41474 * font/manager.c: Removed file.
34c44600 41475
41476 * font/font.c: New file.
41477
1e901a75 41478 * font/font_cmd.c: Likewise.
34c44600 41479
1e901a75 41480 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 41481
1e901a75 41482 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
41483 (grub_video_vbe_map_rgba): Likewise.
41484 (grub_video_vbe_unmap_color_int): Likewise.
41485 (grub_video_vbe_blit_glyph): Removed.
41486 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 41487
1e901a75 41488 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
41489 (get_pixel): Likewise.
34c44600 41490 (set_pixel): Likewise.
41491
1e901a75 41492 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 41493
1e901a75 41494 * term/gfxterm.c: Adapted to new font engine.
34c44600 41495
1e901a75 41496 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 41497
1e901a75 41498 * term/i386/pc/vga.c: Likewise.
34c44600 41499
1e901a75 41500 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 41501
1e901a75 41502 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 41503
1e901a75 41504 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 41505
1e901a75 41506 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 41507
1e901a75 41508 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 41509
1e901a75 41510 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 41511
1e901a75 41512 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 41513
1e901a75 41514 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 41515
1e901a75 41516 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41517
41518 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 41519
1e901a75 41520 * util/grub-mkconfig_lib.in: Changed font extension.
41521
278922e8 415222008-12-28 Felix Zielcke <fzielcke@z-51.de>
41523
41524 * util/getroot.c (grub_util_get_grub_dev): Add support for
41525 /dev/md/dNNpNN style partitionable mdraid devices.
41526
3ced05cf 415272008-12-12 Alex Smith <alex@alex-smith.me.uk>
41528
41529 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
41530 at a time limit of the PXE TFTP API correctly.
41531 (grub_pxefs_close): Likewise.
41532
7fd0ee30 415332008-11-29 Robert Millan <rmh@aybabtu.com>
41534
34c44600 41535 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 41536 grub_ata_device_initialize() calls.
41537
34c44600 415382008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 41539
41540 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
41541 iteration failed.
41542 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
41543
89313780 415442008-11-28 Robert Millan <rmh@aybabtu.com>
41545
41546 Fix build on powerpc-ieee1275. Based on patch created by
41547 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
41548 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41549 `kern/ieee1275/mmap.c'.
41550 * include/grub/powerpc/ieee1275/memory.h: New file.
41551
15257703 41552 Provide grub-install on coreboot.
41553 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
41554 (grub_install_SOURCES): New variable.
41555 * util/i386/pc/grub-install.in: Add a few condition checks to make it
41556 usable on coreboot.
41557
9fc5388a 415582008-11-25 Felix Zielcke <fzielcke@z-51.de>
41559
41560 * util/grub-fstest.c (grub_term_get_current_input): Change return type
41561 to `grub_term_input_t'.
41562 (grub_term_get_current_output): Change return type to
41563 `grub_term_output_t'.
41564
bc3a2f31 415652008-11-22 Robert Millan <rmh@aybabtu.com>
41566
34c44600 41567 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 41568 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
41569 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
41570 grub_vga_text_cls().
41571
80fc88f2 41572 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 41573 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 41574
cbf36fd3 41575 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
41576 to 0x200000 (avoids trouble with some OFW implementations, and matches
41577 with the one in Yaboot).
41578 Reported by Manoel Abranches
41579
73e8e268 415802008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 41581
41582 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
41583 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
41584
73e8e268 41585 * util/grub-mkconfig_lib.in (grub_warn): New function.
41586 (convert_system_path_to_grub_path): Use grub_warn() when issuing
41587 warnings, to obtain consistent formatting.
41588 * util/grub.d/00_header.in: Likewise.
41589 * util/update-grub_lib.in: Likewise.
41590
e94045a1 41591 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 41592 Move comment text to `#error' stanza.
e94045a1 41593
79d29fd7 41594 Harmonize ieee1275's grub_available_iterate() with the generic
41595 grub_machine_mmap_iterate() interface (fixes a recently-introduced
41596 build problem on i386-ieee1275):
41597 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
41598 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
41599 parameter `type'. Update all users of this function.
41600 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41601 `kern/ieee1275/mmap.c'.
41602 * kern/ieee1275/init.c
41603 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
41604 with ...
41605 (grub_machine_mmap_iterate): ... this.
41606 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
41607 return type to `grub_err_t'. Update all implementations of this
41608 function prototype.
41609 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
41610 Likewise.
41611
60d6b16e 41612 Add `lsmmap' command (lists firmware-provided memory map):
41613 * commands/lsmmap.c: New file.
41614 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
41615 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
41616 variables.
41617 * conf/powerpc-ieee1275.rmk: Likewise.
41618 * conf/i386-coreboot.rmk: Likewise.
41619 * conf/i386-ieee1275.rmk: Likewise.
41620
ebaaf49b 416212008-11-19 Robert Millan <rmh@aybabtu.com>
41622
41623 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 41624 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
41625 constraints to initrd allocation (based on code from
41626 loader/i386/pc/linux.c). Without them, initrd was allocated too high
41627 for Linux to find it.
ebaaf49b 41628
dfab719f 416292008-11-14 Robert Millan <rmh@aybabtu.com>
41630
41631 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
41632 order to cope with duplicate slashes.
41633
10fc3eb9 416342008-11-14 Robert Millan <rmh@aybabtu.com>
41635
41636 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
41637 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
41638 don't want to mess with lower memory, because it is used in the Linux
41639 loader.
41640
41641 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 41642 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 41643 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
41644 is in our heap (probably as a result of it being corrupted during
2f2a3442 41645 decompression). Add #error instance with comment to explain why this
41646 loader isn't currently usable on PC/BIOS.
10fc3eb9 41647
e2e07847 416482008-11-14 Robert Millan <rmh@aybabtu.com>
41649
41650 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 41651 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 41652
fe8e8d69 416532008-11-12 Robert Millan <rmh@aybabtu.com>
41654
41655 Make loader/i386/linux.c buildable on i386-pc (although disabled).
41656
41657 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
41658 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
41659 from here ...
41660 * include/grub/i386/pc/memory.h: ... to here.
41661
976b07d0 416622008-11-12 Robert Millan <rmh@aybabtu.com>
41663
41664 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
41665 split).
41666
41667 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
41668 (grub_console_cur_color, grub_console_real_putchar)
41669 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41670 (grub_console_setcolorstate, grub_console_setcolor)
41671 (grub_console_getcolor): Move from here ...
41672 * include/grub/i386/vga_common.h: ... to here (new file).
41673
41674 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
41675 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
41676 `<grub/i386/io.h>'.
41677 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
41678 `<grub/i386/vga_common.h>'.
41679
76679cd3 416802008-11-12 Robert Millan <rmh@aybabtu.com>
41681
41682 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
41683 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
41684 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
41685 variables.
41686 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41687 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
41688
41689 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
41690 grub_console_init() with call to grub_vga_text_init().
41691 (grub_machine_fini): Replace call to
41692 grub_console_fini() with call to grub_vga_text_fini() and
41693 grub_at_keyboard_fini().
41694
41695 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
41696 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41697 (grub_console_setcolorstate, grub_console_setcolor)
41698 (grub_console_getcolor): New function prototypes.
41699
41700 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
41701 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
41702 (grub_vga_text_setcursor): Static-ize.
41703 (grub_vga_text_term): New structure.
41704 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
41705
41706 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
41707 (grub_console_cur_color, grub_console_standard_color)
41708 (grub_console_normal_color, grub_console_highlight_color)
41709 (map_char, grub_console_putchar, grub_console_getcharwidth)
41710 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
41711 (grub_console_getcolor): Move from here ...
41712 * term/i386/vga_common.c: ... to here (same function names).
41713
95b841d3 417142008-11-12 Robert Millan <rmh@aybabtu.com>
41715
41716 Use newly-added Multiboot support in coreboot.
41717
41718 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41719 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
41720
41721 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
41722 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
41723 (codestart): Store the MBI in `startup_multiboot_info' when we're
41724 being loaded using Multiboot.
41725
41726 * kern/i386/coreboot/init.c (grub_machine_init): Move
41727 grub_at_keyboard_init() call to beginning of function (useful for
41728 debugging). Call grub_machine_mmap_init() before attempting to use
41729 grub_machine_mmap_iterate().
41730 (grub_lower_mem, grub_upper_mem): Move from here ...
41731 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
41732 here (new file).
41733
41734 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
41735 function prototype.
41736
761ca975 417372008-11-12 Robert Millan <rmh@aybabtu.com>
41738
41739 Fix a regression introduced by the at_keyboard.mod split. Because
41740 some terminals are default on some platforms and non-default on
41741 others, the first terminal being registered determines which is
41742 going to be default.
41743
41744 * kern/term.c (grub_term_register_input): If this is the first
41745 terminal being registered, set it as the current one.
41746 (grub_term_register_output): Likewise.
41747
41748 * term/efi/console.c (grub_console_init): Do not call
41749 grub_term_set_current_output() or grub_term_set_current_input().
41750 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
41751 * term/i386/pc/console.c (grub_console_init): Likewise.
41752 (grub_console_fini): Do not call grub_term_set_current_input()
41753 (but leave grub_term_set_current_output() to restore text mode).
41754
6c529df7 417552008-11-10 Robert Millan <rmh@aybabtu.com>
41756
41757 * util/grub.d/00_header.in: Add backward compatibility check for
41758 versions of terminal.mod that don't understand `terminal_input' or
41759 `terminal_output'.
41760
132e4113 417612008-11-09 Robert Millan <rmh@aybabtu.com>
41762
41763 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
41764 `terminal_input' / `terminal_output', not `terminal'.
41765
ac293d50 417662008-11-08 Robert Millan <rmh@aybabtu.com>
41767
41768 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 41769 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 41770
0025933a 417712008-11-08 Robert Millan <rmh@aybabtu.com>
41772
41773 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 41774 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 41775 members. Update all users.
41776 * util/console.c (grub_ncurses_term): Split in ...
41777 (grub_ncurses_term_input): ... this, and ...
41778 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 41779 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 41780
37c86336 417812008-11-08 Robert Millan <rmh@aybabtu.com>
41782
41783 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
41784 (PKGDATA): Add $(pkgdata_SRCDIR).
41785 (pkglib_BUILDDIR): New variable.
41786 (pkgdata_SRCDIR): New variable.
41787 (build_env.mk): New target.
41788 (include_DATA): New variable.
41789 (install-local): Install $(include_DATA) files in $(includedir).
41790
b6c15a2d 417912008-11-07 Pavel Roskin <proski@gnu.org>
41792
d99d46f1 41793 * gendistlist.sh: Use C locale for sorting to ensure consistent
41794 output on all systems.
41795
b6c15a2d 41796 * util/grub.d/00_header.in: Remove incorrect space before
41797 "serial".
41798
c32ee8c9 417992008-11-07 Robert Millan <rmh@aybabtu.com>
41800
41801 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
41802 per specification.
41803 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
41804 * loader/multiboot_loader.c (find_multi_boot2_header): New function
41805 (based on find_multi_boot1_header).
41806 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
41807 using find_multi_boot2_header(), and abort if neither Multiboot or
41808 Multiboot headers were found.
41809
651c29b7 418102008-11-07 Robert Millan <rmh@aybabtu.com>
41811
41812 Modularize at_keyboard.mod:
41813
41814 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
41815 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
41816 (at_keyboard_mod_LDFLAGS): New variables.
41817
41818 Actual terminal split:
41819
41820 * include/grub/term.h (struct grub_term): Split in ...
41821 (struct grub_term_input): ... this, and ...
41822 (struct grub_term_output): ... this. Update all users.
41823 (grub_term_set_current): Split in ...
41824 (grub_term_set_current_input): ... this, and ...
41825 (grub_term_set_current_output): ... this.
41826 (grub_term_get_current): Split in ...
41827 (grub_term_get_current_input): ... this, and ...
41828 (grub_term_get_current_output): ... this.
41829 (grub_term_register): Split in ...
41830 (grub_term_register_input): ... this, and ...
41831 (grub_term_register_output): ... this.
41832 (grub_term_unregister): Split in ...
41833 (grub_term_unregister_input): ... this, and ...
41834 (grub_term_unregister_output): ... this.
41835 (grub_term_iterate): Split in ...
41836 (grub_term_iterate_input): ... this, and ...
41837 (grub_term_iterate_output): ... this.
41838
41839 * kern/term.c (grub_term_list): Split in ...
41840 (grub_term_list_input): ... this, and ...
41841 (grub_term_list_output): ... this. Update all users.
41842 (grub_cur_term): Split in ...
41843 (grub_cur_term_input): ... this, and ...
41844 (grub_cur_term_output): ... this. Update all users.
41845 (grub_term_set_current): Split in ...
41846 (grub_term_set_current_input): ... this, and ...
41847 (grub_term_set_current_output): ... this.
41848 (grub_term_get_current): Split in ...
41849 (grub_term_get_current_input): ... this, and ...
41850 (grub_term_get_current_output): ... this.
41851 (grub_term_register): Split in ...
41852 (grub_term_register_input): ... this, and ...
41853 (grub_term_register_output): ... this.
41854 (grub_term_unregister): Split in ...
41855 (grub_term_unregister_input): ... this, and ...
41856 (grub_term_unregister_output): ... this.
41857 (grub_term_iterate): Split in ...
41858 (grub_term_iterate_input): ... this, and ...
41859 (grub_term_iterate_output): ... this.
41860
41861 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
41862 a check for input and one for output (and only attempt to get keys
41863 from user when input works).
41864
41865 * util/grub-probe.c (grub_term_get_current): Split in ...
41866 (grub_term_get_current_input): ... this, and ...
41867 (grub_term_get_current_output): ... this.
41868 * util/grub-fstest.c: Likewise.
41869 * util/i386/pc/grub-setup.c: Likewise.
41870 * util/grub-editenv.c: Likewise.
41871
41872 Portability adjustments:
41873
41874 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
41875 `term/i386/pc/at_keyboard.c'.
41876 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
41877 grub_keyboard_controller_init() (now handled by terminal .init).
41878 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
41879 grub_at_keyboard_init().
41880 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
41881 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
41882 at_keyboard.mod via input terminal interface).
41883 * include/grub/i386/coreboot/console.h: Convert into a stub for
41884 `<grub/i386/pc/console.h>'.
41885
41886 Migrate full terminals to new API:
41887
41888 * term/efi/console.c (grub_console_term): Split into ...
41889 (grub_console_term_input): ... this, and ...
41890 (grub_console_term_output): ... this. Update all users.
41891 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
41892 (grub_ofconsole_init): Split into ...
41893 (grub_ofconsole_init_input): ... this, and ...
41894 (grub_ofconsole_init_output): ... this.
41895 (grub_ofconsole_term): Split into ...
41896 (grub_ofconsole_term_input): ... this, and ...
41897 (grub_ofconsole_term_output): ... this. Update all users.
41898 * term/i386/pc/serial.c (grub_serial_term): Split into ...
41899 (grub_serial_term_input): ... this, and ...
41900 (grub_serial_term_output): ... this. Update all users.
41901 * term/i386/pc/console.c (grub_console_term): Split into ...
41902 (grub_console_term_input): ... this, and ...
41903 (grub_console_term_output): ... this. Update all users.
41904 (grub_console_term_input): Only enable it on PC/BIOS platform.
41905 (grub_console_init): Remove grub_keyboard_controller_init() call.
41906
41907 Migrate input terminals to new API:
41908
41909 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
41910 `i386' and `i386/pc' to enable build on x86_64 (this driver is
41911 i386-specific anyway).
41912 (grub_console_checkkey): Rename to ...
41913 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
41914 users.
41915 (grub_keyboard_controller_orig): New variable.
41916 (grub_console_getkey): Rename to ...
41917 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
41918 users.
41919 (grub_keyboard_controller_init): Static-ize. Save original
41920 controller value so that it can be restored ...
41921 (grub_keyboard_controller_fini): ... here (new function).
41922 (grub_at_keyboard_term): New structure.
41923 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
41924 functions.
41925
41926 Migrate output terminals to new API:
41927
41928 * term/i386/pc/vga.c (grub_vga_term): Change type to
41929 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41930 members. Update all users.
41931 * term/gfxterm.c (grub_video_term): Change type to
41932 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41933 members. Update all users.
41934 * include/grub/i386/pc/console.h (grub_console_checkkey)
41935 (grub_console_getkey): Do not export (no longer needed by gfxterm,
41936 etc).
41937
41938 Migrate `terminal' command and userland tools to new API:
41939
41940 * commands/terminal.c (grub_cmd_terminal): Split into ...
41941 (grub_cmd_terminal_input): ... this, and ...
41942 (grub_cmd_terminal_output): ... this.
41943 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
41944 `terminal_input' and `terminal_output'.
41945 * util/grub.d/00_header.in: Adjust `terminal' calls to new
41946 `terminal_input' / `terminal_output' API.
41947 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
41948 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
41949 provided ${GRUB_TERMINAL}, convert it).
41950
96e5d876 419512008-11-04 Robert Millan <rmh@aybabtu.com>
41952
41953 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
41954 for FreeBSD.
41955 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
41956
556f3775 419572008-11-03 Bean <bean123ch@gmail.com>
41958
41959 * kern/elf.c (grub_elf32_load): Revert to previous code.
41960 (grub_elf64_load): Likewise.
41961
41962 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
41963
926b9823 419642008-11-01 Robert Millan <rmh@aybabtu.com>
41965
41966 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
41967 (TARGET_CPPFLAGS): Likewise.
41968 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
41969
1432e958 419702008-11-01 Carles Pina i Estany <carles@pina.cat>
41971
41972 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
41973
dba3f844 419742008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 41975
41976 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
41977 addition of objects until the code is not going to be able to fail.
41978
dba3f844 419792008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 41980
41981 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
41982 (add a missing NULL check, and correct them by moving the pointer
41983 operations after the actual check).
41984
7ab28c21 419852008-10-29 Robert Millan <rmh@aybabtu.com>
41986
41987 * util/i386/pc/grub-install.in: Handle empty string as output from
41988 make_system_path_relative_to_its_root().
41989
1b7748eb 419902008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
41991
41992 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
41993 circular metadata worst case scenario. If the metadata is circular
41994 then copy the wrap in place.
41995 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
41996 project lib/format_text/layout.h
41997 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
41998
c9618ab2 419992008-10-03 Felix Zielcke <fzielcke@z-51.de>
42000
7a36edca 42001 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 42002
bf981c62 420032008-10-03 Felix Zielcke <fzielcke@z-51.de>
42004
42005 * util/update-grub_lib.in: Mention filename in warning message.
42006
6d994591 420072008-09-29 Felix Zielcke <fzielcke@z-51.de>
42008
42009 * NEWS: Update for rename of update-grub to grub-mkconfig.
42010
18ade780 420112008-09-29 Felix Zielcke <fzielcke@z-51.de>
42012
42013 * util/update-grub_lib.in: Copy to ...
42014 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 42015 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 42016 * util/update-grub.in: Rename to ...
42017 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
42018 option. Add `--output' option to allow users to specify the generated
42019 configuration file. Default to stdout.
42020 (update_grub_dir): Rename to ...
42021 (grub_mkconfig_dir): ... this.
42022 (grub_cfg): Default to an empty string.
42023 * conf/common.rmk (update-grub): Rename to ...
42024 (grub-mkconfig): ... this.
42025 (update-grub_lib): Copy to ...
42026 (grub-mkconfig_lib): ... this.
42027 (update-grub_SCRIPTS): Copy to ...
42028 (grub-mkconfig_SCRIPTS): ... this. Update all users.
42029 (update-grub_DATA): Rename to ...
42030 (grub-mkconfig_DATA): ... this.
42031
556ce6ac 420322008-09-28 Robert Millan <rmh@aybabtu.com>
42033
42034 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
42035 to `modified'. Add the real `created' field.
42036 (grub_iso9660_uuid): Use `modified' rather than `created' for
42037 constructing the UUID.
42038
420392008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 42040
42041 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
42042 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
42043
92274e85 420442008-09-28 Bean <bean123ch@gmail.com>
42045
42046 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
42047 Thanks to Christian Franke for finding this bug.
42048
add6f17a 420492008-09-25 Robert Millan <rmh@aybabtu.com>
42050
42051 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
42052 instances of grub_util_get_disk_name() (see previous commit).
42053
d2a367b8 420542008-09-25 Robert Millan <rmh@aybabtu.com>
42055
42056 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
42057 `util/i386/get_disk_name.c'.
42058 * conf/i386-efi.rmk: Likewise.
42059 * conf/x86_64-efi.rmk: Likewise.
42060 * conf/i386-coreboot.rmk: Likewise.
42061 * conf/i386-ieee1275.rmk: Likewise.
42062 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
42063 `util/ieee1275/get_disk_name.c'.
42064 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
42065 * util/ieee1275/get_disk_name.c: Remove file.
42066 * util/i386/get_disk_name.c: Remove file.
42067 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
42068 "hd%d" for device.map entries, rather than using
42069 grub_util_get_disk_name().
42070
81a06771 420712008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 42072
42073 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
42074 warning.
42075 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
42076
5a004279 420772008-09-24 Carles Pina i Estany <carles@pina.cat>
42078
42079 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
42080 Changed to 0x5100.
42081 (GRUB_TERM_PPAGE): Changed to 0x4900.
42082
397093d3 420832008-09-24 Robert Millan <rmh@aybabtu.com>
42084
42085 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
42086 macros (they were i386-pc specific).
42087 * include/grub/sparc64/ieee1275/console.h: Likewise.
42088 * include/grub/efi/console.h: Likewise.
42089
a91b6c7c 420902008-09-22 Bean <bean123ch@gmail.com>
42091
42092 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
42093 resident and in attribute list.
42094
42095 * include/grub/ntfs.h (BMP_LEN): Removed.
42096
c40fd116 420972008-09-22 Bean <bean123ch@gmail.com>
42098
81a06771 42099 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 42100 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
42101
42102 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
42103 error occurs, as grub_disk_open will call grub_disk_close, which will
42104 call p->close (scsi).
42105
81a06771 421062008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 42107
42108 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
42109 (AC_PREREQ): Bumped to 2.59.
42110 (AC_TRY_COMPILE): Replace obsolete macro with ...
42111 (AC_COMPILE_IFELSE): ... this.
42112 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
42113 (AC_LINK_IFELSE): ... this.
42114
5dc43410 421152008-09-21 Felix Zielcke <fzielcke@z-51.de>
42116
42117 * autogen.sh: Add a call to `gendistlist.sh'.
42118
9035dce4 421192008-09-19 Christian Franke <franke@computer.org>
42120
42121 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
42122 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
42123 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
42124 Export __enable_execute_stack() to modules.
42125 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
42126 New function.
42127
7fd75377 421282008-09-09 Felix Zielcke <fzielcke@z-51.de>
42129
040030b3 42130 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
42131 Sort the list.
42132
421332008-09-09 Felix Zielcke <fzielcke@z-51.de>
42134
42135 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 42136 #include <grub/util/hostdisk.h>.
42137
89d5ffcf 421382008-09-08 Robert Millan <rmh@aybabtu.com>
42139
42140 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
42141 segments when their filesz is zero (grub_file_read() interprets
81a06771 42142 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 42143 Use `lowest_segment' rather than 0 for calculating the current
42144 segment load address.
42145
40da438f 421462008-09-08 Robert Millan <rmh@aybabtu.com>
42147
42148 * util/hostdisk.c (open_device): Replace a grub_util_info() call
42149 with grub_dprintf("hostdisk", ...), as it was so verbose that it
42150 clobbered useful information.
42151
ddbf5556 421522008-09-08 Robert Millan <rmh@aybabtu.com>
42153
42154 * include/grub/util/biosdisk.h: Move to ...
42155 * include/grub/util/hostdisk.h: ... here. Update all users.
42156 * util/biosdisk.c: Move to ...
42157 * util/hostdisk.c: ... here. Update all users.
42158
783d0f48 421592008-09-07 Robert Millan <rmh@aybabtu.com>
42160
42161 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
42162 variables.
42163 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
42164 and length can be stored directly in the `mbi->mmap_addr' and
42165 `mbi->mmap_length' struct fields.
42166
548e2ea5 421672008-09-07 Robert Millan <rmh@aybabtu.com>
42168
42169 * conf/i386.rmk: New file. Provides declaration for building
42170 `cpuid.mod'.
42171 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
42172 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
42173 variables.
42174 Include `conf/i386.mk'.
42175 * conf/i386-efi.rmk: Likewise.
42176 * conf/x86_64-efi.rmk: Likewise.
42177 * conf/i386-coreboot.rmk: Likewise.
42178 * conf/i386-ieee1275.rmk: Likewise.
42179
0ea85a37 421802008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
42181
42182 Based on patch created by Colin D Bennett <colin@gibibit.com>.
42183 Adds optimization support for BGR based modes.
42184
42185 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
42186 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42187 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42188 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42189 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42190 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42191 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42192 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42193 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42194 (grub_video_i386_vbeblit_index_index): Likewise.
42195 (grub_video_i386_vbeblit_replace_directN): Added.
42196 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42197 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42198 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42199 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42200 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42201 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 42202 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 42203 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42204 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42205 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42206 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42207 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42208 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42209
42210 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
42211 (grub_video_i386_vbefill_R8G8B8): Likewise.
42212 (grub_video_i386_vbefill_index): Likewise.
42213 (grub_video_i386_vbefill_direct32): Added.
42214 (grub_video_i386_vbefill_direct24): Likewise.
42215 (grub_video_i386_vbefill_direct16): Likewise.
42216 (grub_video_i386_vbefill_direct8): Likewise.
42217
81a06771 42218 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 42219 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
42220 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
42221 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
42222 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
42223 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 42224
0ea85a37 42225 * video/video.c (grub_video_get_blit_format): Updated to use new
42226 blit formats. Added handling for 16 bit color modes.
81a06771 42227
42228 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 42229 fillers.
42230 (common_blitter): Updated to use new blitters.
42231
42232 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
42233 Removed.
42234 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42235 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42236 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42237 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42238 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42239 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42240 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42241 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42242 (grub_video_i386_vbeblit_index_index): Likewise.
42243 (grub_video_i386_vbeblit_replace_directN): Added.
42244 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42245 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42246 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42247 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42248 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42249 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42250 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42251 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42252 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42253 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42254 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42255 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42256 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 42257
0ea85a37 42258 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
42259 (grub_video_i386_vbefill_R8G8B8): Likewise.
42260 (grub_video_i386_vbefill_index): Likewise.
42261 (grub_video_i386_vbefill_direct32): Added.
42262 (grub_video_i386_vbefill_direct24): Likewise.
42263 (grub_video_i386_vbefill_direct16): Likewise.
42264 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 42265
0ea85a37 42266 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
42267 types.
81a06771 42268
0ea85a37 42269 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
42270 types.
81a06771 42271
0ea85a37 42272 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
42273 blitter types.
81a06771 42274
0ea85a37 42275 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
42276 types.
42277
e8a83df6 422782008-09-06 Felix Zielcke <fzielcke@z-51.de>
42279
42280 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
42281 RAID level 1.
42282
6bcd8ee5 422832008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 42284
6bcd8ee5 42285 * fs/iso9660.c (grub_iso9660_date): New structure.
42286 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
42287 (grub_iso9660_uuid): New function.
c375ae58 42288
59261157 422892008-09-05 Bean <bean123ch@gmail.com>
42290
42291 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
42292
42293 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
42294 insensitive bit for names in Win32 and Win32 & DOS namespace.
42295
42296 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
42297
42298 * include/grub/types.h (LONG_MAX): Likewise.
42299
58b6645a 423002008-09-04 Felix Zielcke <fzielcke@z-51.de>
42301
4ee55921 42302 * util/getroot.c: Include <config.h>.
42303 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
42304 add support for /dev/md/N devices and handle LVM double dash escaping.
42305
423062008-09-04 Felix Zielcke <fzielcke@z-51.de>
42307
42308 * config.guess: Update to latest version from config git.
42309 * config.sub: Likewise.
58b6645a 42310
9124f65d 423112008-09-03 Robert Millan <rmh@aybabtu.com>
42312
42313 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
42314 `disk->total_sectors'.
42315
81a06771 423162008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 42317
42318 * include/grub/normal.h: Fixed incorrect comment for
42319 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
42320
81a06771 423212008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 42322
42323 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
42324 values with defines.
42325
42326 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
42327 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
42328 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
42329 (GRUB_VBE_MODEATTR_COLOR): Likewise.
42330 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
42331 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
42332 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
42333 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
42334 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
42335 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
42336 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
42337 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
42338 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
42339 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
42340 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
42341 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
42342 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
42343 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
42344 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
42345
93d5cbf8 423462008-08-31 Robert Millan <rmh@aybabtu.com>
42347
42348 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
42349 declaration.
42350 (grub_multiboot): Fix a few warnings.
42351
21751d50 423522008-08-31 Robert Millan <rmh@aybabtu.com>
42353
42354 * loader/i386/pc/multiboot.c: Update comment not to say that
42355 boot_device support is unimplemented.
42356
e27a75c5 423572008-08-31 Robert Millan <rmh@aybabtu.com>
42358
42359 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
42360 or memory map support are unimplemented.
42361
81a06771 423622008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 42363
42364 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
42365
81a06771 423662008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 42367
42368 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
42369 total video memory in 'vbeinfo' output; show color format details for
42370 each video mode.
42371
7c5d8d95 423722008-08-30 Pavel Roskin <proski@gnu.org>
42373
42374 * util/genmoddep.c: Remove for real this time.
42375 * DISTLIST: Remove util/genmoddep.c.
42376
4cebd25a 423772008-08-30 Robert Millan <rmh@aybabtu.com>
42378
42379 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
42380 as required by Multiboot spec (it was already 4-byte aligned, but
42381 only by chance).
42382
b497a269 423832008-08-29 Pavel Roskin <proski@gnu.org>
42384
e3925185 42385 * kern/powerpc/ieee1275/crt0.S: Rename to ...
42386 * kern/powerpc/ieee1275/startup.S: ... this.
42387 * conf/powerpc-ieee1275.rmk: Adjust for the above.
42388 * DISTLIST: Likewise.
42389
b497a269 42390 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
42391 grub/cpu/kernel.h. Add start label for consistency with other
42392 platforms. Add grub_prefix immediately after start. Add jump
42393 to the code after grub_prefix.
42394 * include/grub/powerpc/kernel.h: Provide valid values for
42395 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
42396
6e5a42fe 423972008-08-29 Bean <bean123ch@gmail.com>
42398
42399 * configure.ac: Change host_os to cygwin for mingw.
42400 (asprintf): New check for function.
42401
42402 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
42403 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
42404
42405 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 42406 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 42407 sync, sleep and grub_util_get_disk_size for mingw.
42408
42409 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
42410 to get size in mingw.
42411 (open_device): Use flag O_BINARY if it's defined.
42412 (find_root_device): Add dummy code for mingw.
42413
42414 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
42415 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
42416 (get_scsi_disk_name): Return 0 for mingw.
42417
42418 * util/hostfs.c: #include <grub/util/misc.h>.
42419 (grub_hostfs_open): Use "rb" flag to open file, use
42420 grub_util_get_disk_size to get disk size for mingw.
42421
42422 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
42423 (asprintf): New function if HAVE_ASPRINTF is not set.
42424 (sync): New function for mingw.
42425 (sleep): Likewise.
42426 (grub_util_get_disk_size): Likewise.
42427
ab3f2673 424282008-08-28 Pavel Roskin <proski@gnu.org>
42429
42430 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42431 kern/time.c.
42432
1c282483 424332008-08-28 Robert Millan <rmh@aybabtu.com>
42434
42435 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
42436
678e849c 424372008-08-28 Robert Millan <rmh@aybabtu.com>
42438
42439 Change find_grub_drive() syntax so it doesn't prevent it from
42440 detecting NULL names as errors.
42441
42442 * util/biosdisk.c (find_grub_drive): Move free slot search code
42443 from here ...
42444 (find_free_slot): ... to here.
42445 (read_device_map): Use find_free_slot() to search for free slots.
42446
965c75ca 424472008-08-27 Marco Gerards <marco@gnu.org>
42448
42449 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
42450 (scsi_mod_SOURCES): New variable.
42451 (scsi_mod_CFLAGS): Likewise
42452 (scsi_mod_LDFLAGS): Likewise.
42453
42454 * disk/scsi.c: New file.
42455
42456 * include/grub/scsi.h: Likewise.
42457
42458 * include/grub/scsicmd.h: Likewise.
42459
42460 * disk/ata.c: Include <grub/scsi.h>.
42461 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
42462 instead.
42463 (grub_ata_iterate): Skip ATAPI devices.
42464 (grub_ata_open): Only handle ATAPI devices.
42465 (struct grub_atapi_read): Removed.
42466 (grub_atapi_readsector): Likewise.
42467 (grub_ata_read): No longer handle ATAPI devices.
42468 (grub_ata_write): Likewise.
42469 (grub_atapi_iterate): New function.
42470 (grub_atapi_read): Likewise.
42471 (grub_atapi_write): Likewise.
42472 (grub_atapi_open): Likewise.
42473 (grub_atapi_close): Likewise.
42474 (grub_atapi_dev): New variable.
42475 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
42476 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
42477
42478 * include/grub/disk.h (enum grub_disk_dev_id): Add
42479 `GRUB_DISK_DEVICE_SCSI_ID'.
42480
c07ae501 424812008-08-26 Robert Millan <rmh@aybabtu.com>
42482
42483 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
42484 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
42485 descriptive.
42486
5ed20adc 424872008-08-23 Bean <bean123ch@gmail.com>
42488
42489 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
42490 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42491 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
42492 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
42493 dm_nv.mod.
42494 (raid5rec_mod_SOURCES): New macro.
42495 (raid5rec_mod_CFLAGS): Likewise.
42496 (raid5rec_mod_LDFLAGS): Likewise.
42497 (raid6rec_mod_SOURCES): Likewise.
42498 (raid6rec_mod_CFLAGS): Likewise.
42499 (raid6rec_mod_LDFLAGS): Likewise.
42500 (mdraid_mod_SOURCES): Likewise.
42501 (mdraid_mod_CFLAGS): Likewise.
42502 (mdraid_mod_LDFLAGS): Likewise.
42503 (dm_nv_mod_SOURCES): Likewise.
42504 (dm_nv_mod_CFLAGS): Likewise.
42505 (dm_nv_mod_LDFLAGS): Likewise.
42506
42507 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
42508 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42509 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42510
42511 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
42512 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42513
42514 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42515
42516 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42517
42518 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42519
42520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42521
42522 * disk/raid5_recover.c: New file.
42523
42524 * disk/raid6_recover.c: Likewise.
42525
42526 * disk/mdraid_linux.c: Likewise.
42527
42528 * disk/dmraid_nvidia.c: Likewise.
42529
42530 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
42531 ULONG_MAX.
42532
42533 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
42534 calculate the size of raid device.
42535 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
42536 different layout of raid5.
42537 (grub_raid_scan_device): Remove code specific to mdraid.
42538 (grub_raid_list): New variable.
42539 (free_array): New function.
42540 (grub_raid_register): Likewise.
42541 (grub_raid_unregister): Likewise.
42542 (grub_raid_rescan): Likewise.
42543 (GRUB_MOD_INIT): Don't iterate device here.
42544 (GRUB_MOD_FINI): Use free_array to release resource.
42545
42546 * include/grub/raid.h: Remove macro and structure specific to mdraid.
42547 (grub_raid5_recover_func_t): New function variable type.
42548 (grub_raid6_recover_func_t): Likewise.
42549 (grub_raid5_recover_func): New variable.
42550 (grub_raid6_recover_func): Likewise.
42551 (grub_raid_register): New function.
42552 (grub_raid_unregister): Likewise.
42553 (grub_raid_rescan): Likewise.
42554 (grub_raid_block_xor): Likewise.
42555
42556 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
42557 (CMD_CRC): New macro.
42558 (part): Removed.
42559 (read_file): Handle device as well as file.
42560 (cmd_crc): New function.
42561 (fstest): Handle multiple disks.
42562 (options): Remove part, raw and long, add root and diskcount.
42563 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 42564 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 42565 add handling for the new options, support multiple disks.
42566
42567 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
42568
29c18915 425692008-08-23 Bean <bean123ch@gmail.com>
42570
42571 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
42572
42573 * genfslist.sh: Ignore kernel.mod.
42574
42575 * genpartmaplist.sh: Likewise.
42576
8415f261 425772008-08-23 Robert Millan <rmh@aybabtu.com>
42578
42579 * util/getroot.c (find_root_device): Skip anything that starts with
42580 a dot, not just directories. This avoids things like /dev/.tmp.md0.
42581
d5a7dc5b 425822008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 42583
d5a7dc5b 42584 * util/update-grub.in (GRUB_GFXMODE): Export variable.
42585 * util/grub.d/00_header.in: Allow the administrator to change default
42586 gfxmode via ${GRUB_GFXMODE}.
42587
380cfbb4 425882008-08-21 Felix Zielcke <fzielcke@z-51.de>
42589
42590 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
42591
c9baafe7 425922008-08-21 Robert Millan <rmh@aybabtu.com>
42593
42594 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
42595 loader.
42596 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
42597 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
42598
e290bef2 425992008-08-20 Carles Pina i Estany <carles@pina.cat>
42600
42601 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
42602 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
42603
f9dbfc96 426042008-08-19 Robert Millan <rmh@aybabtu.com>
42605
42606 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
42607 (struct grub_virtual_screen): Remove `cursor_color'.
42608 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
42609 initialization.
42610 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
42611
dd6bd6ab 426122008-08-18 Robert Millan <rmh@aybabtu.com>
42613
42614 Unify (identical) linux_normal.c files.
42615 * loader/i386/efi/linux_normal.c: Move from here ...
42616 * loader/linux_normal.c: ... to here. Update all users.
42617 * loader/i386/pc/linux_normal.c: Delete. Update all users.
42618 * loader/i386/ieee1275/linux_normal.c: Likewise.
42619
7f42f83e 426202008-08-18 Robert Millan <rmh@aybabtu.com>
42621
42622 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
42623 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
42624 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
42625 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
42626 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
42627 New macros.
42628 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
42629 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
42630 (GRUB_LINUX_CL_END_OFFSET): ... to here.
42631 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
42632 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
42633 (GRUB_EFI_CL_END_OFFSET): Rename to ...
42634 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
42635 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
42636 Initialize `params->video_cursor_x' and `params->video_cursor_y'
42637 portably using grub_getxy().
42638 Replace `-EFI' with `-bzImage' in boot message.
42639
38487ddb 426402008-08-17 Robert Millan <rmh@aybabtu.com>
42641
42642 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
42643
deceb3ec 426442008-08-17 Robert Millan <rmh@aybabtu.com>
42645
42646 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
42647
42648 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
42649 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
42650 (grub_machine_mmap_iterate): New function declaration.
42651 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
42652 structure.
42653 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
42654 macros.
42655
42656 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
42657 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
42658 Move e820 parsing from here ...
42659 * kern/i386/pc/mmap.c: New file.
42660 (grub_machine_mmap_iterate): ... to here.
42661
42662 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
42663 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
42664 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
42665 (grub_available_iterate): Redeclare to return `void', and redeclare
42666 its hook to use grub_uint64_t as addr and size parameters, and rename
42667 to ...
42668 (grub_machine_mmap_iterate): ... this. Update all users.
42669
42670 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
42671 to make it more readable. Rename to ...
42672 (grub_machine_mmap_iterate): ... this.
42673
42674 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
42675 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
42676 (grub_multiboot): Allocate an extra region after the payload, and fill
42677 it with a Multiboot memory map. Adjust a.out loader to calculate size
42678 with the extra space.
42679 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
42680 with the extra space.
42681
f8aa0f43 426822008-08-17 Carles Pina i Estany <carles@pina.cat>
42683
9807deb9 42684 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 42685
605f5bb6 426862008-08-17 Felix Zielcke <fzielcke@z-51.de>
42687
42688 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
42689 mdate-sh to the list `find' searches for.
42690 * DISTLIST: Regenerated.
42691
210db6c6 426922008-08-16 Felix Zielcke <fzielcke@z-51.de>
42693
42694 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
42695 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 42696 genmoddep.awk, gensymlist.sh.in.
42697 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 42698 * DISTLIST: Regenerated.
48cdbfd4 42699 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 42700
1082b929 427012008-08-16 Robert Millan <rmh@aybabtu.com>
42702
42703 * disk/raid.c (grub_raid_init): Handle/report errors set by
42704 grub_device_iterate().
42705 * disk/lvm.c (grub_lvm_init): Likewise.
42706
42ce5170 427072008-08-15 Bean <bean123ch@gmail.com>
42708
42709 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42710 and datehook.mod.
42711 (datetime_mod_SOURCES): New macro.
42712 (datetime_mod_CFLAGS): Likewise.
42713 (datetime_mod_LDFLAGS): Likewise.
42714 (date_mod_SOURCES): Likewise.
42715 (date_mod_CFLAGS): Likewise.
42716 (date_mod_LDFLAGS): Likewise.
42717 (datehook_mod_SOURCES): Likewise.
42718 (datehook_mod_CFLAGS): Likewise.
42719 (datehook_mod_LDFLAGS): Likewise.
42720
42721 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42722 and datehook.mod.
42723 (datetime_mod_SOURCES): New macro.
42724 (datetime_mod_CFLAGS): Likewise.
42725 (datetime_mod_LDFLAGS): Likewise.
42726 (date_mod_SOURCES): Likewise.
42727 (date_mod_CFLAGS): Likewise.
42728 (date_mod_LDFLAGS): Likewise.
42729 (datehook_mod_SOURCES): Likewise.
42730 (datehook_mod_CFLAGS): Likewise.
42731 (datehook_mod_LDFLAGS): Likewise.
42732
42733 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42734 and datehook.mod.
42735 (datetime_mod_SOURCES): New macro.
42736 (datetime_mod_CFLAGS): Likewise.
42737 (datetime_mod_LDFLAGS): Likewise.
42738 (date_mod_SOURCES): Likewise.
42739 (date_mod_CFLAGS): Likewise.
42740 (date_mod_LDFLAGS): Likewise.
42741 (datehook_mod_SOURCES): Likewise.
42742 (datehook_mod_CFLAGS): Likewise.
42743 (datehook_mod_LDFLAGS): Likewise.
42744
42745 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42746 and datehook.mod.
42747 (datetime_mod_SOURCES): New macro.
42748 (datetime_mod_CFLAGS): Likewise.
42749 (datetime_mod_LDFLAGS): Likewise.
42750 (date_mod_SOURCES): Likewise.
42751 (date_mod_CFLAGS): Likewise.
42752 (date_mod_LDFLAGS): Likewise.
42753 (datehook_mod_SOURCES): Likewise.
42754 (datehook_mod_CFLAGS): Likewise.
42755 (datehook_mod_LDFLAGS): Likewise.
42756
42757 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42758 and datehook.mod.
42759 (datetime_mod_SOURCES): New macro.
42760 (datetime_mod_CFLAGS): Likewise.
42761 (datetime_mod_LDFLAGS): Likewise.
42762 (date_mod_SOURCES): Likewise.
42763 (date_mod_CFLAGS): Likewise.
42764 (date_mod_LDFLAGS): Likewise.
42765 (datehook_mod_SOURCES): Likewise.
42766 (datehook_mod_CFLAGS): Likewise.
42767 (datehook_mod_LDFLAGS): Likewise.
42768
42769 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
42770
42771 * commands/date.c: New file.
42772
42773 * hook/datehook.c: Likewise.
42774
42775 * include/grub/lib/datetime.h: Likewise.
42776
42777 * include/grub/i386/cmos.h: Likewise.
42778
42779 * lib/datetime.c: Likewise.
42780
42781 * lib/i386/datetime.c: Likewise.
42782
42783 * lib/efi/datetime.c: Likewise.
42784
0e9242da 427852008-08-14 Robert Millan <rmh@aybabtu.com>
42786
42787 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
42788 (grub_mkelfimage_SOURCES): New variable.
42789 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
42790
42791 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
42792 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
42793 * conf/powerpc-ieee1275.rmk: Likewise.
42794 * conf/i386-ieee1275.rmk: Likewise.
42795
42796 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
42797 * kern/i386/coreboot/init.c: Likewise.
42798
42799 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
42800 with `<grub/cpu/kernel.h>'.
42801 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
42802 to ...
42803 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
42804 * kern/i386/coreboot/startup.S: Likewise.
42805
42806 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
42807 (GRUB_MOD_GAP): Remove.
42808 * include/grub/powerpc/kernel.h: New file.
42809 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
42810 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42811 * include/grub/i386/kernel.h: New file.
42812 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
42813 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
42814 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42815
42816 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
42817 `grub-mkelfimage'.
42818 Use --directory when invoking grub_mkimage.
42819
42820 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
42821 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
42822 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
42823 and GRUB_KERNEL_CPU_PREFIX.
42824
b86408f8 428252008-08-14 Felix Zielcke <fzielcke@z-51.de>
42826
d5e619ca 42827 * include/grub/err.h (grub_err_printf): New function prototype.
42828 * util/misc.c (grub_err_printf): New function.
42829 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
42830 grub_printf.
42831 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 42832
7161f0e0 428332008-08-13 Robert Millan <rmh@aybabtu.com>
42834
42835 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
42836
a1967522 428372008-08-13 Robert Millan <rmh@aybabtu.com>
42838
42839 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
42840 boot entry.
42841
371458b5 428422008-08-12 Robert Millan <rmh@aybabtu.com>
42843
42844 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
42845 of the relocation code from here ...
42846 (grub_multiboot): ... to here.
42847 (forward_relocator, backward_relocator): Move from here ...
42848 * kern/i386/loader.S (grub_multiboot_forward_relocator)
42849 (grub_multiboot_backward_relocator): ... to here.
42850 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
42851 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
42852 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
42853 (grub_multiboot_forward_relocator_end)
42854 (grub_multiboot_backward_relocator)
42855 (grub_multiboot_backward_relocator_end): New variables.
42856
05f9452b 428572008-08-12 Bean <bean123ch@gmail.com>
42858
42859 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
42860
20024ab0 428612008-08-11 Robert Millan <rmh@aybabtu.com>
42862
42863 * kern/i386/linuxbios/startup.S: Move from here ...
42864 * kern/i386/coreboot/startup.S: ... to here.
42865
42866 * kern/i386/linuxbios/init.c: Move from here ...
42867 * kern/i386/coreboot/init.c: ... to here.
42868
42869 * kern/i386/linuxbios/table.c: Move from here ...
42870 * kern/i386/coreboot/mmap.c: ... to here.
42871
42872 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
42873
e352e9cd 428742008-08-11 Robert Millan <rmh@aybabtu.com>
42875
42876 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
42877 errors. Leave it to the upper layer to handle them.
42878
2d05bc6a 428792008-08-09 Christian Franke <franke@computer.org>
42880
42881 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
42882 * conf/common.rmk: Install `grub-pe2elf' only if requested.
42883 Install `grub.d/10_windows' only on Cygwin.
42884 * configure.ac: Add subst of `target_os'.
42885 Check `target_os' also before setting TARGET_OBJ2ELF.
42886 Add `--enable-grub-pe2elf'.
42887
042bd419 428882008-08-08 Robert Millan <rmh@aybabtu.com>
42889
42890 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42891 (grub_last_time): Change type to grub_uint64_t.
42892 (grub_disk_open): Migrate code from to using grub_get_time_ms().
42893 (grub_disk_close): Likewise.
42894
42895 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42896 (run_menu): Migrate code from to using grub_get_time_ms().
42897
42898 * util/misc.c (grub_get_time_ms): New function.
42899
7f280db5 429002008-08-08 Marco Gerards <marco@gnu.org>
42901
42902 * disk/ata.c (grub_ata_regget): Change return type to
42903 `grub_uint8_t'.
42904 (grub_ata_regget2): Likewise.
42905 (grub_ata_wait_status): New function.
42906 (grub_ata_wait_busy): Removed function, updated all users to use
42907 `grub_ata_wait_status'.
42908 (grub_ata_wait_drq): Likewise.
42909 (grub_ata_cmd): New function.
42910 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
42911 error handling.
42912 (grub_ata_pio_write): Add error handling.
42913 (grub_atapi_identify): Likewise.
42914 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
42915 handling.
42916 (grub_ata_identify): Use `grub_ata_cmd' and improve error
42917 handling. Actually use the detected registers. Reorder the
42918 detection logic such that it is easier to read.
42919 (grub_ata_pciinit): Do not assign the same ID to each controller.
42920 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
42921 handling.
42922 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
42923
42924 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
42925
1fbc5e66 429262008-08-08 Marco Gerards <marco@gnu.org>
42927
42928 * NEWS: Update.
42929
819ce6c0 429302008-08-07 Bean <bean123ch@gmail.com>
42931
42932 * include/grub/x86_64/pci.h: New file.
42933
5c41d44d 429342008-08-07 Christian Franke <franke@computer.org>
42935
42936 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
42937 (TIMER2_GATE): Likewise.
42938 (grub_pit_wait): Add enable/disable of the timer2 gate
42939 bit of port 0x61. This fixes a possible infinite loop.
42940
5ebc275d 429412008-08-07 Bean <bean123ch@gmail.com>
42942
42943 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
42944 kern/i386/tsc.c and kern/i386/pit.c.
42945
42946 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
42947 x86_64 platform.
42948
42949 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
42950 <grub/i386/tsc.h>.
42951
42952 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
42953
e383b3d0 429542008-08-07 Bean <bean123ch@gmail.com>
42955
42956 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
42957
42958 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
42959
42960 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
42961 multiple inclusion. Add #include <grub/types.h>.
42962
1cbb58ac 429632008-08-06 Christian Franke <franke@computer.org>
42964
42965 * conf/common.rmk: Build and install `10_windows'.
42966 * util/grub.d/10_windows.in: New script.
42967
337f5a1e 429682008-08-06 Pavel Roskin <proski@gnu.org>
42969
42970 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
42971
057bc4ac 429722008-08-06 Robert Millan <rmh@aybabtu.com>
42973
42974 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
42975 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
42976
2b99f123 429772008-08-06 Bean <bean123ch@gmail.com>
42978
42979 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
42980 (grub_pxefs_fs_int): Remove dummy definition.
42981 (grub_pxefs_open): Use data->block_size to store the current block
42982 size setting.
42983 (grub_pxefs_read): Use block size stored in data->block_size. As the
42984 value of grub_pxe_blksize can be changed after the file is opened.
42985
9f0234cb 429862008-08-06 Bean <bean123ch@gmail.com>
42987
42988 * fs/i386/pc/pxe.c (curr_file): new variable.
42989 (grub_pxefs_open): Simply the handling of pxe file system. Don't
42990 require the dummy internal file system anymore.
42991 (grub_pxefs_read): Removed.
42992 (grub_pxefs_close): Likewise.
42993 (grub_pxefs_fs_int): Likewise.
42994 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
42995 connection when we switch file.
42996 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
42997
a55d42e0 429982008-08-06 Robert Millan <rmh@aybabtu.com>
42999
43000 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
43001 `halt.mod'.
43002 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
43003 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
43004
43005 * kern/i386/halt.c: New file.
43006 * kern/i386/reboot.c: Likewise.
43007 * include/grub/i386/reboot.h: Likewise.
43008 * include/grub/i386/halt.h: Likewise.
43009
43010 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
43011 Include `<grub/cpu/halt.h>'.
43012 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
43013 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
43014
43015 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
43016 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
43017 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
43018 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
43019 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
43020 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
43021 from here ...
43022 * include/grub/i386/at_keyboard.h: ... to here.
43023
24371d26 430242008-08-05 Robert Millan <rmh@aybabtu.com>
43025
43026 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
43027 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
43028 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
43029 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43030 `kern/generic/millisleep.c'.
43031
43032 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
43033 instead of grub_get_rtc().
43034 (grub_tsc_init): Initialize `tsc_boot_time'.
43035
43036 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
43037 (grub_machine_init): Use grub_tsc_init() rather than
43038 installing an RTC-based handler via grub_install_get_time_ms().
43039
43040 * kern/i386/pit.c: New file.
43041 * include/grub/i386/pit.h: Likewise.
43042
9e7007b3 430432008-08-05 Bean <bean123ch@gmail.com>
43044
43045 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
43046
43047 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
43048 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
43049 (pxe_mod_SOURCES): New macro.
43050 (pxe_mod_CFLAGS): Likewise.
43051 (pxe_mod_LDFLAGS): Likewise.
43052 (pxecmd_mod_SOURCES): Likewise.
43053 (pxecmd_mod_CFLAGS): Likewise.
43054 (pxecmd_mod_LDFLAGS): Likewise.
43055
43056 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
43057 (grub_pxe_call): Likewise.
43058
43059 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
43060
43061 * commands/i386/pc/pxecmd.c: New file.
43062
9f0234cb 43063 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 43064
43065 * include/grub/i386/pc/pxe.h: Likewise.
43066
6977d49f 430672008-08-05 Bean <bean123ch@gmail.com>
43068
43069 * util/console.c (grub_console_cur_color): New variable.
43070 (grub_console_standard_color): Likewise.
43071 (grub_console_normal_color): Likewise.
43072 (grub_console_highlight_color): Likewise.
43073 (color_map): Likewise.
43074 (use_color): Likewise.
43075 (NUM_COLORS): New macro.
43076 (grub_ncurses_setcolorstate): Handle color properly.
43077 (grub_ncurses_setcolor): Don't change color here, just remember the
43078 settings, color will be set in grub_ncurses_setcolorstate.
43079 (grub_ncurses_getcolor): New function.
43080 (grub_ncurses_init): Initialize color pairs.
43081 (grub_ncurses_term): New member grub_ncurses_getcolor.
43082
9c2ff3ee 430832008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 43084
9c2ff3ee 43085 High resolution timer support. Implemented for x86 CPUs using TSC.
43086 Extracted generic grub_millisleep() so it's linked in only as needed.
43087 This requires a Pentium compatible CPU; if the RDTSC instruction is
43088 not supported, then it falls back on the generic grub_get_time_ms()
43089 implementation that uses the machine's RTC.
43090
43091 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
43092 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43093 `kern/generic/millisleep.c'.
43094
43095 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
43096 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
43097
43098 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
43099 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
43100
43101 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43102
43103 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
43104 `kern/generic/millisleep.c'.
43105
43106 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43107
43108 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
43109
43110 * kern/generic/rtc_get_time_ms.c: New file.
43111
43112 * kern/generic/millisleep.c: New file.
337f5a1e 43113
9c2ff3ee 43114 * kern/misc.c: Don't include
43115 <kern/time.h> anymore.
43116 (grub_millisleep_generic): Removed.
43117
43118 * commands/sleep.c (grub_interruptible_millisleep): Uses
43119 grub_get_time_ms() instead of grub_get_rtc().
43120
43121 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
43122 function.
43123 (grub_cpu_is_cpuid_supported): New inline function.
43124 (grub_cpu_is_tsc_supported): New inline function.
43125 (grub_tsc_init): New function prototype.
43126 (grub_tsc_get_time_ms): New function prototype.
43127
43128 * kern/i386/tsc.c (grub_get_time_ms): New file.
43129
43130 * include/grub/time.h: Include <grub/types.h.
43131 (grub_millisleep_generic): Removed.
43132 (grub_get_time_ms): New prototype.
43133 (grub_install_get_time_ms): New prototype.
43134 (grub_rtc_get_time_ms): New prototype.
43135
43136 * kern/time.c (grub_get_time_ms): New function.
43137 (grub_install_get_time_ms): New function.
43138
43139 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
43140 <grub/time.h> anymore.
43141 (grub_millisleep): Removed.
43142 (grub_machine_init): Call grub_tsc_init.
43143
43144 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
43145 get_time_ms() implementation.
43146
43147 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
43148 (ieee1275_get_time_ms): New function.
43149 (grub_machine_init): Install get_time_ms() implementation.
43150
43151 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
43152 (grub_machine_init): Call grub_tsc_init().
43153 (grub_millisleep): Removed.
bf06a93f 43154
9c2ff3ee 43155 * kern/ieee1275/init.c (grub_millisleep): Removed.
43156 (grub_machine_init): Install ieee1275_get_time_ms()
43157 implementation.
43158 (ieee1275_get_time_ms): New function.
43159 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
43160 real work.
43161
9ec92aaf 431622008-08-05 Marco Gerards <marco@gnu.org>
43163
43164 * disk/ata.c: Include <grub/pci.h>.
43165 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
43166 (grub_ata_initialize): Rewritten.
43167 (grub_ata_device_initialize): New function.
43168
8d23f507 431692008-08-04 Pavel Roskin <proski@gnu.org>
43170
43171 * kern/main.c: Include grub/mm.h.
43172
5e15ee3d 431732008-08-04 Robert Millan <rmh@aybabtu.com>
43174
43175 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
43176 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
43177 corruption problem).
43178
a9053f8f 431792008-08-04 Robert Millan <rmh@aybabtu.com>
43180
43181 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
43182 warnings introduced in my last commit.
43183
dd19c7d7 431842008-08-03 Robert Millan <rmh@aybabtu.com>
43185
43186 Make PCI available on all i386 architectures.
43187
43188 * include/grub/i386/pc/pci.h: Move from here ...
43189 * include/grub/i386/pci.h: ... to here.
43190
43191 * include/grub/i386/pc/pci.h: Remove.
43192 * include/grub/i386/efi/pci.h: Remove.
43193 * include/grub/x86_64/efi/pci.h: Remove.
43194
43195 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
43196 `<grub/cpu/pci.h>'.
43197
43198 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
43199 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
43200 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
43201
43202 * conf/i386-ieee1275.rmk: Likewise.
43203
e14a6184 432042008-08-03 Robert Millan <rmh@aybabtu.com>
43205
43206 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
43207 (grub_console_setcursor): Make it possible to set cursor off.
43208
52768e37 432092008-08-03 Robert Millan <rmh@aybabtu.com>
43210
43211 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
43212 of modules instead of assuming which platform provides what.
43213 * util/update-grub.in: Likewise.
43214
2d52f57f 432152008-08-03 Robert Millan <rmh@aybabtu.com>
43216
43217 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
43218 instead of `grub_install_dos_part' to determine whether a drive needs
43219 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 43220 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 43221
2a5cd121 432222008-08-02 Robert Millan <rmh@aybabtu.com>
43223
43224 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
43225
93808428 432262008-08-02 Robert Millan <rmh@aybabtu.com>
43227
43228 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
43229 of informational grub_dprintf() calls.
43230
3bd0a12a 432312008-08-02 Robert Millan <rmh@aybabtu.com>
43232
43233 * disk/memdisk.c (memdisk_size): Don't initialize.
43234 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
43235
43236 * include/grub/i386/pc/kernel.h
43237 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
43238 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
43239 (grub_memdisk_image_size, grub_arch_memdisk_addr)
43240 (grub_arch_memdisk_size): Remove.
43241
43242 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
43243 field (was only used to transfer a constant). Add `type' field to
43244 support multiple module types.
43245 (grub_module_iterate): New function.
43246
43247 * kern/device.c (grub_device_open): Do not hide error messages
43248 when grub_disk_open() fails. Use grub_print_error() instead.
43249
43250 * kern/i386/pc/init.c (grub_arch_modules_addr)
43251 (grub_arch_memdisk_size): Remove functions.
43252 (grub_arch_modules_addr): Return the module address in high memory
43253 (now that it isn't copied anymore).
43254
43255 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
43256 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
43257 decompression routine (grub_total_module_size already includes that
43258 now). Don't copy modules back to low memory.
43259
43260 * kern/main.c: Include `<grub/mm.h>'.
43261 (grub_load_modules): Split out (and use) ...
43262 (grub_module_iterate): ... this function, which iterates through
43263 module objects and runs a hook.
43264 Comment out grub_mm_init_region() call, as it would cause non-ELF
43265 modules to be overwritten.
43266
43267 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
43268 the memdisk image in its own region, make it part of the module list.
43269 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
43270 (main): Parse --memdisk|-m option, and pass user-provided path as
43271 parameter to generate_image().
43272 (add_segments): Pass `memdisk_path' down to load_modules().
43273 (load_modules): Embed memdisk image in module section when requested.
43274 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
43275 `header.type' instead of `header.offset'.
43276
43277 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
43278 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
43279 (memdisk_mod_LDFLAGS): New variables.
43280 * conf/i386-coreboot.rmk: Likewise.
43281 * conf/i386-ieee1275.rmk: Likewise.
43282
a927cc73 432832008-08-02 Robert Millan <rmh@aybabtu.com>
43284
43285 * loader/i386/pc/multiboot.c (playground, forward_relocator)
43286 (backward_relocator): New variables. Used to allocate and relocate
43287 the payload, respectively.
43288 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 43289 address, install the appropriate relocator code in each bound of
a927cc73 43290 the payload, and set the entry point such that
43291 grub_multiboot_real_boot() will jump to one of them.
43292
43293 * kern/i386/loader.S (grub_multiboot_payload_size)
43294 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43295 (grub_multiboot_payload_entry_offset): New variables.
43296 (grub_multiboot_real_boot): Set cpu context to what the relocator
43297 expects, and jump to the relocator instead of the payload.
43298
43299 * include/grub/i386/loader.h (grub_multiboot_payload_size)
43300 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43301 (grub_multiboot_payload_entry_offset): Export.
43302
b15d8a0c 433032008-08-01 Bean <bean123ch@gmail.com>
43304
43305 * normal/menu_entry.c (editor_getline): Don't return the original
43306 string as result, as it will be released by lexer once it has done
43307 using it.
43308
cdfb3d22 433092008-08-01 Robert Millan <rmh@aybabtu.com>
43310
43311 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
43312 within menuentries, not before them.
43313 util/grub.d/10_hurd.in: Likewise.
43314
9175e93d 433152008-08-01 Bean <bean123ch@gmail.com>
43316
43317 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
43318 (bufio_mod_SOURCES): New macro.
43319 (bufio_mod_CFLAGS): Likewise.
43320 (bufio_mod_LDFLAGS): Likewise.
43321
43322 * include/grub/bufio.h: New file.
43323
43324 * io/bufio.c: Likewise.
43325
43326 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
43327 (grub_video_reader_png): Use grub_buffile_open to open file.
43328
43329 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
43330 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
43331
43332 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
43333 (grub_video_reader_tga): Use grub_buffile_open to open file.
43334
43335 * font/manager.c: Include <grub/bufio.h>.
43336 (add_font): Use grub_buffile_open to open file.
43337
3d8383e7 433382008-07-31 Robert Millan <rmh@aybabtu.com>
43339
43340 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
43341 ELF segments, use a macro for arbitrarily accessing any of them instead
43342 of preparing a pointer that allows access to one at a time.
43343 (grub_multiboot_load_elf64): Likewise.
43344
16e641b6 433452008-07-31 Bean <bean123ch@gmail.com>
43346
43347 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
43348 GRUB_KERNEL_MACHINE_DATA_END.
43349
59198b72 433502008-07-30 Robert Millan <rmh@aybabtu.com>
43351
43352 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
43353 Increase from 0x50 to 0x60.
43354 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
43355 use UUIDs to identify the root drive for them. If that's not
43356 possible, abort.
43357 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
43358 check, for cross-disk installs.
43359
ae88bca3 433602008-07-30 Robert Millan <rmh@aybabtu.com>
43361
43362 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
43363 is non-empty, use it to set the `prefix' environment variable instead
43364 of the usual approach.
43365 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
43366 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
43367 environment variable instead of dummy make_install_device().
43368
43369 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
43370 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 43371 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 43372
43373 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
43374 New variable reference.
43375 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
43376 New macro. Defines offset of `grub_prefix' within startup.S (relative
43377 to `start').
43378 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
43379 section within startup.S (relative to `start').
43380 * include/grub/i386/coreboot/kernel.h: Likewise.
43381
43382 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
43383 Overwrite grub_prefix with its contents, at the beginning of the
43384 first segment.
43385 (main): Understand -p|--prefix.
43386
14f41dd1 433872008-07-30 Robert Millan <rmh@aybabtu.com>
43388
43389 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
43390
4ca049a3 433912008-07-30 Robert Millan <rmh@aybabtu.com>
43392
43393 * term/i386/pc/vga_text.c (grub_console_cls): Use
43394 grub_console_gotoxy() to go back to beginning of the screen.
43395 Found by Patrick Georgi <patrick.georgi@coresystems.de>
43396
2921d337 433972008-07-29 Christian Franke <franke@computer.org>
43398
43399 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43400 Add conversion of emulated mount points on Cygwin.
43401
b609876d 434022008-07-29 Christian Franke <franke@computer.org>
43403
43404 * util/update-grub.in: Add a check for admin
43405 group on Cygwin.
43406 Remove old `grub.cfg.new' before creation.
43407 Add `-f' to `mv' to handle the different filesystem
43408 semantics of Windows.
43409
e93e4679 434102008-07-29 Bean <bean123ch@gmail.com>
43411
43412 * normal/main.c (get_line): Fix buffer overflow bug.
43413
41694fd0 434142008-07-28 Robert Millan <rmh@aybabtu.com>
43415
43416 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
43417 (struct grub_apple_header): New struct. Describes the layout of
43418 the partmap header.
43419 (apple_partition_map_iterate): Check the header magic as well as the
43420 partition magic (which was already being checked).
43421
cfd0b4e6 434222008-07-28 Pavel Roskin <proski@gnu.org>
43423
43424 * genmk.rb: Add a warning to the beginning of the output that
43425 it's a generated file and should not be edited.
43426
93cce016 434272008-07-28 Robert Millan <rmh@aybabtu.com>
43428
43429 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
43430 with the same number are found, just use issue a warning with
43431 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 43432
cd1df915 434332008-07-27 Robert Millan <rmh@aybabtu.com>
43434
43435 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
43436 information.
43437
b70a8427 434382008-07-27 Bean <bean123ch@gmail.com>
43439
43440 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
43441 (grub_fat_find_dir): Ignore case when comparing filename.
43442
8f5e379f 434432008-07-27 Bean <bean123ch@gmail.com>
43444
43445 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
43446 smallino, as it's more descriptive, and i8count can be confused with
43447 the other field count.
43448 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
43449 inode type.
43450
a85cd5a0 434512008-07-27 Bean <bean123ch@gmail.com>
43452
43453 * commands/crc.c: New file.
43454
43455 * lib/crc.c: Likewise.
43456
43457 * include/grub/lib/crc.h: Likewise.
43458
43459 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
43460
43461 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
43462 (hexdump): Move this function to ...
43463
43464 * lib/hexdump.c: ... here.
43465
43466 * include/grub/hexdump.h: Renamed to ...
43467
43468 * include/grub/lib/hexdump.h: ... this.
43469
43470 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
43471
43472 * util/grub-editenv.c: Likewise.
43473
43474 * include/envblk.h: Renamed to ...
43475
43476 * include/lib/envblk.h: ... this.
43477
43478 * util/envblk.c: Renamed to ...
43479
43480 * lib/envblk.c: ... this.
43481
43482 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
43483 lib/hexdump.c.
43484 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
43485 (pkglib_MODULES): Add crc.mod.
43486 (hexdump_mod_SOURCES): Add lib/hexdump.c.
43487 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
43488 (crc_mod_SOURCES): New macro.
43489 (crc_mod_CFLAGS): Likewise.
43490 (crc_mod_LDFLAGS): Likewise.
43491
43492 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
43493
43494 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43495
43496 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43497
43498 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43499
43500 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
43501
c298def0 435022008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 43503
43504 * commands/help.c: Include <grub/term.h>.
43505 (TERM_WIDTH): Removed. Updated all users.
43506
cc349fb3 435072008-07-27 Pavel Roskin <proski@gnu.org>
43508
43509 * util/getroot.c (find_root_device): Rephrase a comment to avoid
43510 spurious warnings about a comment within a comment.
43511
9051607e 435122008-07-25 Robert Millan <rmh@aybabtu.com>
43513
43514 * util/getroot.c (find_root_device): Skip devices that match
43515 /dev/dm-[0-9]. This lets the real device be found for any type of
43516 abstraction (LVM, EVMS, RAID..).
43517 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
43518 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
43519 device is found first, find_root_device() will now skip it.
43520
01453bfc 435212008-07-24 Pavel Roskin <proski@gnu.org>
43522
43523 * include/grub/types.h: Use __builtin_bswap32() and
43524 __builtin_bswap64() with gcc 4.3 and newer.
43525
6af9849f 435262008-07-24 Christian Franke <franke@computer.org>
43527
3a0fa256 43528 * util/i386/pc/grub-install.in: If `--debug' is specified,
43529 pass `--verbose' to grub-setup.
43530 Abort script if make_system_path_relative_to_its_root() fails.
43531
7810e747 435322008-07-24 Bean <bean123ch@gmail.com>
43533
43534 * configure.ac: Fixed a bug caused by the previous cygwin patch,
43535 variable `target_platform' should be `platform'.
43536
42290e17 435372008-07-24 Bean <bean123ch@gmail.com>
43538
51cc5193 43539 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 43540 (grub_png_init_fixed_block): New function.
43541 (grub_png_decode_image_data): Handle fixed huffman code compression.
43542
2a8a80e4 435432008-07-24 Bean <bean123ch@gmail.com>
43544
43545 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
43546 (grub_pe2elf_SOURCES): New macro.
43547 (CLEANFILES): Add grub-pe2elf.
43548
43549 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
43550 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
43551 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
43552 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
43553 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
43554 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
43555 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
43556 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
43557 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
43558 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
43559 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
43560 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
43561 (GRUB_PE32_DT_FUNCTION): Likewise.
43562 (GRUB_PE32_REL_I386_DIR32): Likewise.
43563 (GRUB_PE32_REL_I386_REL32): Likewise.
43564 (grub_pe32_symbol): New structure.
43565 (grub_pe32_reloc): Likewise.
43566
43567 * util/grub-pe2elf.c: New file.
43568
43569 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
43570 start symbol in non pc platform.
43571
43572 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
43573
43574 The following patches are from Christian Franke.
43575
43576 * include/grub/dl.h: Remove .previous, gas supports this only
43577 for ELF format.
43578
43579 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
43580 Remove .type, gas supports this only for ELF format.
43581
43582 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
43583 nullbytes in symbol table. This fixes an infinite loop if table is
43584 zero filled.
43585
43586 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
43587 TARGET_IMG_LDFLAGS and EXEEXT.
43588
43589 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
43590 TARGET_IMG_LDFLAGS_AC.
43591 (grub_CHECK_STACK_ARG_PROBE): New function.
43592
43593 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
43594
43595 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
43596
43597 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
43598 to set TARGET_IMG_LD* accordingly.
43599 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
43600 Add call to grub_CHECK_STACK_ARG_PROBE.
43601 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
43602
43603 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
43604
43605 * genmk.rb: Add EXEEXT to CLEANFILES.
43606
12ccdb75 436072008-07-23 Robert Millan <rmh@aybabtu.com>
43608
43609 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
43610 define the codes for arrows and lines used for the menu).
43611 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
43612 as well.
43613
43614 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
43615 fonts, because the latter are too slow.
43616
18eeaf04 436172008-07-21 Bean <bean123ch@gmail.com>
43618
43619 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
43620 a20. Run keyboard test last, as it will cause macbook to halt.
43621
b095e2ad 436222008-07-18 Pavel Roskin <proski@gnu.org>
43623
43624 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
43625 load foreign architecture modules correctly anyway. Keep
43626 support for loading host architecture modules, whether we
43627 compile them or not.
43628
737feb35 436292008-07-17 Pavel Roskin <proski@gnu.org>
43630
3f4ce737 43631 * configure.ac: Use -m32 or -m64 regardless of whether we had to
43632 change target_cpu. The compiler default can mismatch target_cpu
43633 in any case.
43634
4ad2d049 43635 * disk/efi/efidisk.c: Fix format warnings on x86_64.
43636 * kern/efi/efi.c: Likewise.
43637
f6130a12 43638 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
43639 target compiler is functional.
43640 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
43641 are set up.
43642
58393a2d 43643 * configure.ac: Default to efi platform for x86_64-apple. Allow
43644 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
43645 adjustments from the rest, only do them if target is not
43646 explicitly given. Merge other adjustments with the final sanity
43647 check. Remove an extraneous check for supported CPU. Be
43648 specific which CPU and which platform is not supported.
43649
737feb35 43650 * configure.ac: Default to pc platform for x86_64.
43651
546f966a 436522008-07-17 Robert Millan <rmh@aybabtu.com>
43653
43654 Partial LinuxBIOS -> Coreboot rename.
43655
43656 * conf/i386-linuxbios.rmk: Renamed to ...
43657 * conf/i386-coreboot.rmk: ... this.
43658 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
43659 * configure.ac: Accept "coreboot" as input platform (but maintain
43660 compatibility with "linuxbios").
43661 * include/grub/i386/linuxbios: Renamed to ...
43662 * include/grub/i386/coreboot: ... this.
43663
20011694 436642008-07-17 Bean <bean123ch@gmail.com>
43665
43666 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 43667 (appleldr_mod_SOURCE): New variable.
20011694 43668 (appleldr_mod_CFLAGS): Likewise.
43669 (appleldr_mod_LDFLAGS): Likewise.
43670 (pci_mod_SOURCES): Likewise.
43671 (pci_mod_CFLAGS): Likewise.
43672 (pci_mod_LDFLAGS): Likewise.
43673 (lspci_mod_SOURCES): Likewise.
43674 (lspci_mod_CFLAGS): Likewise.
43675 (lspci_mod_LDFLAGS): Likewise.
43676
43677 * conf/x86_64-efi.rmk: New file.
43678
43679 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
43680 macro.
43681 (grub_efidisk_write): Likewise.
43682
43683 * include/efi/api.h (efi_call_0): New macro.
43684 (efi_call_1): Likewise.
43685 (efi_call_2): Likewise.
43686 (efi_call_3): Likewise.
43687 (efi_call_4): Likewise.
43688 (efi_call_5): Likewise.
43689 (efi_call_6): Likewise.
43690
43691 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
43692 grub_rescue_cmd_chainloader.
43693
43694 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
43695 (grub_pe32_optional_header): Change some fields based on i386 or
43696 x86_64 platform.
43697 (GRUB_PE32_PE32_MAGIC): Likewise.
43698
43699 * include/grub/efi/uga_draw.h: New file.
43700
43701 * include/grub/elf.h (STN_ABS): New constant.
43702 (R_X86_64_NONE): Relocation constant for x86_64.
43703 (R_X86_64_64): Likewise.
43704 (R_X86_64_PC32): Likewise.
43705 (R_X86_64_GOT32): Likewise.
43706 (R_X86_64_PLT32): Likewise.
43707 (R_X86_64_COPY): Likewise.
43708 (R_X86_64_GLOB_DAT): Likewise.
43709 (R_X86_64_JUMP_SLOT): Likewise.
43710 (R_X86_64_RELATIVE): Likewise.
43711 (R_X86_64_GOTPCREL): Likewise.
43712 (R_X86_64_32): Likewise.
43713 (R_X86_64_32S): Likewise.
43714 (R_X86_64_16): Likewise.
43715 (R_X86_64_PC16): Likewise.
43716 (R_X86_64_8): Likewise.
43717 (R_X86_64_PC8): Likewise.
43718
43719 * include/grub/i386/efi/pci.h: New file.
43720
43721 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
43722 Change it value based on platform.
43723 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
43724 (GRUB_E820_RAM): Likewise.
43725 (GRUB_E820_RESERVED): Likewise.
43726 (GRUB_E820_ACPI): Likewise.
43727 (GRUB_E820_NVS): Likewise.
43728 (GRUB_E820_EXEC_CODE): Likewise.
43729 (GRUB_E820_MAX_ENTRY): Likewise.
43730 (grub_e820_mmap): New structure.
43731 (linux_kernel_header): Change the efi field according to different
43732 kernel version, also field from linux_kernel_header.
43733
43734 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
43735
43736 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
43737 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
43738 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
43739 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
43740 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
43741 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
43742 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
43743 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
43744 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
43745 (GRUB_PCI_ADDR_IO_MASK): Likewise.
43746
43747 * include/grub/x86_64/efi/kernel.h: New file.
43748
43749 * include/grub/x86_64/efi/loader.h: Likewise.
43750
43751 * include/grub/x86_64/efi/machine.h: Likewise.
43752
43753 * include/grub/x86_64/efi/pci.h: Likewise.
43754
43755 * include/grub/x86_64/efi/time.h: Likewise.
43756
43757 * include/grub/x86_64/linux.h: Likewise.
43758
43759 * include/grub/x86_64/setjmp.h: Likewise.
43760
43761 * include/grub/x86_64/time.h: Likewise.
43762
43763 * include/grub/x86_64/types.h: Likewise.
43764
43765 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
43766 GRUB_TARGET_SIZEOF_VOID_P.
43767
43768 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
43769 (grub_efi_locate_handle): Likewise.
43770 (grub_efi_open_protocol): Likewise.
43771 (grub_efi_set_text_mode): Likewise.
43772 (grub_efi_stall): Likewise.
43773 (grub_exit): Likewise.
43774 (grub_reboot): Likewise.
43775 (grub_halt): Likewise.
43776 (grub_efi_exit_boot_services): Likewise.
43777 (grub_get_rtc): Likewise.
43778
43779 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
43780 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
43781 (grub_efi_allocate_pages): Wrap efi calls.
43782 (grub_efi_free_pages): Wrap efi calls.
43783 (grub_efi_get_memory_map): Wrap efi calls.
43784
43785 * kern/x86_64/dl.c: New file.
43786
43787 * kern/x86_64/efi/callwrap.S: Likewise.
43788
43789 * kern/x86_64/efi/startup.S: Likewise.
43790
43791 * loader/efi/appleloader.c: Likewise.
43792
43793 * loader/efi/chainloader.c (cmdline): New variable.
43794 (grub_chainloader_unload): Wrap efi calls.
43795 (grub_chainloader_boot): Likewise.
43796 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
43797 command line.
43798
43799 * loader/efi/chainloader_normal.c (chainloader_command):
43800 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
43801 command line.
43802
43803 * loader/i386/efi/linux.c (allocate_pages): Change allocation
43804 method.
43805 (grub_e820_add_region): New function.
43806 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
43807 booting.
43808 (grub_find_video_card): New function.
43809 (grub_linux_setup_video): New function.
43810 (grub_rescue_cmd_linux): Probe for video information.
43811
43812 * normal/x86_64/setjmp.S: New file.
43813
43814 * term/efi/console.c (map_char): New function.
43815 (grub_console_putchar): Map unicode char.
43816 (grub_console_checkkey): Wrap efi calls.
43817 (grub_console_getkey): Likewise.
43818 (grub_console_getwh): Likewise.
43819 (grub_console_gotoxy): Likewise.
43820 (grub_console_cls): Likewise.
43821 (grub_console_setcolorstate): Likewise.
43822 (grub_console_setcursor): Likewise.
43823
43824 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
43825
59652a20 438262008-07-16 Pavel Roskin <proski@gnu.org>
43827
ef294055 43828 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
43829 format strings.
43830
59652a20 43831 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
43832 pointer, not an integer. This fixes a warning and prevents
43833 precision loss on 64-bit systems.
43834 (relocate_addresses): Remove unneeded cast.
43835
afc3b5d7 438362008-07-15 Pavel Roskin <proski@gnu.org>
43837
506b2b3e 43838 * kern/i386/ieee1275/init.c: Include grub/cache.h.
43839
62ead89c 43840 * term/ieee1275/ofconsole.c: Disable code unused on i386.
43841
c4cd51d7 43842 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
43843 Fix comparison between signed and unsigned.
43844
0d3d8f28 43845 * include/grub/i386/ieee1275/console.h: Declare
43846 grub_console_init() and grub_console_fini().
43847
8804b286 43848 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
43849 It's empty and unused.
43850
ee01cf35 43851 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
43852 beginning to avoid warnings with some compilers.
43853
afc3b5d7 43854 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
43855 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
43856
e4e8eaa5 438572008-07-14 Pavel Roskin <proski@gnu.org>
43858
407aceb4 43859 * kern/env.c (grub_register_variable_hook): Don't copy empty
43860 string, it leaks memory. Pass "" to grub_env_set(), it should
43861 handle constant strings.
43862
e4e8eaa5 43863 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
43864 * commands/cmp.c (grub_cmd_cmp): Likewise.
43865 * kern/dl.c (grub_dl_flush_cache): Likewise.
43866 (grub_dl_load_core): Likewise.
43867 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
43868 (grub_elf64_load_phdrs): Likewise.
43869
d4e2dad3 438702008-07-13 Pavel Roskin <proski@gnu.org>
43871
43872 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
43873 between signed and unsigned.
43874 (LzmaEnc_Finish): Fix warning about an unused parameter.
43875
aa24b516 438762008-07-13 Bean <bean123ch@gmail.com>
43877
43878 * Makefile.in (enable_lzo): New rule.
43879
43880 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
43881
43882 * configure.ac (ENABLE_LZO): New option --enable-lzo.
43883
43884 * boot/i386/pc/lnxboot.S: #include <config.h>.
43885
43886 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 43887 its value according to the compression algorithm used, lzo or lzma.
aa24b516 43888
43889 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
43890 compression algorithm according to configure macro.
43891
43892 * kern/i386/pc/startup.S (codestart): Likewise.
43893
43894 * kern/i386/pc/lzma_decode.S: New file.
43895
43896 * include/grub/lib/LzFind.h: Likewise.
43897
43898 * include/grub/lib/LzHash.h: Likewise.
43899
43900 * include/grub/lib/LzmaDec.h: Likewise.
43901
43902 * include/grub/lib/LzmaEnc.h: Likewise.
43903
43904 * include/grub/lib/LzmaTypes.h: Likewise.
43905
43906 * lib/LzFind.c: Likewise.
43907
43908 * lib/LzmaDec.c: Likewise.
43909
43910 * lib/LzmaEnc.c: Likewise.
43911
4ae821ac 439122008-07-13 Bean <bean123ch@gmail.com>
43913
43914 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
43915 (grub_ext4_extent_header): New structure.
43916 (grub_ext4_extent): Likewise.
43917 (grub_ext4_extent_idx): Likewise.
43918 (grub_ext4_find_leaf): New function.
43919 (grub_ext2_read_block): Handle extents.
43920
9a745147 439212008-07-12 Robert Millan <rmh@aybabtu.com>
43922
43923 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
43924
d49a4cf6 439252008-07-11 Robert Millan <rmh@aybabtu.com>
43926
43927 * util/grub.d/40_custom.in: New file. Example on how to add custom
43928 entries to /etc/grub.d.
43929 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
43930 40_custom (implicitly, by merging all the grub.d rules).
43931
947414b4 439322008-07-11 Pavel Roskin <proski@gnu.org>
43933
0059cf6f 43934 * commands/read.c (grub_getline): Fix invalid memory access.
43935 Don't add newline to the variable value.
43936
947414b4 43937 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
43938 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
43939 (serial_hw_get_port): Check validity of the port number.
43940 (grub_cmd_serial): Check return value of serial_hw_get_port().
43941
62a02d00 439422008-07-07 Pavel Roskin <proski@gnu.org>
43943
43944 * boot/i386/pc/diskboot.S (notification_string): Replace
43945 "Loading kernel" with just "loading". This is shorter, less
43946 confusing and saves a few bytes for possible future changes.
43947
3e5581b0 439482008-07-05 Pavel Roskin <proski@gnu.org>
43949
ea387a48 43950 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
43951 size for ATAPI devices, they are undefined. Output sector
43952 number in decimal form.
43953
3e5581b0 43954 * disk/ata.c: Use named constants for status bits.
43955
fdecb8fd 439562008-07-04 Pavel Roskin <proski@gnu.org>
43957
bcd35b90 43958 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
43959 grub_addr_t before casting it to the void pointer to fix a
43960 warning. Non-addressable regions are discarded earlier.
43961 (grub_arch_modules_addr): Cast _end to grub_addr_t.
43962 * kern/i386/linuxbios/table.c: Include grub/misc.h.
43963 (check_signature): Don't shadow table_header.
43964 (grub_linuxbios_table_iterate): Cast numeric constants to
43965 grub_linuxbios_table_header_t.
43966 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
43967 grub_stop().
43968
af58ab3d 43969 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
43970 prevent warnings.
43971
1759aa57 43972 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
43973 pointer, which can cause warnings. Support 64-bit addresses.
43974
fdecb8fd 43975 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
43976 of sizeof(long). This fixes PowerPC image generation on x86_64.
43977
8516d2a8 439782008-07-04 Robert Millan <rmh@aybabtu.com>
43979
43980 This fixes a performance issue when pc & gpt partmap iterators
43981 didn't abort iteration even after our hook found what it was
fe987087 43982 looking for (often causing expensive probes of non-existent drives).
8516d2a8 43983
43984 Some callers relied on previous buggy behaviour, since they would
34c44600 43985 raise an error when their own hooks caused early abortion of its
8516d2a8 43986 iteration.
43987
43988 * kern/device.c (grub_device_open): Improve error message.
43989 * disk/lvm.c (grub_lvm_open): Likewise.
43990 * disk/raid.c (grub_raid_open): Likewise.
43991
43992 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
43993 when hook requests it, independently of grub_errno.
43994 (pc_partition_map_probe): Do not fail when find_func() caused
43995 early abortion of pc_partition_map_iterate().
43996
43997 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
43998 when hook requests it, independently of grub_errno.
43999 (gpt_partition_map_probe): Do not fail when find_func() caused
44000 early abortion of gpt_partition_map_iterate().
44001
44002 * kern/partition.c (grub_partition_iterate): Abort parent iteration
44003 when hook requests it, independently of grub_errno. Do not fail when
44004 part_map_iterate_hook() caused early abortion of p->iterate().
44005
44006 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
44007 when grub_partition_iterate() returned with non-zero.
44008
277d0de9 440092008-07-03 Pavel Roskin <proski@gnu.org>
44010
44011 * disk/ata.c (grub_ata_pio_write): Check status before writing,
44012 like we do in grub_ata_pio_read().
44013 (grub_ata_readwrite): Always write individual sectors. Fix the
44014 sector count for the remainder.
44015 (grub_ata_write): Enable writing to ATA devices. Correctly
44016 report error for ATAPI devices.
44017
d4c9b428 440182008-07-02 Pavel Roskin <proski@gnu.org>
44019
e43fc690 44020 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
44021 warning.
44022
f707af42 44023 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
44024 for every read sector, we already increment it for the whole
44025 batch. This fixes reading more than 256 sectors at once.
44026
11e16b15 44027 * util/grub-editenv.c (cmd_info): Cast argument to long
44028 explicitly. ptrdiff_t reduces to int on i386.
44029
cbabfdd4 44030 * util/grub-editenv.c (main): Be specific which parameter is
44031 missing.
44032
b8fbce0a 44033 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
44034 (memdisk): Make memdisk_orig_addr a pointer.
44035
c9c8e606 44036 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
44037 for file offsets, use grub_off_t instead. Fix printf format
44038 warnings.
44039
ca62e598 44040 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
44041 there. Real unexpected warnings should not drown in the noise
44042 about known problems.
44043
ce8d1766 44044 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
44045 grub_disk_addr_t for memory addresses.
44046
00c7a56a 44047 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
44048 explicitly to fix a warning.
44049
08d3ef09 44050 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
44051
cb71ba20 44052 * Makefile.in (MODULE_LDFLAGS): New variable.
44053 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
44054 the linker accepts --build-id=none.
44055 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
44056 MODULE_LDFLAGS.
44057 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
44058
d4c9b428 44059 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
44060 those in Linux XFS code. Provide a way to access 64-bit parent
44061 inode.
44062 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
44063 the end of struct grub_xfs_dir_header.
44064
d4156eee 440652008-07-02 Bean <bean123ch@gmail.com>
44066
44067 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
44068 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44069 and GRUB_IEEE1275_FLAG_NO_ANSI.
44070
44071 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
44072 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44073 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
44074
44075 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
44076 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
44077
44078 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
44079 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
44080
44081 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
44082 esc sequence on non ANSI terminal.
44083 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
44084
44085 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
44086 beginning of file.
44087
2270f77b 440882008-07-02 Bean <bean123ch@gmail.com>
44089
44090 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
44091 (grub_editenv_SOURCES): New variable.
44092 (pkglib_MODULES): Add loadenv.mod.
44093 (loadenv_mod_SOURCES): New variable.
44094 (loadenv_mod_CFLAGS): Likewise.
44095 (loadenv_mod_LDFLAGS): Likewise.
44096
44097 * include/grub/envblk.h: New file.
44098
44099 * util/envblk.c: New file.
44100
44101 * util/grub-editenv.c: New file.
44102
44103 * commands/loadenv.c: New file.
44104
0e9e51ec 441052008-07-01 Pavel Roskin <proski@gnu.org>
44106
d89b7634 44107 * include/multiboot2.h (struct multiboot_tag_module): Use char,
44108 not unsigned char. This fixes warnings and is consistent with
44109 other tags.
44110
bf1835b1 44111 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
44112
8222a04b 44113 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
44114
6a42d99d 44115 * term/tparm.c (analyze): Always set *popcount.
44116
10b159d1 44117 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
44118 cast to fix a warning.
44119
b8789f6c 44120 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
44121 cast to suppress a warning.
44122
29d7e38a 44123 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
44124 grub_fshelp_read_file() expects.
44125
f341f669 44126 * fs/fat.c: Fix UUID calculation on big-endian systems. We
44127 write uuid as a 32-bit value in CPU byte order, so declare and
44128 use it as such.
44129
0e9e51ec 44130 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
44131 long if the format specifier expects it.
44132 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
44133 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44134 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
44135 long to fix a warning.
44136 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
44137 grub_dprintf() arguments to fix warnings.
44138
3aefa857 441392008-06-30 Pavel Roskin <proski@gnu.org>
44140
56c7668b 44141 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
44142 install_bsd_part immediately before core.img is embedded or
44143 modified on disk. This fixes core.img verification if core.img
44144 cannot be embedded.
44145
3aefa857 44146 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
44147 core_path to calculate the blocklist.
44148 Patch from Javier Martín <lordhabbit@gmail.com>
44149
5444088d 441502008-06-29 Robert Millan <rmh@aybabtu.com>
44151
44152 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
44153 block to disk block.
44154 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
44155 Patch from Niels Böhm <bitbucket@arcor.de>
44156
674835c8 441572008-06-29 Robert Millan <rmh@aybabtu.com>
44158
44159 * util/update-grub_lib.in (font_path): Search for fonts in
44160 /boot/grub first, which is more likely to be readable (we aren't
44161 deciding where fonts live, just looking for them).
44162
f527dbc8 441632008-06-26 Pavel Roskin <proski@gnu.org>
44164
6c2d8df6 44165 * util/biosdisk.c (read_device_map): Don't leave dead map
44166 entries for devices failing stat() check.
44167
f527dbc8 44168 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
44169 core_path_dev for the core.img path on the target device.
44170
aebe3d13 441712008-06-26 Robert Millan <rmh@aybabtu.com>
44172
44173 * disk/fs_uuid.c: New file.
44174 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
44175 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
44176 (fs_uuid_mod_LDFLAGS): New variables.
44177 * include/grub/disk.h (grub_disk_dev_id): Add
44178 `GRUB_DISK_DEVICE_UUID_ID'.
44179 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
44180 implement iterate().
44181
37aaf354 441822008-06-26 Robert Millan <rmh@aybabtu.com>
44183
44184 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
44185 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
44186 Linux image includes no initrd.
44187
25ff262a 441882008-06-21 Javier Martín <lordhabbit@gmail.com>
44189
44190 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
44191 call to resolve the core image location that effectively appended the
44192 name twice.
44193
76a2bd44 441942008-06-21 Robert Millan <rmh@aybabtu.com>
44195
44196 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
44197 call from here ...
44198
44199 * util/grub.d/10_hurd.in: ... to here ...
44200 * util/grub.d/10_linux.in: ... and here.
44201
650e1c79 442022008-06-19 Robert Millan <rmh@aybabtu.com>
44203
fe987087 44204 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 44205 after it has been set by grub_machine_set_prefix().
44206
6ce63911 442072008-06-19 Robert Millan <rmh@aybabtu.com>
44208
44209 * commands/search.c (search_label, search_fs_uuid, search_file): Print
44210 search result when not saving to variable, not the other way around.
44211 When saving to variable, abort iteration as soon as a match is found.
44212
73940cec 442132008-06-19 Robert Millan <rmh@aybabtu.com>
44214
44215 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
44216 check for partition that provides /boot/grub. Its logic is flawed,
44217 as it prevents prepare_grub_to_access_device() from being called
44218 multiple times.
44219
3c62a39d 442202008-06-19 Robert Millan <rmh@aybabtu.com>
44221
44222 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
44223 "insmod" command directly when abstraction modules are needed,
fe987087 44224 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 44225 since it had already been processed).
44226
47395a42 442272008-06-19 Pavel Roskin <proski@gnu.org>
44228
44229 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
44230 changed. This is needed in case GRUB_LIBDIR changes.
44231 * conf/i386-ieee1275.rmk: Likewise.
44232 * conf/i386-linuxbios.rmk: Likewise.
44233 * conf/i386-pc.rmk: Likewise.
44234 * conf/powerpc-ieee1275.rmk: Likewise.
44235
a145ac2d 442362008-06-18 Pavel Roskin <proski@gnu.org>
44237
44238 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
44239 kernel_elf_symlist.c to symlist.c for consistency with other
44240 architectures. Update all users.
44241 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
44242
7847c51e 442432008-06-18 Robert Millan <rmh@aybabtu.com>
44244
44245 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
44246 it in prefix.
44247
44248 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
44249 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
44250 a RAID device, run setup() for all members independently on whether
44251 LVM abstraction is being used.
44252 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
44253 If grub-mkimage has set `*install_dos_part == -2', don't override this
44254 value.
44255 Perform *install_dos_part adjustments independently on whether
44256 we're embedding or not.
44257 Clarify error message when image is too big for embedding.
44258 Remove duplicate *install_dos_part stanza.
44259
b23e5644 442602008-06-17 Robert Millan <rmh@aybabtu.com>
44261
44262 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
44263 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
44264 variables.
44265 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
44266 values in grub_ofconsole_normal_color and
44267 grub_ofconsole_highlight_color (they're not directly related to
44268 background and foreground).
44269 (grub_ofconsole_setcolorstate): Extract background and foreground
44270 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
44271
0aac2f79 442722008-06-17 Robert Millan <rmh@aybabtu.com>
44273
44274 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
44275 /boot/grub for the check in last commit, not /boot (they could be
44276 different partitions).
44277
3cca7ef3 442782008-06-16 Robert Millan <rmh@aybabtu.com>
44279
44280 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
44281 asked to setup access for the same partition that provides /boot,
44282 don't bother using UUIDs since our root already has the value we
44283 want.
44284
347396d8 442852008-06-16 Robert Millan <rmh@aybabtu.com>
44286
44287 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
44288 I2O devices.
44289 Patch from Sven Mueller <sven@debian.org>.
44290
991477f8 442912008-06-16 Robert Millan <rmh@aybabtu.com>
44292
44293 * util/update-grub.in: Check for $EUID instead of $UID.
44294 Reported by Vincent Zweije.
44295
d31a32a1 442962008-06-16 Bean <bean123ch@gmail.com>
44297
fe987087 44298 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 44299 (grub_ext2_read_block): Likewise.
44300 (grub_ext2_read_inode): Likewise.
44301 (grub_ext2_mount): Likewise.
44302 (grub_ext2_close): Likewise.
44303 (grub_ext3_get_journal): Removed.
44304
fe987087 44305 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 44306 (grub_reiserfs_read_symlink): Likewise.
44307 (grub_reiserfs_mount): Likewise.
44308 (grub_reiserfs_open): Likewise.
44309 (grub_reiserfs_read): Likewise.
44310 (grub_reiserfs_close): Likewise.
44311 (grub_reiserfs_get_journal): Removed.
44312
44313 * fs/fshelp.c (grub_fshelp_read): Removed.
44314 (grub_fshelp_map_block): Likewise.
44315
44316 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
44317 (grub_fshelp_journal): Likewise.
44318 (grub_fshelp_read): Likewise.
44319 (grub_fshelp_map_block): Likewise.
44320
3540a760 443212008-06-16 Pavel Roskin <proski@gnu.org>
44322
44323 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
44324 floating point anymore.
44325 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
44326
95614c84 443272008-06-15 Pavel Roskin <proski@gnu.org>
44328
44329 * commands/ls.c (grub_ls_list_files): Use integer calculations
44330 for human readable format, avoid floating point use.
44331 * kern/misc.c (grub_ftoa): Remove.
44332 (grub_vsprintf): Remove floating point support.
44333
50465dd6 443342008-06-15 Robert Millan <rmh@aybabtu.com>
44335
fe6b695a 44336 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 44337 devices.
44338 Reported by Max Vozeler.
44339
a9207284 443402008-06-15 Robert Millan <rmh@aybabtu.com>
44341
44342 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
44343 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
44344 skipped later.
44345 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
44346 the beginning of the prefix.
44347
44348 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
44349 It is assumed that if we have a memdisk, grub-mkimage has set
44350 grub_prefix to include the "(memdisk)" drive in it.
44351
a7cbd45a 443522008-06-15 Robert Millan <rmh@aybabtu.com>
44353
44354 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
44355 Initialize keyboard controller after registering the terminal, so that
44356 grub_printf() can be called from grub_keyboard_controller_init().
44357
21cf716a 443582008-06-15 Robert Millan <rmh@aybabtu.com>
44359
44360 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
44361 extent-btree which is written as big endian on disk.
44362 Reported by Alain Greppin <al@chilibi.org>.
44363
23a64d8e 443642008-06-14 Robert Millan <rmh@aybabtu.com>
44365
44366 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
44367 * util/i386/pc/grub-install.in (modules): Likewise.
44368
d687651c 443692008-06-13 Pavel Roskin <proski@gnu.org>
44370
44371 * commands/ls.c (grub_ls_list_files): Fix format warnings.
44372
dfe9ddd4 443732008-06-13 Bean <bean123ch@gmail.com>
44374
44375 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
44376
44377 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
44378
44379 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
44380 to indicate sparse block.
44381
16ae7781 443822008-06-12 Pavel Roskin <proski@gnu.org>
44383
e6d1a308 44384 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
44385 number, grub_fshelp_read() does it for us.
44386
16ae7781 44387 * fs/fshelp.c (grub_fshelp_read): New function. Implement
44388 linear disk read with journal translation.
44389 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
44390 * include/grub/fshelp.h: Declare grub_fshelp_read().
44391
40fd3a2b 443922008-06-09 Pavel Roskin <proski@gnu.org>
44393
44394 * fs/minix.c (grub_minix_mount): Handle error reading
44395 superblock.
44396
f5679726 443972008-06-08 Robert Millan <rmh@aybabtu.com>
44398
44399 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
44400 don't append the RAID prefix afterwards.
44401 Reported by Clint Adams.
44402
ce525529 444032008-06-08 Robert Millan <rmh@aybabtu.com>
44404
44405 Based on description from Pavel:
44406 * kern/disk.c (grub_disk_check_range): Rename to ...
44407 (grub_disk_adjust_range): ... this. Add a comment explaining the
44408 tasks performed by this function.
44409
ad4936a0 444102008-06-08 Robert Millan <rmh@aybabtu.com>
44411
44412 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
44413 `num_serial' (for consistency with other variables).
44414 (struct grub_ntfs_data): Add `uuid' member.
44415 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
44416 (grub_ntfs_uuid): New function.
44417 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
44418
dc20b0f9 444192008-06-07 Pavel Roskin <proski@gnu.org>
44420
44421 * util/biosdisk.c (open_device): Revert last change to the
44422 function, it broke installation. The sector needs to be
44423 different dependent on which device is opened.
44424
c5e3cfba 444252008-06-06 Robert Millan <rmh@aybabtu.com>
44426
44427 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
44428 rest of GRUB, and breakage doesn't happen if its value were modified.
44429
44430 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44431 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
44432 a constant (same value).
44433 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
44434 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
44435
26a1f8c4 444362008-06-06 Robert Millan <rmh@aybabtu.com>
44437
44438 * util/biosdisk.c (open_device): Do not modify sector offset when
44439 accessing a partition. kern/disk.c already handles this for us.
44440
25d6b327 444412008-06-06 Robert Millan <rmh@aybabtu.com>
44442
44443 * util/grub-emu.c (grub_machine_init): Move code in this function from
44444 here ...
44445 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
44446 segfault in case grub_printf() is called).
44447
44448 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
44449 grub_probe. Update all users not to explicitly add it again.
44450 (grub_device): New variable; contains corresponding device for grubdir.
44451 (fs_module, partmap_module, devabstraction_module): Pass
44452 `--device ${grub_device}' to grub_probe to avoid traversing /dev
44453 every time.
44454
9ece62fb 444552008-06-05 Robert Millan <rmh@aybabtu.com>
44456
44457 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
44458 is found, print it (same layout as with labels).
44459
1ad36d37 444602008-06-04 Robert Millan <rmh@aybabtu.com>
44461
44462 * util/biosdisk.c (get_drive): Rename to ...
44463 (find_grub_drive): ... this. Update all users.
44464
44465 (get_os_disk): Rename to ...
44466 (convert_system_partition_to_system_disk): ... this. Update all users.
44467
44468 (find_drive): Rename to ...
44469 (find_system_device): ... this. Update all users.
44470
e6a30859 444712008-06-04 Robert Millan <rmh@aybabtu.com>
44472
44473 * util/biosdisk.c (get_os_disk): Handle IDA devices.
44474 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44475 (make_device_map): Likewise.
44476
00c108a4 444772008-06-01 Robert Millan <rmh@aybabtu.com>
44478
44479 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
44480 before dereferencing it.
44481
44482 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
44483 union with fat12/fat16-specific ones. Add some new fields, including
44484 `num_serial' for both versions.
44485 (struct grub_fat_data): Add `uuid' member.
44486 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
44487 names. Initialize `data->uuid' using `num_serial'.
44488 (grub_fat_uuid): New function.
44489 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
44490
44491 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
44492 (grub_reiserfs_uuid): New function.
44493 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
44494 member.
44495
44496 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
44497 (grub_xfs_uuid): New function.
44498 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
44499
1385c5bb 445002008-06-01 Robert Millan <rmh@aybabtu.com>
44501
44502 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
44503 code that is backward compatible with pre-uuid search command.
44504
c682dfd7 445052008-05-31 Robert Millan <rmh@aybabtu.com>
44506
44507 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
44508 floppies after everything else, to ensure floppy drive isn't accessed
44509 unnecessarily (patch from Bean).
44510
b7db5d47 445112008-05-31 Robert Millan <rmh@aybabtu.com>
44512
44513 * commands/search.c (search_label, search_fs_uuid, search_file): Do
44514 not print device names when we were asked to set a variable.
44515
6e037aa9 445162008-05-31 Robert Millan <rmh@aybabtu.com>
44517
44518 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
44519 using "cursor-on" and "cursor-off" commands (understood at least by
44520 the Open Firmware flavour on OLPC).
44521
41305bc8 445222008-05-31 Michael Gorven <michael@gorven.za.net>
44523
44524 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
44525 on and off sequences.
44526
69ba137e 445272008-05-31 Robert Millan <rmh@aybabtu.com>
44528
44529 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
44530 * util/update-grub.in: Likewise.
44531
520ae21b 445322008-05-30 Pavel Roskin <proski@gnu.org>
44533
44534 * util/biosdisk.c (linux_find_partition): Simplify logic and
44535 make the code more universal. Keep special processing for
44536 devfs, but use a simple rule for all other devices. If the
44537 device ends with a number, append 'p' and the partition number.
44538 Otherwise, append only the partition number.
44539
5786569b 445402008-05-30 Robert Millan <rmh@aybabtu.com>
44541
44542 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
44543 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
44544 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
44545 the `root' parameter to Linux.
44546
51500452 445472008-05-30 Robert Millan <rmh@aybabtu.com>
44548
44549 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
44550 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
44551 --fs_uuid with --fs-uuid.
44552 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
44553 all filesystems support them).
44554
811d3878 445552008-05-30 Robert Millan <rmh@aybabtu.com>
44556
44557 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 44558 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 44559
cab63c95 445602008-05-30 Robert Millan <rmh@aybabtu.com>
44561
44562 * util/grub.d/00_header.in: Remove obsolete comment referencing
44563 convert_system_path_to_grub_path().
44564 * util/update-grub.in: Likewise.
44565 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
44566 (convert_system_path_to_grub_path): Add a warning message explaining
44567 that this function is deprecated. Rely on is_path_readable_by_grub()
44568 for the readability checks.
44569 (font_path): Use is_path_readable_by_grub() for the readability
44570 check rather than convert_system_path_to_grub_path().
44571
972e2f7a 445722008-05-30 Robert Millan <rmh@aybabtu.com>
44573
44574 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
44575 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
44576 converting it first.
44577 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
44578 grub.cfg for access to font file, and afterwards call it again to set
44579 the root device.
44580
62191274 445812008-05-30 Robert Millan <rmh@aybabtu.com>
44582
44583 * commands/search.c (options): Add --fs_uuid option.
44584 (search_fs_uuid): New function.
44585 (grub_cmd_search): Fix --set argument passing.
44586 Use search_fs_uuid() when requested via --fs_uuid.
44587 (grub_search_init): Update help message.
44588 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
44589 and redeclare it as an array of 16-bit words.
44590 (grub_ext2_uuid): New function.
44591 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
44592 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
44593 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
44594 (GRUB_DEVICE_BOOT_UUID): New variables.
44595 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
44596 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
44597 whenever possible.
44598 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
44599 just assume `root' variable has the right value.
44600 * util/grub.d/10_linux.in: Likewise.
44601 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
44602 via PRINT_FS_UUID.
44603 (main): Recognise `-t fs_uuid' argument.
44604
01b73ec8 446052008-05-30 Robert Millan <rmh@aybabtu.com>
44606
44607 * util/biosdisk.c (map): Redefine structure to hold information
44608 about GRUB drive name.
fe6b695a 44609 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 44610 drive names.
44611 (call_hook): Remove.
44612 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
44613 member. Assume drive has partitions.
44614 (grub_util_biosdisk_open): Access device names via `.device' struct
44615 member.
44616 (open_device): Likewise.
44617 (find_drive): Likewise.
44618 (read_device_map): Adjust map[] usage to match the new struct
44619 definition. Don't check for duplicates (still possible, but not cheap
44620 anymore).
44621 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
44622 (make_device_name): Remove assumption of BIOS-like drive names.
44623
22f16596 446242008-05-30 Pavel Roskin <proski@gnu.org>
44625
44626 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
44627 compiling execute.c doesn't need grub_script.tab.h anymore.
44628 (normal/command.c_DEPENDENCIES): Likewise.
44629 (normal/function.c_DEPENDENCIES): Likewise.
44630 * conf/i386-ieee1275.rmk: Likewise.
44631 * conf/i386-linuxbios.rmk: Likewise.
44632 * conf/i386-pc.rmk: Likewise.
44633 * conf/powerpc-ieee1275.rmk: Likewise.
44634 * conf/sparc64-ieee1275.rmk: Likewise.
44635
528ad8f2 446362008-05-29 Pavel Roskin <proski@gnu.org>
44637
d1dff95d 44638 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
44639 when scanning metadata for volume group name.
44640
528ad8f2 44641 * include/grub/script.h: Don't include grub_script.tab.h. It's
44642 a generated file, which may only be included from the files with
44643 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
44644 use union YYSTYPE, as the later allows forward declaration.
44645 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
44646
47248e08 446472008-05-29 Robert Millan <rmh@aybabtu.com>
44648
44649 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
44650 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
44651 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
44652 (grub_console_checkkey): Add grub_dprintf() call to report unknown
44653 scan codes.
44654
ee632529 446552008-05-29 Robert Millan <rmh@aybabtu.com>
44656
44657 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
44658 control key combinations.
44659
eee96e08 446602008-05-29 Robert Millan <rmh@aybabtu.com>
44661
44662 * util/powerpc/ieee1275/grub-install.in: Move from here ...
44663 * util/ieee1275/grub-install.in: ... to here.
44664 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
44665 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
44666 (grub_install_SOURCES): Likewise.
44667
da9a6a94 446682008-05-29 Robert Millan <rmh@aybabtu.com>
44669
44670 * fs/affs.c: Update copyright year.
44671 * fs/ext2.c: Likewise.
44672 * fs/fshelp.c: Likewise.
44673 * fs/hfsplus.c: Likewise.
44674 * fs/ntfs.c: Likewise.
44675 * fs/xfs.c: Likewise.
44676 * include/grub/fshelp.h: Likewise.
44677 * util/grub-mkdevicemap.c: Likewise.
44678
12e65f3a 446792008-05-28 Robert Millan <rmh@aybabtu.com>
44680
44681 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
44682 might need to be fatfs to support some firmware implementations
44683 (e.g. OFW or EFI).
44684
23023641 446852008-05-28 Robert Millan <rmh@aybabtu.com>
44686
44687 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
44688 devices.
44689 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44690 (make_device_map): Likewise.
44691
887d2619 446922008-05-20 Bean <bean123ch@gmail.com>
44693
44694 * fs/fshelp.c (grub_fshelp_map_block): New function.
44695 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
44696 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
44697
44698 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
44699 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
44700 (grub_fshelp_journal): New structure.
44701 (grub_fshelp_map_block): New function prototype.
44702 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
44703 (grub_fshelp_map_block): Likewise.
44704
44705 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
44706 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
44707 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
44708 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
44709 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
44710 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
44711 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
44712 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
44713 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
44714 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
44715 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
44716 (grub_ext2_sblock): New members for journal support.
44717 (grub_ext3_journal_header): New structure.
44718 (grub_ext3_journal_revoke_header): Likewise.
44719 (grub_ext3_journal_block_tag): Likewise.
44720 (grub_ext3_journal_sblock): Likewise.
44721 (grub_fshelp_node): New members logfile and journal.
44722 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
44723 grub_fshelp_map_block to get real block number.
44724 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
44725 number.
44726 (grub_ext2_read_inode): Likewise.
44727 (grub_ext3_get_journal): New function.
44728 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
44729 (grub_ext2_close): Release memory used by journal.
44730
44731 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
44732 (REISERFS_MAGIC_DESC_BLOCK): New macro.
44733 (grub_reiserfs_transaction_header): Renamed to
44734 grub_reiserfs_description_block, replace field data with real_blocks.
44735 (grub_reiserfs_commit_block): New structure.
44736 (grub_reiserfs_data): New member journal.
44737 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
44738 number.
44739 (grub_reiserfs_read_symlink): Likewise.
44740 (grub_reiserfs_iterate_dir): Likewise.
44741 (grub_reiserfs_open): Likewise.
44742 (grub_reiserfs_read): Likewise.
44743 (grub_reiserfs_get_journal): New function.
44744 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
44745 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
44746 using grub_reiserfs_get_journal.
44747 (grub_reiserfs_close): Release memory used by journal.
44748
44749 * fs/affs.c (grub_affs_read_block): Change block type to
44750 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
44751
44752 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
44753
44754 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
44755
44756 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
44757
44758 * fs/udf.c (grub_udf_read_block): Change block type to
44759 grub_disk_addr_t. Use type cast to avoid warning.
44760
44761 * fs/xfs.c (grub_xfs_read_block): Likewise.
44762
b7c6bed5 447632008-05-16 Christian Franke <franke@computer.org>
44764
44765 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
44766 to ensure that break with ESC will always work.
44767 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
44768 Remove ESC from keyboard queue.
44769
eedf167f 447702008-05-16 Christian Franke <franke@computer.org>
44771
44772 * util/biosdisk.c: [__CYGWIN__] Add includes.
44773 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
44774 (get_os_disk): Move variable declarations to OS specific
44775 parts to avoid warning.
44776 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
44777 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
44778 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
44779 Cygwin.
44780 * util/getroot.c: [__CYGWIN__] Add includes.
44781 (strip_extra_slashes): Fix "/" case.
44782 [__CYGWIN__] (get_win32_path): New function.
44783 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
44784 [__CYGWIN__] (find_root_device): Disable.
44785 [__CYGWIN__] (get_bootsec_serial): New function.
44786 [__CYGWIN__] (find_cygwin_root_device): Likewise.
44787 [__linux__] (grub_guess_root_device): Add early returns to simplify
44788 structure.
44789 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
44790 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
44791 check for Linux only.
44792
a079699e 447932008-05-15 Bean <bean123ch@gmail.com>
44794
44795 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
44796 keyboard hang problem in apple's intel mac.
44797
1cf4059a 447982008-05-09 Robert Millan <rmh@aybabtu.com>
44799
44800 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
44801 devices.
44802 * util/grub-mkdevicemap.c (get_virtio_disk_name)
44803 (make_device_map): Likewise.
44804 Reported by Aurelien Jarno <aurel32@debian.org>
44805
ed759390 448062008-05-07 Ian Campbell <ijc@hellion.org.uk>
44807
44808 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
44809 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
44810 (make_device_map): Output entries for xvd type disks.
44811
b56c4eaa 448122008-05-07 Robert Millan <rmh@aybabtu.com>
44813
44814 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
44815 devices.
44816 * util/grub-mkdevicemap.c (get_cciss_disk_name)
44817 (make_device_map): Likewise.
44818 Reported by Roland Dreier <rdreier@cisco.com>
44819
7f8866ed 448202008-05-07 Robert Millan <rmh@aybabtu.com>
44821
44822 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
44823 grub_strstr() call. Correct a few mistakes in failure path handling.
44824
b0346e0f 448252008-05-06 Robert Millan <rmh@aybabtu.com>
44826
44827 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
44828 Do not print a trailing slash (therefore, the root directory is an
44829 empty string).
44830 (convert_system_path_to_grub_path): Do not remove trailing slash
44831 from make_system_path_relative_to_its_root() output.
44832
44833 * util/i386/pc/grub-install.in: Add trailing slash to output from
44834 make_system_path_relative_to_its_root().
44835
6cf12cbd 448362008-05-06 Robert Millan <rmh@aybabtu.com>
44837
44838 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
44839 ensures that output lines aren't intermangled with those sent to
44840 stderr (via grub_util_info()).
44841 * util/grub-probe.c (grub_refresh): Likewise.
44842 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
44843
0fbb3117 448442008-05-05 Christian Franke <franke@computer.org>
44845
44846 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
44847 Add Cygwin device names.
44848 (get_ide_disk_name) [__CYGWIN__]: Likewise.
44849 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
44850 (check_device): Return error instead of success on empty name.
44851 (make_device_map): Move label inside linux specific code to
44852 prevent compiler warning.
44853
8124cdb7 448542008-04-30 Robert Millan <rmh@aybabtu.com>
44855
44856 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
44857 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
44858 first boot option.
44859 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
44860
094c01d0 448612008-04-29 Robert Millan <rmh@aybabtu.com>
44862
44863 * docs/grub.cfg: New file (example GRUB configuration).
44864
f4b1fc02 448652008-04-26 Robert Millan <rmh@aybabtu.com>
44866
329ce2a5 44867 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
44868 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
44869 and `disk/ieee1275/nand.c'.
f4b1fc02 44870
25f16ec1 448712008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 44872
25f16ec1 44873 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
44874 i386-linuxbios.
44875
44876 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
44877 change the buffer size to 4096 for cdrom device.
44878
44879 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
44880 and nand.mod.
44881 (_linux_mod_SOURCES): New variable.
44882 (_linux_mod_CFLAGS): Likewise.
44883 (_linux_mod_LDFLAGS): Likewise.
44884 (linux_mod_SOURCES): Likewise.
44885 (linux_mod_CFLAGS): Likewise.
44886 (linux_mod_LDFLAGS): Likewise.
44887 (nand_mod_SOURCES): Likewise.
44888 (nand_mod_CFLAGS): Likewise.
44889 (nand_mod_LDFLAGS): Likewise.
44890
44891 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
44892 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
44893 type property. (nand device in olpc don't have this property)
44894
44895 * include/grub/disk.h (grub_disk_dev_id): New macro
44896 GRUB_DISK_DEVICE_NAND_ID.
44897
44898 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
44899 function prototype.
44900 (grub_rescue_cmd_initrd): Likewise.
44901
44902 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
44903 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
44904 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 44905
25f16ec1 44906 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
44907 GRUB_MACHINE_IEEE1275 is defined.
44908
44909 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
44910 Use NESTED_FUNC_ATTR attribute on the hook parameter.
44911
44912 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
44913 on nested function heap_init.
44914 (grub_upper_mem): New variable for i386-ieee1275.
44915 (grub_get_extended_memory): New function for i386-ieee1275.
44916 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
44917
44918 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
44919 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
44920 property.
f19dbdb7 44921
25f16ec1 44922 * loader/i386/ieee1275/linux.c: New file.
44923
44924 * loader/i386/ieee1275/linux_normal.c: New file.
44925
44926 * disk/ieee1275/nand.c: New file.
44927
e89d61e9 449282008-04-18 Thomas Schwinge <tschwinge@gnu.org>
44929
44930 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
44931 value.
44932 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
44933
602566f6 449342008-04-18 Robert Millan <rmh@aybabtu.com>
44935
44936 Restructures early code path on ieee1275 to unify grub_main() as
44937 the first C function that is executed in every platform.
44938
44939 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
44940 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
44941 cmain().
44942 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
44943 * kern/ieee1275/cmain.c (cmain): Rename to ...
44944 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
44945 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
44946 at the beginning.
44947
57490c2b 449482008-04-18 Robert Millan <rmh@aybabtu.com>
44949
44950 * util/update-grub.in: Fix syntax error when setting
44951 `GRUB_PRELOAD_MODULES'.
44952 Reported by Stephane Chazelas <stephane@artesyncp.com>
44953
1977517d 449542008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
44955
44956 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
44957 section into account, newer toolchains generate unique build ids
44958 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 44959 we want build ids to be preserved
1977517d 44960 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
44961 far from other sections don't cause the raw binary images grow
44962 size
44963
bfb1f1a2 449642008-04-15 Robert Millan <rmh@aybabtu.com>
44965
44966 * disk/lvm.c: Update copyright year.
44967 * kern/misc.c: Likewise.
44968
01979850 449692008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44970
44971 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 44972 there is no memory left for physical volume name.
01979850 44973
0a1150e2 449742008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44975
44976 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
44977 volume name mapping to support bigger than 9 character names properly.
44978
82ead3fe 449792008-04-13 Robert Millan <rmh@aybabtu.com>
44980
44981 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
44982 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
44983
e54a72f5 449842008-04-13 Christian Franke <franke@computer.org>
44985
44986 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
44987 to create a floppy emulation boot CD when non emulation mode
44988 does not work.
44989 Enable Joliet CD filesystem extension.
44990
9fe86034 449912008-04-13 Robert Millan <rmh@aybabtu.com>
44992
44993 * kern/misc.c (grub_strncat): Fix off-by-one error.
44994 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
44995
44996 * kern/env.c (grub_env_context_close): Clear current context, not
44997 previous one.
44998 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
44999
45000 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
45001
7ceeee39 450022008-04-13 Robert Millan <rmh@aybabtu.com>
45003
45004 Improve robustness when handling LVM.
45005
45006 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 45007 (and leave `*p' unmodified).
7ceeee39 45008 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
45009 through it.
45010 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
45011 iterating through it.
45012 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
45013 through it.
fe6b695a 45014 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 45015 when due) on each grub_lvm_getvalue() or grub_strstr() call.
45016 Don't assume `vg->pvs != NULL' when iterating through it.
45017
58cd3d85 450182008-04-13 Robert Millan <rmh@aybabtu.com>
45019
45020 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
45021 * genmk.rb (partmap): New variable.
45022 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
45023 (#{partmap}): New target rule.
45024 * genpartmaplist.sh: New file.
45025 * Makefile.in (pkglib_DATA): Add partmap.lst.
45026 (partmap.lst): New target rule.
45027 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
45028 modules (including all partition maps), instead of preloading them.
45029
78b51059 450302007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
45031
45032 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
45033 `linux-boot-prober' (if installed) to detect other operating
45034 systems which are installed on the computer and add them to
45035 the boot menu.
45036 * conf/common.rmk: Build and install 30_os-prober.
45037
a91627b4 450382008-04-12 Robert Millan <rmh@aybabtu.com>
45039
45040 * kern/powerpc/ieee1275/init.c: Move from here ...
45041 * kern/ieee1275/init.c: ... to here. Update all users.
45042
45043 * kern/powerpc/ieee1275/cmain.c: Move from here ...
45044 * kern/ieee1275/cmain.c: ... to here. Update all users.
45045
45046 * kern/powerpc/ieee1275/openfw.c: Move from here ...
45047 * kern/ieee1275/openfw.c: ... to here. Update all users.
45048
45049 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
45050 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
45051
322562ea 450522008-04-10 Pavel Roskin <proski@gnu.org>
45053
45054 * configure.ac: Always use "_cv_" in cache variables for
45055 compatibility with Autoconf 2.62.
45056
a02a73c5 450572008-04-07 Robert Millan <rmh@aybabtu.com>
45058
45059 Revert grub/machine/init.h addition by Pavel (since it breaks on
45060 i386-ieee1275 and others):
45061 * util/i386/pc/misc.c: Remove grub/machine/init.h.
45062 * util/powerpc/ieee1275/misc.c: Likewise.
45063
25c024b1 450642008-04-07 Robert Millan <rmh@aybabtu.com>
45065
45066 * util/grub-probe.c (probe): Improve error message.
45067
3cbd2f98 450682008-04-07 Robert Millan <rmh@aybabtu.com>
45069
45070 * util/biosdisk.c (read_device_map): Skip devices that don't exist
45071 (this prevents the presence of a bogus entry from ruining the whole
45072 thing).
45073
87a297bf 450742008-04-06 Pavel Roskin <proski@gnu.org>
45075
36747a62 45076 * util/biosdisk.c: Include grub/util/biosdisk.h.
45077 * util/grub-fstest.c (execute_command): Make static.
45078 * util/grub-mkdevicemap.c (check_device): Likewise.
45079 * util/i386/pc/misc.c: Include grub/machine/init.h.
45080 * util/powerpc/ieee1275/misc.c: Likewise.
45081 * util/lvm.c: Include grub/util/lvm.h.
45082 * util/misc.c: Include grub/kernel.h, grub/misc.h and
45083 grub/cache.h.
45084 * util/raid.c: Include grub/util/raid.h.
45085 (grub_util_getdiskname): Make static.
45086
87a297bf 45087 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
45088 grub_hostfs_fini(), as they are called from grub_init_all() and
45089 grub_fini_all() respectively. This fixes an infinite loop in
45090 grub-fstest due to double registration of hostfs.
45091 Reported by Christian Franke <Christian.Franke@t-online.de>
45092
f6ce7629 450932008-04-05 Pavel Roskin <proski@gnu.org>
45094
45095 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
45096 all 8 functions. Otherwise, probe function 0 only.
45097
070e49e4 450982008-04-04 Pavel Roskin <proski@gnu.org>
45099
8b088a4c 45100 * commands/lspci.c (grub_lspci_iter): Print the bus number
45101 correctly.
45102
4f657021 45103 * commands/lspci.c (grub_pci_classes): Fix typos.
45104 (grub_lspci_iter): Don't print func twice. Print vendor ID
45105 before device ID, as it's normally done.
45106
070e49e4 45107 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45108 Fix signedness warnings.
45109 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
45110 Likewise.
45111 * util/ieee1275/get_disk_name.c: Include config.h so that
45112 _GNU_SOURCE is defined and getline() is declared. Mark an
45113 unused argument as such. Fix a signedness warning.
45114
ba7328dc 451152008-04-02 Pavel Roskin <proski@gnu.org>
45116
26887f22 45117 * genkernsyms.sh.in: Use more robust assignments for CC and
45118 srcdir. Quote srcdir.
45119 * gensymlist.sh.in: Likewise. Assert at the compile time that
45120 the symbol table is not empty.
45121
ba7328dc 45122 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
45123 * fs/cpio.c (grub_cpio_read): Likewise.
45124
0f582c6b 451252008-04-01 Pavel Roskin <proski@gnu.org>
45126
4b6e1995 45127 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
45128 * disk/host.c (grub_host_open): Likewise.
45129 * disk/loopback.c (grub_loopback_open): Likewise.
45130 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
45131 disk->id as in disk/host.c, not a multi-character constant.
45132
828a2768 45133 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
45134 later is obsolete, potentially dangerous and sets a bad example.
45135 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
45136 * util/misc.c (grub_util_get_image_size): Likewise.
45137
2bb4fb47 45138 * disk/loopback.c (options): Improve help for "--partitions".
45139
0f582c6b 45140 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
45141 options to align them with the short options, e.g. "echo -e".
45142
a33224e0 451432008-03-31 Bean <bean123ch@gmail.com>
45144
45145 * video/reader/png.c (grub_png_data): New member is_16bit and
45146 image_data.
45147 (grub_png_decode_image_header): Detect 16 bit png image.
45148 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
45149 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
45150 (grub_video_reader_png): Release memory occupied by image_data.
45151
45152 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
45153 4096 bytes.
45154 (grub_nfs_mount): Skip the test for sector per cluster.
45155
45156 * include/grub/ntfs.h (MAX_SPC): Removed.
45157
86cb4f54 451582008-03-31 Bean <bean123ch@gmail.com>
45159
45160 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
45161 (grub_probe_SOURCES): Add fs/afs.c.
45162 (grub_fstest_SOURCES): Likewise.
45163 (afs_mod_SOURCES): New variable.
45164 (afs_mod_CFLAGS): Likewise.
45165 (afs_mod_LDFLAGS): Likewise.
45166
45167 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
45168 (grub_emu_SOURCES): Likewise.
45169
45170 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45171
45172 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45173
45174 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45175
45176 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45177
45178 * fs/afs.c: New file.
45179
17c74c21 451802008-03-30 Pavel Roskin <proski@gnu.org>
45181
4cb68e89 45182 * disk/host.c: Include grub/misc.h to fix a warning.
45183 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
45184 warnings about implicit declarations.
45185
8790bb04 45186 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
45187 variable.
45188 * include/grub/i386/loader.h: Change declaration of
45189 grub_linux_boot() to match what grub_loader_set() expects.
45190 * util/getroot.c (grub_guess_root_device): Return const char* to
45191 fix a warning.
45192 * util/grub-probe.c (probe): Fix a warning about uninitialized
45193 abstraction_name variable.
45194 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
45195 second argument as unused to fix a warning.
45196
9a3f3296 45197 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
45198 missing grub_error() call.
45199
0ecef90d 45200 * util/update-grub_lib.in: Define datarootdir, since Autoconf
45201 2.60 and newer uses it to define datadir.
45202
0bf6d401 45203 * commands/sleep.c: Fix warning about implicit declaration.
45204 * disk/memdisk.c: Likewise.
45205 * loader/aout.c: Likewise.
45206 * loader/i386/bsd_normal.c: Likewise.
45207 * util/grub-probe.c: Likewise.
45208
7cdacf97 45209 * commands/i386/cpuid.c (has_longmode): Make static.
45210 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
45211 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
45212
17c74c21 45213 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
45214 GDT. This is more robust, as %ds can change.
45215 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
45216 calling real_to_prot().
45217 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
45218
80a3e68b 452192008-03-28 Pavel Roskin <proski@gnu.org>
45220
45221 * kern/i386/pc/startup.S: Assert that uncompressed functions
45222 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
45223 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
45224 code, as they push parts of the code (error handlers) beyond
45225 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
45226 code as correctness and size.
45227
77bcd272 452282008-03-28 Pavel Roskin <proski@gnu.org>
45229
45230 * kern/i386/pc/startup.S
45231 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
45232 data block address to the real mode, keep offset minimal. This
45233 works around a bug in AWARD BIOS on old Athlon systems, which
45234 makes CD detection hang.
45235
c5dfd43b 452362008-03-26 Pavel Roskin <proski@gnu.org>
45237
45238 * normal/color.c (grub_parse_color_name_pair): Make `name' a
45239 const.
45240 * include/grub/normal.h: Add grub_parse_color_name_pair()
45241 declaration.
45242
bf962df2 452432008-03-24 Bean <bean123ch@gmail.com>
45244
45245 * disk/i386/pc/biosdisk.c (cd_start): Removed.
45246 (cd_count): Removed.
45247 (cd_drive): New variable.
45248 (grub_biosdisk_get_drive): Don't check for (cdN) device.
45249 (grub_biosdisk_call_hook): Likewise.
45250 (grub_biosdisk_iterate): Change cdrom detection method.
45251 (grub_biosdisk_open): Replace cd_start with cd_drive.
45252 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
45253 detect cdrom device.
45254
45255 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
45256 Removed.
45257 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
45258 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
45259 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
45260 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
45261 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
45262 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
45263 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
45264 (grub_biosdisk_cdrp): New structure.
45265 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
45266
45267 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
45268
45269 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
45270 device.
45271
45272 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
45273 New function.
45274
68e7fc7a 452752008-03-20 Robert Millan <rmh@aybabtu.com>
45276
45277 Remove 2 TiB limit in ata.mod.
45278 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
45279 (grub_ata_dumpinfo): Print sector count with 0x%llx.
45280 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
45281 grub_uint64_t instead of grub_uint32_t.
45282
38ad2cf5 452832008-03-05 Bean <bean123ch@gmail.com>
45284
45285 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
45286 (grub_multiboot): Set boot device.
45287
45288 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
45289
2b89344e 452902008-03-02 Bean <bean123ch@gmail.com>
45291
45292 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
45293 symlink_buffer.
45294
87a95d1f 452952008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
45296
45297 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
45298 texinfo.tex.
45299
45300 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
45301 modified.
45302
45303 * docs/fdl.texi: New file.
f19dbdb7 45304
87a95d1f 45305 * docs/mdate-sh: New file. Copied from gnulib.
45306 * docs/texinfo.tex: Likewise.
45307
45308 * config.guess: Updated from gnulib.
45309 * install-sh: Likewise.
45310
7dc15d8e 453112008-02-28 Robert Millan <rmh@aybabtu.com>
45312
45313 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
45314 (aout_mod_SOURCES): New variable.
45315 (aout_mod_CFLAGS): Likewise.
45316 (aout_mod_LDFLAGS): Likewise.
45317
45318 * conf/i386-ieee1275.rmk: Likewise.
45319
b00ab696 453202008-02-28 Robert Millan <rmh@aybabtu.com>
45321
45322 * util/update-grub.in: Reorganise terminal validity check. Accept
45323 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
45324 Based on suggestion by Franklin PIAT.
45325
79ca2d78 453262008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
45327
45328 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
45329 function.
45330 * util/getroot.c (grub_util_check_block_device): New function that
45331 returns the given argument if it is a block device and returns NULL else.
45332 * util/grub-probe.c (argument_is_device): New variable.
45333 (probe): Promote device_name from a variable to an argument. Receive
45334 device_name from grub_util_check_block_device() if path is NULL and from
45335 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 45336 (options): Introduce new parameter '-d, --device'.
79ca2d78 45337 (main): Add description of the new parameter to the help screen.
45338 Rename path variable to argument. Set argument_is_device if the '-d'
45339 option is given. Pass argument to probe() depending on
45340 argument_is_device.
45341
0d16e571 453422008-02-24 Bean <bean123ch@gmail.com>
45343
45344 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
45345 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
45346 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
45347 (GRUB_ISO9660_VOLDESC_PART): Likewise.
45348 (GRUB_ISO9660_VOLDESC_END): Likewise.
45349 (grub_iso9660_primary_voldesc): New member escape.
45350 (grub_iso9660_data): New member joliet.
45351 (grub_iso9660_convert_string): New function.
45352 (grub_iso9660_mount): Detect joliet extension.
45353 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
45354 (grub_iso9660_iso9660_label): Likewise.
45355
45356 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
45357 (grub_setup_SOURCES): Add fs/udf.c.
45358 (grub_fstest_SOURCES): Likewise.
45359 (udf_mod_SOURCES): New variable.
45360 (udf_mod_CFLAGS): Likewise.
45361 (udf_mod_LDFLAGS): Likewise.
45362
45363 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
45364 (grub_emu_SOURCES): Likewise.
45365
45366 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45367
45368 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45369
45370 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45371
45372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45373
45374 * fs/udf.c: New file.
45375
8a594a17 453762008-02-24 Robert Millan <rmh@aybabtu.com>
45377
45378 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
45379 (normal/lexer.c_DEPENDENCIES): New variables.
45380 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45381 (normal/lexer.c_DEPENDENCIES): Likewise.
45382 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
45383 (normal/lexer.c_DEPENDENCIES): Likewise.
45384 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
45385 (normal/lexer.c_DEPENDENCIES): Likewise.
45386 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45387 (normal/lexer.c_DEPENDENCIES): Likewise.
45388 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45389 (normal/lexer.c_DEPENDENCIES): Likewise.
45390
2dc33c03 453912008-02-23 Robert Millan <rmh@aybabtu.com>
45392
45393 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
45394 since they were intended to be in hex. This didn't break previously
45395 because of a bug in gpt_partition_map_iterate() (see below).
45396
45397 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
45398 when checking the validity of GPT header.
45399 Remove `partno', since it always provides the same information as `i'.
45400
f6f4cfb0 454012008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
45402
45403 * include/grub/efi/time.h: Fix a wrong comment.
45404
79ff665f 454052008-02-19 Pavel Roskin <proski@gnu.org>
45406
45407 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
45408 message.
45409
d38e24c2 454102008-02-19 Bean <bean123ch@gmail.com>
45411
45412 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
45413 (aout_mod_SOURCES): New variable.
45414 (aout_mod_CFLAGS): Likewise.
45415 (aout_mod_LDFLAGS): Likewise.
45416 (_bsd_mod_SOURCES): New variable.
45417 (_bsd_mod_CFLAGS): Likewise.
45418 (_bsd_mod_LDFLAGS): Likewise.
45419 (bsd_mod_SOURCES): New variable.
45420 (bsd_mod_CFLAGS): Likewise.
45421 (bsd_mod_LDFLAGS): Likewise.
45422
45423 * include/grub/aout.h: New file.
45424
45425 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
45426
45427 * include/grub/i386/bsd.h: New file.
45428
45429 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
45430 to make it public.
45431
45432 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
45433 function is called, so that it's possible to change it inside the hook.
45434 (grub_elf64_load): Likewise.
45435 (grub_elf_file): Don't close the file if elf header is not found.
45436 (grub_elf_close): Close the file if grub_elf_file fails (The new
45437 grub_elf_file won't close it).
45438 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
45439 (grub_elf64_size): Likewise.
45440
45441 * kern/i386/loader.S (grub_unix_real_boot): New function.
45442
45443 * loader/aout.c: New file.
45444
45445 * loader/i386/bsd.c: New file.
45446
45447 * loader/i386/bsd_normal.c: New file.
45448
45449 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
45450
45451 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 45452 can test other formats.
d38e24c2 45453
b93bdb0f 454542008-02-19 Robert Millan <rmh@aybabtu.com>
45455
45456 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
45457 (grub_gpt_partition_type_empty): Redefine with macro from
45458 `<grub/gpt_partition.h>'.
45459 (gpt_partition_map_iterate): Adjust partition type comparison.
45460
45461 Export `entry' as partmap-specific `part.data' struct.
45462 (grub_gpt_header, grub_gpt_partentry): Move from here ...
45463
45464 * include/grub/gpt_partition.h (grub_gpt_header)
45465 (grub_gpt_partentry): ... to here (new file).
45466
45467 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
45468
45469 (grub_gpt_partition_type_bios_boot): New const variable, defined
45470 with macro from `<grub/gpt_partition.h>'.
45471
45472 (setup): Replace `first_start' with `embed_region', which keeps
45473 track of the embed region (and is partmap-agnostic).
45474
45475 Replace find_first_partition_start() with find_usable_region(),
45476 which finds a usable region for embedding using partmap-specific
45477 knowledge (supports PC/MSDOS and GPT).
45478
45479 Fix all assumptions that the embed region start at sector 1, using
45480 `embed_region.start' from now on. Similarly, use `embed_region.end'
45481 rather than `first_start' to calculate available size.
45482
45483 In grub_util_info() message, replace "into after the MBR" with an
45484 indication of the specific sector our embed region starts at.
45485
66cb40f6 454862008-02-19 Robert Millan <rmh@aybabtu.com>
45487
45488 * DISTLIST: Replace `commands/ieee1275/halt.c' and
45489 `commands/ieee1275/reboot.c' with `commands/halt.c' and
45490 `commands/reboot.c'.
45491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45492 (halt_mod_SOURCES): Likewise.
45493 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45494 (halt_mod_SOURCES): Likewise.
45495
b7202015 454962008-02-17 Christian Franke <franke@computer.org>
45497
45498 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
45499
32b0fc49 455002008-02-17 Robert Millan <rmh@aybabtu.com>
45501
45502 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45503 set `first_start' to 0 for non-PC/MSDOS partition maps.
45504
aca63502 455052008-02-16 Robert Millan <rmh@aybabtu.com>
45506
45507 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45508 do not assume partition map is PC/MSDOS before performing checks that
45509 are specific to that layout.
45510
0de8be86 455112008-02-13 Robert Millan <rmh@aybabtu.com>
45512
45513 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
45514 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
45515 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
45516
c3db8364 455172008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
45518
45519 * configure.ac: Only a cosmetic change on the handling of
45520 -fno-stack-protector.
45521
f714229e 455222008-02-12 Alexandre Boeglin <alex@boeglin.org>
45523
c3db8364 45524 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
45525 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
45526 reboot.c.
f714229e 45527 (grub_install_SOURCES): Add halt.mod and reboot.mod.
45528 (halt_mod_SOURCES): New variable.
45529 (halt_mod_CFLAGS): Likewise.
45530 (halt_mod_LDFLAGS): Likewise.
45531 (reboot_mod_SOURCES): Likewise.
45532 (reboot_mod_CFLAGS): Likewise.
45533 (reboot_mod_LDFLAGS): Likewise.
45534
c3db8364 45535 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
45536 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
45537 reboot.c.
f714229e 45538 (halt_mod_SOURCES): Likewise.
45539 (reboot_mod_SOURCES): Likewise.
45540
c3db8364 45541 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
45542 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 45543 (reboot_mod_SOURCES): Likewise.
45544
45545 * commands/i386/pc/reboot.c: merge this file ...
45546
45547 * commands/ieee1275/reboot.c: ... and this file ...
45548
45549 * commands/reboot.c: ... to this file.
c3db8364 45550 Add some precompiler directive to include the correct header for
45551 each machine.
f714229e 45552
45553 * commands/ieee1275/halt.c: move this file ...
45554
45555 * commands/halt.c: ... to here.
c3db8364 45556 Add some precompiler directive to include the correct header for
45557 each machine.
f714229e 45558
45559 * include/grub/efi/efi.h (grub_reboot): New function declaration.
45560 (grub_halt): Likewise.
45561
45562 * kern/efi/efi.c (grub_reboot): New function.
45563 (grub_halt): Likewise.
45564
c74493e0 455652008-02-12 Robert Millan <rmh@aybabtu.com>
45566
45567 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
45568 /dev (like it is done for /dev/mapper). This doesn't provide support
45569 for EVMS, but at least it is now easy to identify the problem when it
45570 arises.
45571
d0db4b04 455722008-02-11 Robert Millan <rmh@aybabtu.com>
45573
45574 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
45575 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
45576 comparing it with -1, not 0.
45577
bf748642 455782008-02-10 Robert Millan <rmh@aybabtu.com>
45579
45580 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
45581 `disk/lvm.c'.
45582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45583 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
45584
45585 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
45586 `disk/lvm.c' to the end of the list.
45587 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45588 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45589
b5db202a 455902008-02-10 Robert Millan <rmh@aybabtu.com>
45591
45592 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
45593 grub_print_error() instead. This will let user know why we're entering
45594 rescue mode.
45595 Based on suggestions from Sam Morris.
45596
83abee31 455972008-02-10 Alexandre Boeglin <alex@boeglin.org>
45598
45599 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
45600 on remaining N args, instead of "--" arg N times.
45601
78d5a08b 456022008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
45603
45604 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
45605 (fill_with_default_glyph): Changed to use unknown_glyph for fill
45606 pattern for unknown glyphs.
45607
68807e5f 456082008-02-09 Robert Millan <rmh@aybabtu.com>
45609
45610 * configure.ac: Probe for `help2man'.
45611 * Makefile.in (builddir): New variable.
45612 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
45613 or otherwise add a few flags/options to it.
45614 (install-local): For every executable utility or script that is
45615 installed, invoke $(HELP2MAN) to install a manpage based on --help
45616 output.
45617
45618 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
45619 that it doesn't prevent --help from working in build tree.
45620
45621 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
45622 with `bug-grub@gnu.org'.
45623 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
45624 * util/update-grub.in (usage): New function.
45625 Implement proper argument check, with support for --help and --version
45626 (as well as existing -y).
45627
456282008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 45629
45630 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
45631 avoid overwriting previous output.
45632 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
45633
c1962162 456342008-02-09 Robert Millan <rmh@aybabtu.com>
45635
45636 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
45637 drawing the menu.
45638
3dac2e3f 456392008-02-09 Robert Millan <rmh@aybabtu.com>
45640
45641 * commands/sleep.c: New file.
45642 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
45643 (sleep_mod_SOURCES): New variable.
45644 (sleep_mod_CFLAGS): Likewise.
45645 (sleep_mod_LDFLAGS): Likewise.
45646
7a634e08 456472008-02-09 Robert Millan <rmh@aybabtu.com>
45648
45649 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
45650 situations in which we can deduce the RAID size and the superblock
45651 doesn't match it.
45652
b92f0c18 456532008-02-09 Robert Millan <rmh@aybabtu.com>
45654
45655 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
45656 and return a grub_diskmemberlist_t composed of LVM physical volumes.
45657 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
45658
45659 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
45660 and return a grub_diskmemberlist_t composed of physical array members.
45661 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
45662
45663 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
45664 prototype.
45665 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
45666 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
45667 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
45668
45669 * util/grub-probe.c (probe): Move partmap probing code from here ...
45670 (probe_partmap): ... to here.
45671 (probe): Use probe_partmap() once for the disk we're probing, and
45672 additionally, when such disk contains a memberlist() struct member,
45673 once for each disk that is contained in the structure returned by
45674 memberlist().
45675
91a4bf68 456762008-02-09 Robert Millan <rmh@aybabtu.com>
45677
45678 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
45679 environment variable to 'all' in order to obtain debug output from
45680 non-util/ code.
45681 * util/i386/pc/grub-setup.c (main): Likewise.
45682
a96f9caa 456832008-02-08 Robert Millan <rmh@aybabtu.com>
45684
45685 * disk/raid.c (grub_raid_scan_device): Check for
45686 `array->device[sb.this_disk.number]' rather than for
45687 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 45688 guaranteed to be accessible.
a96f9caa 45689
b37a9222 456902008-02-08 Robert Millan <rmh@aybabtu.com>
45691
45692 * disk/raid.c: Update copyright.
45693 * fs/cpio.c: Likewise.
45694 * include/grub/raid.h: Likewise.
45695 * loader/i386/pc/multiboot.c: Likewise.
45696 * util/hostfs.c: Likewise.
45697
5626aee1 456982008-02-08 Robert Millan <rmh@aybabtu.com>
45699
45700 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
45701 to a grub_disk_t array.
45702 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
45703 `device[x]'.
45704 (grub_raid_scan_device): Replace `device[x].name' accesses with
45705 `device[x]->name'. Simplify initialization of `array->device[x]'.
45706
554f0187 457072008-02-08 Robert Millan <rmh@aybabtu.com>
45708
45709 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
45710 grub_dprintf() calls.
45711 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
45712 error message.
45713
1ec8425d 457142008-02-07 Christian Franke <franke@computer.org>
45715
45716 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
45717 instead of fseek and ftell to support large files.
45718 (grub_hostfs_read): Likewise.
45719
f2156fda 457202008-02-07 Robert Millan <rmh@aybabtu.com>
45721
45722 Patch from Jeroen Dekkers.
45723 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 45724 failure, since successfully reading all array members might not be
f2156fda 45725 required.
45726
9216e0e7 457272008-02-06 Robert Millan <rmh@aybabtu.com>
45728
45729 * util/grub-probe.c (probe): Simplify partmap probing (with the
45730 assumption that the first word up to the underscore equals to
45731 the module name).
45732
b0dfd29a 457332008-02-06 Christian Franke <franke@computer.org>
45734
45735 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
45736 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
45737 last block of a cpio or tar stream.
45738 Check for "TRAILER!!!" instead of any empty data
45739 block to detect last block of a cpio stream.
45740 (grub_cpio_dir): Fix constness of variable np.
45741 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
45742 cpio or tar trailer is detected. This fixes a crash
45743 on open of a non existing file.
45744
c32865bf 457452008-02-05 Bean <bean123ch@gmail.com>
45746
45747 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
45748 address of entry.
45749 (grub_multiboot_load_elf64): Likewise.
45750 (grub_multiboot): Initialize mbi structure.
45751
45752 * util/grub-fstest.c: Don't include unused header file script.h.
45753
fe6b695a 45754 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 45755 of file.
45756 (grub_fstest_SOURCES): Likewise.
45757
409480b7 457582008-02-05 Robert Millan <rmh@aybabtu.com>
45759
45760 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
45761 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
45762 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
45763 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
45764
45765 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
45766 (translation_table): Replace hardcoded values with macros
45767 provided by `<grub/term.h>'.
45768
45769 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
45770 (keyboard_map): Correct/add a few values, with macros provided
45771 by `<grub/term.h>'.
45772 (keyboard_map_shift): Zero values that don't differ from their
45773 `keyboard_map' equivalents.
45774 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
45775 Discard the second scan code that is always sent by Caps lock.
45776 Only use `keyboard_map_shift' when it provides a non-zero value,
45777 otherwise fallback to `keyboard_map'.
45778
99fadbaa 457792008-02-04 Bean <bean123ch@gmail.com>
45780
45781 * Makefile.in (enable_grub_fstest): New variable.
45782
45783 * conf/common.rmk (grub_fstest_init.lst): New rule.
45784 (grub_fstest_init.h): Likewise.
45785 (grub_fstest_init.c): Likewise.
45786 (util/grub-fstest.c_DEPENDENCIES): New variable.
45787 (grub_fstest_SOURCES): Likewise.
45788
45789 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
45790
45791 * util/grub-fstest.c: New file.
45792
bf567c50 457932008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45794
45795 Make grub-setup handle a separate root device.
f19dbdb7 45796
bf567c50 45797 * util/i386/pc/grub-setup.c (setup): Always open the root device,
45798 so that the root device can be compared with the destination
45799 device.
45800 When embedding the core image, if the root and destination devices
45801 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
45802 0xFF.
45803 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 45804
9be6b98b 458052008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45806
45807 Add support for having a grub directory in a different drive. This
45808 is still only the data handling part.
f19dbdb7 45809
9be6b98b 45810 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
45811 (codestart): Save %dh in GRUB_ROOT_DRIVE.
45812 (grub_root_drive): New variable.
45813
45814 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
45815 instead of GRUB_BOOT_DRIVE to construct a device name. Set
45816 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
45817 as it was.
45818
45819 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
45820
45821 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
45822 macro.
45823 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
45824
45825 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
45826 is bogus, because PXE booting does not specify any drive
45827 correctly.
45828
45829 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
45830 am not sure if this is really correct.
45831
45832 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
45833 is always identical to the boot drive when booting from a CD.
45834
45835 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
45836 longer.
45837 (root_drive): New variable.
45838 (real_start): Unconditionally set %dh to ROOT_DRIVE.
45839 (setup_sectors): Push %dx right after popping it, because %dh will
45840 be modified later.
45841 (copy_buffer): Restore %dx.
45842
e0ca0677 458432008-02-03 Robert Millan <rmh@aybabtu.com>
45844
45845 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
45846 use `cdboot.img' for cdrom images.
45847
3b3f6629 458482008-02-03 Robert Millan <rmh@aybabtu.com>
45849
45850 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
45851 only setup gfxterm when `font' command has succeeded.
45852
d42b3672 458532008-02-03 Robert Millan <rmh@aybabtu.com>
45854
45855 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
45856 (grub_rescue_cmd_multiboot_loader)
45857 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
45858
fa370ea6 458592008-02-03 Pavel Roskin <proski@gnu.org>
45860
e0c5dacb 45861 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 45862 %edx and %esi from stack only after grub_gate_a20() is called.
45863 grub_gate_a20() clobbers %edx.
45864
f2a76e1d 458652008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45866
45867 * configure.ac (AC_INIT): Bumped to 1.96.
45868
45869 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
45870 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
45871 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
45872 video/readers/png.c.
45873
90fd32d1 458742008-02-03 Bean <bean123ch@gmail.com>
9be665dd 45875
45876 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
45877 (cdboot_img_SOURCES): New variable.
45878 (cdboot_img_ASFLAGS): New variable.
45879 (cdboot_img_LDFLAGS): New variable.
45880
45881 * boot/i386/pc/cdboot.S: New file.
45882
45883 * disk/i386/pc/biosdisk.c (cd_start): New variable.
45884 (cd_count): Likewise.
45885 (grub_biosdisk_get_drive): Add support for cd device.
45886 (grub_biosdisk_call_hook): Likewise.
45887 (grub_biosdisk_iterate): Likewise.
45888 (grub_biosdisk_open): Likewise.
45889 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
45890 (grub_biosdisk_rw): Support reading from cd device.
45891 (GRUB_MOD_INIT): Iterate cd devices.
45892
45893 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
45894 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
45895 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
45896
45897 * kern/i386/pc/init.c (make_install_device): Check for cd device.
45898
4020aa53 458992008-02-02 Robert Millan <rmh@aybabtu.com>
45900
45901 * commands/read.c: New file.
45902 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
45903 (read_mod_SOURCES): New variable.
45904 (read_mod_CFLAGS): Likewise.
45905 (read_mod_LDFLAGS): Likewise.
45906
e03a1132 459072008-02-02 Robert Millan <rmh@aybabtu.com>
45908
45909 * normal/main.c (grub_normal_execute): Check for `menu->size' when
45910 determining whether menu has to be displayed.
45911
58c69220 459122008-02-02 Marco Gerards <marco@gnu.org>
45913
45914 * bus/pci.c: New file.
45915
45916 * include/grub/pci.h: Likewise.
45917
45918 * include/grub/i386/pc/pci.h: Likewise.
45919
45920 * commands/lspci.c: Likewise.
45921
45922 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
45923 `lspci.mod'.
45924 (pci_mod_SOURCES): New variable.
45925 (pci_mod_CFLAGS): Likewise.
45926 (pci_mod_LDFLAGS): Likewise.
45927 (lspci_mod_SOURCES): Likewise.
45928 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 45929 (lspci_mod_LDFLAGS): Likewise.
58c69220 45930
c004e1b4 459312008-02-02 Bean <bean123ch@gmail.com>
45932
45933 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
45934 (grub_ufs_get_file_block): Fix indirect block calculation problem.
45935
45936 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
45937 (grub_xfs_btree_node): New structure.
45938 (grub_xfs_btree_root): New structure.
45939 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
45940 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
45941 (GRUB_XFS_EXTENT_BLOCK): Likewise.
45942 (GRUB_XFS_EXTENT_SIZE): Likewise.
45943 (grub_xfs_read_block): Support btree format type.
45944 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
45945 Use directory block as basic unit.
45946
45947 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
45948
45949 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
45950 __attribute__ ((__regparm__ (1))).
45951
f95562bf 459522008-02-01 Robert Millan <rmh@aybabtu.com>
45953
45954 Correct a mistake in previous commit.
45955
45956 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
45957 top.
45958 (normal/command.c_DEPENDENCIES): New variable.
45959
7d31f41f 459602008-02-01 Robert Millan <rmh@aybabtu.com>
45961
45962 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
45963 top.
45964 (normal/command.c_DEPENDENCIES): New variable.
45965 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
45966 * conf/i386-ieee1275.rmk: Likewise.
45967 * conf/i386-linuxbios.rmk: Likewise.
45968 * conf/i386-pc.rmk: Likewise.
45969 * conf/sparc64-ieee1275.rmk: Likewise.
45970 * conf/powerpc-ieee1275.rmk: Likewise.
45971 (grub_emu_SOURCES): Add `fs/fshelp.c'.
45972
45973 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
45974
60b6be74 459752008-02-01 Robert Millan <rmh@aybabtu.com>
45976
45977 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
45978 call at beginning of function.
45979
078522ab 459802008-01-31 Pavel Roskin <proski@gnu.org>
45981
45982 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 45983 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
45984 (grub_mkrescue_SOURCES): Likewise.
078522ab 45985 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
45986
ccaa8a5f 459872008-01-30 Robert Millan <rmh@aybabtu.com>
45988
45989 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
45990 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
45991 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
45992 (grub_probe_SOURCES): ... to here.
45993
45994 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
45995 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
45996 * conf/i386-ieee1275.rmk: Likewise.
45997 * conf/i386-linuxbios.rmk: Likewise.
45998 * conf/powerpc-ieee1275.rmk: Likewise.
45999
ae5a9cd7 460002008-01-30 Tristan Gingold <gingold@free.fr>
46001
46002 * kern/rescue.c: Silently accept empty lines.
46003
70bc2ef2 460042008-01-29 Bean <bean123ch@gmail.com>
46005
46006 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
46007 (real_code_2): Code cleanup and change comment style.
46008 (move_memory): Avoid using 32-bit address mode.
46009
6a4d50ea 460102008-01-29 Bean <bean123ch@gmail.com>
46011
46012 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
46013 (png_mod_SOURCES): New variable.
46014 (png_mod_CFLAGS): Likewise.
46015 (png_mod_LDFLAGS): Likewise.
46016
46017 * video/readers/png.c: New file.
46018
11cc30ac 460192008-01-28 Robert Millan <rmh@aybabtu.com>
46020
46021 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
46022 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
46023 `ifndef GRUB_MOD_GAP' hack.
46024 * util/elf/grub-mkimage.c (add_segments): Likewise.
46025
3abc589f 460262008-01-27 Robert Millan <rmh@aybabtu.com>
46027
46028 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
46029 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 46030 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 46031
e1907778 460322008-01-27 Robert Millan <rmh@aybabtu.com>
46033
46034 Get grub-emu to build again (including parallel builds).
46035
46036 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
46037 Split into ...
46038 (util/grub-emu.c_DEPENDENCIES): ... this, ...
46039 (normal/execute.c_DEPENDENCIES): ... this, ...
46040 (grub-emu_DEPENDENCIES): ... and this.
46041
46042 * conf/i386-efi.rmk: Likewise.
46043 * conf/i386-linuxbios.rmk: Likewise.
46044 * conf/i386-ieee1275.rmk: Likewise.
46045 * conf/powerpc-ieee1275.rmk: Likewise.
46046 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
46047
2216b101 460482008-01-27 Robert Millan <rmh@aybabtu.com>
46049
46050 * NEWS: Add a few items.
46051
f75172d9 460522008-01-27 Robert Millan <rmh@aybabtu.com>
46053
46054 Fix parallel builds with grub-emu. Based on earlier commit for
46055 grub-probe and grub-setup.
46056
46057 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46058 (util/grub-emu.c_DEPENDENCIES): ... this.
46059 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46060 (util/grub-emu.c_DEPENDENCIES): ... this.
46061 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46062 (util/grub-emu.c_DEPENDENCIES): ... this.
46063 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46064 (util/grub-emu.c_DEPENDENCIES): ... this.
46065 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46066 (util/grub-emu.c_DEPENDENCIES): ... this.
46067
3f51de77 460682008-01-27 Pavel Roskin <proski@gnu.org>
46069
46070 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
46071 to create a gap between _end and the modules added to the image
46072 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
46073 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
46074 * util/elf/grub-mkimage.c (add_segments): Likewise.
46075
2033f53e 460762008-01-26 Pavel Roskin <proski@gnu.org>
46077
46078 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
46079 just return an error.
46080
22da1f6f 460812008-01-26 Bean <bean123ch@gmail.com>
46082
46083 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
46084 (grub_reiserfs_get_item): Save offset of the next item.
46085 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
46086
2a9525e6 460872008-01-25 Robert Millan <rmh@aybabtu.com>
46088
46089 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
46090 make all filesystem sources appear together (possibly fixing omissions
46091 while at it).
46092 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46093 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46094 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46095 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46096
46097 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
46098 add `kern/file.c'.
46099 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
46100 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46101 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
46102 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46103
46104 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
46105 (probe): Add a sanity check to make sure of our ability to read
46106 requested files when probing for filesystem type.
46107
46108 * genmk.rb: Update copyright year (2007).
46109
46110 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
46111 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
46112 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
46113 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
46114 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
46115 : Remove function prototypes.
46116
b95f71b5 461172008-01-25 Robert Millan <rmh@aybabtu.com>
46118
46119 Revert my previous commits (based on wrong assumption of how grub_errno
46120 works).
46121
fe6b695a 46122 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 46123 * kern/file.c (grub_file_open): Likewise.
46124
d08bbb49 461252008-01-24 Pavel Roskin <proski@gnu.org>
46126
46127 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
46128 that hang if GRUB tries to setup colors.
46129 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
46130 colors for firmwares that don't support it.
46131 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
46132 Recognize Open Hack'Ware, set flags to work around its
46133 limitations.
46134
605e36ed 461352008-01-24 Robert Millan <rmh@aybabtu.com>
46136
46137 * kern/file.c (grub_file_open): Do not account previous failures of
46138 unrelated functions when grub_errno is checked for.
46139 Reported by Oleg Strikov.
46140
bac332a1 461412008-01-24 Bean <bean123ch@gmail.com>
46142
46143 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
46144 (grub_ufs_sblock): New member volume name.
46145 (grub_ufs_find_file): Fix string copy bug.
46146 (grub_ufs_label): Implement this function properly.
46147
46148 * fs/hfs.c (grub_hfs_cnid_type): New enum.
46149 (grub_hfs_iterate_records): Use the correct file number for extents
46150 and catalog file. Fix problem in next index calculation.
46151 (grub_hfs_find_node): Replace recursive function call with loop.
46152 (grub_hfs_iterate_dir): Replace recursive function call with loop.
46153
15c80c09 461542008-01-23 Robert Millan <rmh@aybabtu.com>
46155
46156 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
46157 `<grub/symbol.h>' and `<grub/multiboot.h>'.
46158 (grub_multiboot2_real_boot): New function prototype.
46159
46160 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
46161 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
46162
46163 * kern/i386/ieee1275/init.c (grub_os_area_addr)
46164 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
46165
305338fd 461662008-01-23 Robert Millan <rmh@aybabtu.com>
46167
46168 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
46169 #ifdef'ed out grub_printf().
46170
3ea52685 461712008-01-23 Robert Millan <rmh@aybabtu.com>
46172
46173 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
46174 grub_dprintf calls, since they make "debug=all" mode unusable.
46175 (grub_console_checkkey): Likewise.
46176
5882ae4b 461772008-01-23 Robert Millan <rmh@aybabtu.com>
46178
46179 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
46180 `term/i386/pc/at_keyboard.c'.
46181 (pkglib_MODULES): Add `serial.mod'.
46182 (serial_mod_SOURCES): New variable.
46183 (serial_mod_CFLAGS): Likewise.
46184 (serial_mod_LDFLAGS): Likewise.
46185
46186 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
46187 `<grub/powerpc/ieee1275/console.h>'.
46188 (grub_keyboard_controller_init): New function prototype.
46189 (grub_console_checkkey): Likewise.
46190 (grub_console_getkey): Likewise.
46191
46192 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
46193 keyboard on i386.
46194
46195 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
46196 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
46197
06ab5303 461982008-01-23 Robert Millan <rmh@aybabtu.com>
46199
46200 * kern/i386/pc/init.c (make_install_device): When memdisk image is
46201 present, "(memdisk)/boot/grub" becomes the default prefix.
46202
46203 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
46204 a memdisk tarball with all the modules. Add --overlay=DIR option that
46205 allows users to overlay additional files into the image.
46206
dbb475a4 462072008-01-23 Robert Millan <rmh@aybabtu.com>
46208
46209 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
46210 and `machine/memory.h'.
46211 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
46212 (_multiboot_mod_SOURCES): New variable.
46213 (_multiboot_mod_CFLAGS): Likewise.
46214 (_multiboot_mod_LDFLAGS): Likewise.
46215 (multiboot_mod_SOURCES): Likewise.
46216 (multiboot_mod_CFLAGS): Likewise.
46217 (multiboot_mod_LDFLAGS): Likewise.
46218
46219 * include/grub/i386/ieee1275/loader.h: New file.
46220
46221 * include/grub/i386/ieee1275/machine.h: Likewise.
46222
46223 * include/grub/i386/ieee1275/memory.h: Likewise.
46224
46225 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
46226 variable declaration.
46227 (grub_os_area_size): Likewise.
46228
46229 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
46230 (grub_lower_mem, grub_upper_mem): New variables.
46231 (grub_stop_floppy): New function (just to make
46232 grub_multiboot2_real_boot() happy).
46233
46234 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
46235 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
46236 (grub_stop): New function.
46237 Include `"../realmode.S"' and `"../loader.S"'.
46238
46239 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
46240 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
46241
46242 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
46243 rely on grub_multiboot2_real_boot() for final boot.
46244
25638629 462452008-01-22 Robert Millan <rmh@aybabtu.com>
46246
46247 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
46248 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
46249 device that doesn't look like an SD card.
46250 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46251 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
46252 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
46253 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
46254 found.
46255
9dad816d 462562008-01-22 Robert Millan <rmh@aybabtu.com>
46257
46258 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
46259 avoid claiming over our own code.
46260
34842f2d 462612008-01-22 Bean <bean123ch@gmail.com>
46262
46263 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
46264 (jpeg_mod_SOURCES): New variable.
46265 (jpeg_mod_CFLAGS): Likewise.
46266 (jpeg_mod_LDFLAGS): Likewise.
46267
46268 * video/readers/jpeg.c : New file.
46269
44023a28 462702008-01-22 Bean <bean123ch@gmail.com>
46271
46272 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
46273 there are no more items.
46274
bc2d8ac6 462752008-01-21 Robert Millan <rmh@aybabtu.com>
46276
46277 * kern/mm.c (grub_mm_init_region): Improve debug message.
46278
261bd4bc 462792008-01-21 Robert Millan <rmh@aybabtu.com>
46280
46281 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
46282 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
46283 address.
46284 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
46285 a C macro.
46286 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
46287 Indicates start of upper memory.
46288 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
46289 (generate_image): Abort when image size is big enough to corrupt
46290 upper memory.
46291
46292 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
46293 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
46294 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46295 instead of hardcoding 0xA0000.
46296 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
46297 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46298 instead of hardcoding 0xA0000.
46299
f970b55e 463002008-01-21 Robert Millan <rmh@aybabtu.com>
46301
46302 * disk/memdisk.c (memdisk_size): New variable.
46303 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
46304 `memdisk_size'.
46305 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
46306 image to dynamic memory.
46307 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
46308 `memdisk_size'. Free memdisk block.
46309
1a8b0526 463102008-01-21 Robert Millan <rmh@aybabtu.com>
46311
46312 Fix detection of very small filesystems (like tar).
46313
46314 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
46315 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
46316 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
46317 a problem with this disk).
46318
6e9b4aab 463192008-01-21 Robert Millan <rmh@aybabtu.com>
46320
46321 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
46322 on grub_biosdisk_rw_standard() error.
46323
0d8837b2 463242008-01-21 Robert Millan <rmh@aybabtu.com>
46325
46326 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
46327 recent changes.
46328 * kern/elf.c: Likewise.
46329 * kern/ieee1275/ieee1275.c: Likewise.
46330 * kern/powerpc/ieee1275/openfw.c: Likewise.
46331 * term/ieee1275/ofconsole.c: Likewise.
46332
ffd36e34 463332008-01-21 Robert Millan <rmh@aybabtu.com>
46334
46335 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
46336
3f0093d0 46337 * include/grub/kernel.h (grub_arch_memdisk_addr)
46338 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 46339
3f0093d0 46340 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
46341 (grub_arch_memdisk_size): ... to here.
ffd36e34 46342
6c391b21 463432008-01-21 Robert Millan <rmh@aybabtu.com>
46344
46345 Mostly based on bugfix from Bean.
46346
46347 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
46348 attribute with hook() parameter.
46349 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
46350 declaration.
46351 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
46352 attribute with hook() parameter.
46353 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
46354 declaration.
46355
55a581dc 463562008-01-21 Robert Millan <rmh@aybabtu.com>
46357
46358 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
46359 (pkglib_MODULES): Add `memdisk.mod'.
46360 (memdisk_mod_SOURCES): New variable.
46361 (memdisk_mod_CFLAGS): Likewise.
46362 (memdisk_mod_LDFLAGS): Likewise.
46363
46364 * disk/memdisk.c: New file.
46365
46366 * include/grub/disk.h (grub_disk_dev_id): Add
46367 `GRUB_DISK_DEVICE_MEMDISK_ID'.
46368
46369 * include/grub/i386/pc/kernel.h
46370 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
46371 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
46372 (grub_kernel_image_size): New variable declaration.
46373 (grub_total_module_size): Likewise.
46374 (grub_memdisk_image_size): Likewise.
46375
46376 * include/grub/i386/pc/memory.h
46377 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
46378
46379 * include/grub/kernel.h: Include `<grub/symbol.h>'.
46380 (grub_arch_memdisk_addr): New variable declaration.
46381 (grub_arch_memdisk_size): Likewise.
46382
46383 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
46384 (grub_arch_memdisk_size): Likewise.
46385
46386 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
46387 (codestart): Replace hardcoded `0x100000' with
46388 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
46389
46390 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
46391 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
46392 not NULL, append the contents of the file it refers to, at the end of
46393 the compressed kernel image. Initialize `grub_memdisk_image_size'
46394 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
46395 (options): Add "memdisk"|'m' option.
46396 (main): Parse --memdisk|-m option, and pass user-provided path as
46397 parameter to generate_image().
46398
3d7f54c9 463992008-01-20 Robert Millan <rmh@aybabtu.com>
46400
46401 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
46402 grub_dprintf() calls from here ...
46403 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
46404
0bf74728 464052008-01-20 Robert Millan <rmh@aybabtu.com>
46406
46407 Fix detection of "real mode" when /options/real-mode? doesn't exist.
46408
46409 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
46410 declaration.
46411 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
46412 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
46413 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 46414 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 46415 property).
46416 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
46417 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
46418
33bf70a7 464192008-01-19 Robert Millan <rmh@aybabtu.com>
46420
fe6b695a 46421 Get rid of confusing function (superseded by
33bf70a7 46422 `grub_ieee1275_get_integer_property')
46423 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
46424 prototype.
46425 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
46426 function.
46427 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
46428 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 46429 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 46430
e2da7d26 464312008-01-19 Robert Millan <rmh@aybabtu.com>
46432
46433 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
46434 command after "shut-down", since implementations differ on which
46435 the command for halt is.
46436
59f1fd8d 464372008-01-19 Robert Millan <rmh@aybabtu.com>
46438
46439 * include/grub/i386/linuxbios/console.h: Add header protection.
46440 (grub_keyboard_controller_init): New function prototype.
46441 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
46442 (KEYBOARD_COMMAND_READ): Likewise.
46443 (KEYBOARD_COMMAND_WRITE): Likewise.
46444 (KEYBOARD_SCANCODE_SET1): Likewise.
46445 (grub_keyboard_controller_write): New function.
46446 (grub_keyboard_controller_read): Likewise.
46447 (grub_keyboard_controller_init): Likewise.
46448
46449 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
46450 (grub_console_init): On coreboot/LinuxBIOS, call
46451 grub_keyboard_controller_init().
46452
5f5a7c15 464532008-01-19 Robert Millan <rmh@aybabtu.com>
46454
46455 PowerPC changes provided by Pavel Roskin.
46456
46457 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
46458 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
46459 don't rely on cmain() doing it.
46460 * kern/i386/ieee1275/startup.S (_start): Store %eax in
46461 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
46462
1210e168 464632008-01-16 Robert Millan <rmh@aybabtu.com>
46464
46465 * include/grub/i386/linuxbios/memory.h
46466 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
46467 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
46468 receive `table_header' as argument. Instead, probe for it in the
46469 known memory ranges where it can be present.
46470 (grub_available_iterate): Do not pass a fixed `table_header' address
46471 to grub_linuxbios_table_iterate().
46472
3d04eab8 464732008-01-15 Robert Millan <rmh@aybabtu.com>
46474
46475 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
46476 * conf/i386-ieee1275.rmk: New file.
46477 * include/grub/i386/ieee1275/console.h: Likewise.
46478 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
46479 * include/grub/i386/ieee1275/kernel.h: Likewise.
46480 * include/grub/i386/ieee1275/time.h: Likewise.
46481 * kern/i386/ieee1275/init.c: Likewise.
46482 * kern/i386/ieee1275/startup.S: Likewise.
46483
d1bc1b73 464842008-01-15 Robert Millan <rmh@aybabtu.com>
46485
46486 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
46487 when pointers are 32-bit (but still do set it to one when they are
46488 64-bit).
46489
66a65807 464902008-01-15 Robert Millan <rmh@aybabtu.com>
46491
46492 * include/grub/ieee1275/ieee1275.h
46493 (grub_ieee1275_get_integer_property): New function prototype.
46494
46495 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
46496 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 46497 grub_ieee1275_get_property() to handle endianness.
66a65807 46498
46499 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
46500 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 46501 where appropriate.
66a65807 46502 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
46503 (grub_map): Likewise.
46504 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
46505
a83ccafd 465062008-01-15 Bean <bean123ch@gmail.com>
46507
46508 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
46509 (grub_script_execute_cmdline): Reset grub_errno.
46510
46511 * normal/main.c (read_config_file): Reset grub_errno.
46512
46513 * normal/parse.y (script_init): New.
46514 (script): Move function and menuentry here.
46515 (delimiter): New.
46516 (command): Add delimiter at the end of command.
46517 (commands): Adjust to match the new command.
46518 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 46519 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 46520 (if): Use the new commands.
46521
46522 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
46523
df6ecfc6 465242008-01-15 Robert Millan <rmh@aybabtu.com>
46525
46526 * normal/menu.c (run_menu): Move timeout message from here ...
46527 (print_timeout): ... to here.
46528 (run_menu): Use print_timeout() once during initial draw to print
46529 the whole message, and again in every clock tick to update only
46530 the number of seconds.
46531
87ae25eb 465322008-01-15 Robert Millan <rmh@aybabtu.com>
46533
46534 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
46535 actual size of `available' from grub_ieee1275_get_property(), and
46536 restrict parsing to that bound.
46537
47bf09a4 465382008-01-15 Christian Franke <franke@computer.org>
46539
46540 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
46541 (argp_program_version): Remove variable.
46542 (argp_program_bug_address): Likewise.
46543 (options): Convert from struct argp_option to struct option.
46544 (struct arguments): Remove.
46545 (parse_opt): Remove.
46546 (usage): New function.
46547 (main): Replace struct args members by simple variables.
46548 Replace argp_parse() by getopt_long().
46549 Add switch to evaluate options.
46550 Add missing "(...)" around root_dev in prefix string.
46551
c86f1469 465522008-01-14 Robert Millan <rmh@aybabtu.com>
46553
46554 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
46555 for grub_ieee1275_exit(), in order to improve portability.
46556
e622c559 465572008-01-14 Robert Millan <rmh@aybabtu.com>
46558
46559 * util/grub.d/10_linux.in (prefix): Define.
46560 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
46561
44cb1ec8 465622008-01-13 Pavel Roskin <proski@gnu.org>
46563
46564 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
46565 grub_errno if no errors have been detected.
46566
1eb8c802 465672008-01-12 Robert Millan <rmh@aybabtu.com>
46568
46569 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
46570 (grub_util_get_dev_abstraction): New function prototype.
46571
46572 * util/getroot.c: Include `<grub/util/getroot.h>'
46573 (grub_util_get_grub_dev): Move detection of abstraction type to ...
46574 (grub_util_get_dev_abstraction): ... here (new function).
46575
46576 * util/grub-probe.c: Convert PRINT_* to an enum. Add
46577 `PRINT_ABSTRACTION'.
46578 (probe): Probe for abstraction type when requested.
46579 (main): Understand `--target=abstraction'.
46580
46581 * util/i386/efi/grub-install.in: Add abstraction module to core
46582 image when it is found to be necessary.
46583 * util/i386/pc/grub-install.in: Likewise.
46584 * util/powerpc/ieee1275/grub-install.in: Likewise.
46585
46586 * util/update-grub_lib.in (font_path): Return system path without
46587 converting to GRUB path.
46588 * util/update-grub.in: Convert system path returned by font_path()
46589 to a GRUB path. Use `grub-probe -t abstraction' to determine what
46590 abstraction module is needed for loading fonts (if any). Export
46591 that as `GRUB_PRELOAD_MODULES'.
46592 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
46593 insmod commands).
46594
52bd3de9 465952008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
46596
46597 Remove some unused code from reiserfs.
f19dbdb7 46598
52bd3de9 46599 * fs/reiserfs.c (struct grub_reiserfs_key)
46600 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
46601 (struct grub_reiserfs_node_body): Removed.
46602 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46603 Likewise.
46604 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46605 Likewise.
46606 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46607 Likewise.
46608 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46609 Likewise.
46610 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46611 Likewise.
46612 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
46613 Likewise.
46614 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46615 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46616 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46617
2f80039d 466182008-01-10 Robert Millan <rmh@aybabtu.com>
46619
46620 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
46621 Determines if a file is garbage left by packaging systems, etc.
46622 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
46623 for processing /etc/grub.d scripts.
46624 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
46625 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
46626 as a condition for processing Linux images.
46627
87888032 466282008-01-10 Pavel Roskin <proski@gnu.org>
46629
46630 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
46631 to compile reiserfs.c on PowerPC.
46632
7e54fced 466332008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 46634
46635 * kern/device.c (grub_device_iterate): Do not abort device iteration
46636 when one of the devices cannot be opened.
46637 * kern/disk.c (grub_disk_open): Do not account previous failures of
46638 unrelated functions when grub_errno is checked for.
46639
5aa541e6 466402008-01-08 Robert Millan <rmh@aybabtu.com>
46641
46642 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
46643 `! grub_linux_is_bzimage', change order of address comparison to make
46644 it more intuitive, and improve "too big zImage" error message.
46645
7076340d 466462008-01-08 Robert Millan <rmh@aybabtu.com>
46647
46648 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
46649 `$(update-grub_DATA)'.
46650 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
46651 targets.
46652
9ca70333 466532008-01-07 Robert Millan <rmh@aybabtu.com>
46654
46655 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
46656 which instruction is modified by grub-setup during installation
46657 (since it wasn't obvious by only looking at this file).
46658
38ccf575 466592008-01-07 Robert Millan <rmh@aybabtu.com>
46660
46661 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
46662 listing actual TODO items.
46663
f5db4291 466642008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46665
868967cf 46666 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
46667 correctly.
46668 (grub_reiserfs_get_key_offset): Likewise.
46669 (grub_reiserfs_set_key_offset): Likewise.
46670 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 46671 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 46672
46673 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
46674 better to remove the bitfield version completely.
f19dbdb7 46675
868967cf 466762008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46677
f5db4291 46678 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
46679 allocated from the heap, due to the fshelp implementation.
46680 (grub_reiserfs_dir): Free NODE, due to the same reason.
46681
492e6d9d 466822008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46683
46684 Mostly from Vincent Pelletier:
f19dbdb7 46685
492e6d9d 46686 * fs/reiserfs.c: New file.
f19dbdb7 46687
492e6d9d 46688 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
46689 (reiserfs_mod_SOURCES): New variable.
46690 (reiserfs_mod_CFLAGS): Likewise.
46691 (reiserfs_mod_LDFLAGS): Likewise.
46692
46693 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
46694 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
46695 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
46696 normal/color.c.
46697
9ce3e7c1 466982008-01-06 Robert Millan <rmh@aybabtu.com>
46699
46700 * normal/color.c: Remove `<grub/env.h>'.
46701
f3b58148 467022008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
46703
46704 * include/grub/normal.h: Include <grub/env.h>.
46705
7ac3bcfa 467062008-01-05 Robert Millan <rmh@aybabtu.com>
46707
46708 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
46709 usage example with `(hd0,1)'.
fb358190 46710 Reported by Samuel Thibault.
7ac3bcfa 46711
c8ee99d7 467122008-01-05 Robert Millan <rmh@aybabtu.com>
46713
46714 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
46715 (grub_linux_boot_zimage): Rename to ...
46716 (grub_linux_boot): ... this.
46717 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
46718 (grub_linux_boot_zimage): Conditionalize zImage copy.
46719
46720 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
46721 (grub_linux_boot_bzimage): Remove prototype.
46722 (grub_linux_boot_zimage): Rename to ...
46723 (grub_linux_boot): ... this.
46724
46725 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
46726 (grub_linux_boot): Remove function.
46727
0ece25b1 467282008-01-05 Robert Millan <rmh@aybabtu.com>
46729
46730 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
46731 (grub_env_write_color_highlight): Likewise.
46732 (grub_wait_after_message): Likewise.
46733
46734 * normal/color.c: New file.
46735
46736 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46737 (normal_mod_DEPENDENCIES): Likewise.
46738
46739 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46740 (normal_mod_DEPENDENCIES): Likewise.
46741
46742 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46743 (normal_mod_DEPENDENCIES): Likewise.
46744
46745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46746 (normal_mod_DEPENDENCIES): Likewise.
46747
46748 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
46749 for waiting after a message is printed.
46750 * normal/main.c (read_config_file): Likewise.
46751 (grub_normal_init): Register grub_env_write_color_normal() and
46752 grub_env_write_color_highlight() hooks. Mark `color_normal' and
46753 `color_highlight' variables as global.
46754
46755 * normal/menu.c (grub_wait_after_message): New function.
46756 (grub_color_menu_normal): New variable. Replaces ...
46757 (GRUB_COLOR_MENU_NORMAL): ... this macro.
46758 (grub_color_menu_highlight): New variable. Replaces ...
46759 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
46760 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
46761 `GRUB_TERM_COLOR_STANDARD'.
46762 (print_message): Use `grub_setcolorstate' to reload colors. Rename
46763 `normal_code' and `highlight_code' to `old_color_normal' and
46764 `old_color_highlight', respectively.
46765 (grub_menu_init_page): Update colors when drawing the menu, based on
46766 `menu_color_normal' and `menu_color_highlight' variables.
46767 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
46768 a message is printed.
46769
182dd4e5 467702008-01-05 Robert Millan <rmh@aybabtu.com>
46771
46772 * kern/env.c (grub_env_context_open): Propagate hooks for global
46773 variables to new context.
46774
46775 * kern/main.c (grub_set_root_dev): Export `root' variable.
46776
ddf8f6ad 467772008-01-05 Robert Millan <rmh@aybabtu.com>
46778
46779 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 46780 discs unconditionally, since udev and others have options to provide
ddf8f6ad 46781 them.
46782
d8b43d9b 467832008-01-05 Robert Millan <rmh@aybabtu.com>
46784
46785 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
46786
2bff2de3 467872008-01-04 Christian Franke <franke@computer.org>
46788
46789 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
46790 of eisa_mmap.
46791
97eab917 467922008-01-03 Pavel Roskin <proski@gnu.org>
46793
46794 * kern/i386/linuxbios/init.c: Put "void" to all function
46795 declarations with no arguments.
46796 * kern/powerpc/ieee1275/init.c: Likewise.
46797 * term/i386/pc/at_keyboard.c: Likewise.
46798 * term/i386/pc/vga_text.c: Likewise.
46799 * util/grub-mkdevicemap.c: Likewise.
46800
b9416d00 468012008-01-02 Robert Millan <rmh@aybabtu.com>
46802
46803 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
46804 message when loaded image is out of bounds.
46805 (grub_multiboot_load_elf64): Likewise.
46806
92695df9 468072008-01-02 Pavel Roskin <proski@gnu.org>
46808
46809 * util/grub.d/10_linux.in: Try version without ".old" when
46810 looking for initrd. It's better to use initrd from the newer
46811 kernel of the same version than no initrd at all.
46812
d98d9cad 468132008-01-01 Robert Millan <rmh@aybabtu.com>
46814
46815 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
46816
dbfdce36 468172008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
46818
f19dbdb7 46819 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 46820 grub_video_get_active_render_target.
46821 (grub_video_adapter): Added unmap_color and get_active_render_target.
46822
f19dbdb7 46823 * video/video.c: Added grub_video_unmap_color and
dbfdce36 46824 grub_video_get_active_render_target.
46825 (grub_video_get_info): Changed method to accept NULL pointer as an
46826 argument to allow detection of active video adapter.
46827
46828 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
46829 grub_video_vbe_unmap_color_int.
46830 Added grub_video_vbe_unmap_color and
46831 grub_video_vbe_get_active_render_target.
46832 (grub_video_vbe_adapter): Added unmap_color and
46833 get_active_render_target.
46834
f19dbdb7 46835 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 46836 with grub_video_vbe_unmap_color_int.
46837
46838 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
46839 (DEFAULT_NORMAL_COLOR): Likewise.
46840 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
46841 (DEFAULT_FG_COLOR): Removed.
46842 (DEFAULT_BG_COLOR): Likewise.
46843 (DEFAULT_CURSOR_COLOR): Changed value.
46844 (grub_virtual_screen): Added standard_color_setting,
46845 normal_color_setting, highlight_color_setting and term_color.
46846 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
46847 (bitmap_width): Added.
46848 (bitmap_height): Likewise.
46849 (bitmap): Likewise.
46850 (set_term_color): Likewise.
46851 (grub_virtual_screen_setup): Changed to use new terminal coloring
46852 settings.
46853 (grub_gfxterm_init): Added init for bitmap.
46854 (grub_gfxterm_fini): Added destroy for bitmap.
46855 (redraw_screen_rect): Updated to use background bitmap and new
46856 terminal coloring.
46857 (scroll_up): Added optimization for case when there is no bitmap.
46858 (grub_gfxterm_cls): Fixed to use correct background color.
46859 (grub_virtual_screen_setcolorstate): Changed to use new terminal
46860 coloring.
46861 (grub_virtual_screen_setcolor): Likewise.
46862 (grub_virtual_screen_getcolor): Added.
46863 (grub_gfxterm_background_image_cmd): Likewise.
46864 (grub_video_term): Added setcolor and getcolor.
46865 (MOD_INIT): Added registration of background_image command.
46866 (MOD_TERM): Added unregistration for background_image command.
46867
c3c20931 468682007-12-30 Pavel Roskin <proski@gnu.org>
46869
46870 * loader/multiboot_loader.c: Fix multiboot command
46871 unregistration. Fix all typos in the word "multiboot".
46872
df266716 468732007-12-29 Pavel Roskin <proski@gnu.org>
94239199 46874
46875 * util/grub.d/10_linux.in: Refactor search for initrd. Add
46876 support for initrd names used in Fedora.
46877
fc6e896c 468782007-12-26 Bean <bean123ch@gmail.com>
46879
46880 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
46881 (cpio_mod_SOURCES): New variable.
46882 (cpio_mod_CFLAGS): Likewise.
46883 (cpio_mod_LDFLAGS): Likewise.
46884
46885 * fs/cpio.c: New file.
46886
46887 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
46888
46889 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46890
46891 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46892
46893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46894
533110ad 468952007-12-25 Robert Millan <rmh@aybabtu.com>
46896
46897 * include/grub/term.h (struct grub_term): Add `getcolor' function.
46898 (grub_getcolor): New function.
46899
46900 * kern/term.c (grub_getcolor): New function.
46901 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
46902 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
46903 (print_entry): Set normal and highlight colors to
46904 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
46905 respectively, before printing and restore them to old
46906 values afterwards.
46907 (grub_menu_init_page): Likewise. Fill an additional colored space
46908 that would otherwise be left blank.
46909
46910 * term/efi/console.c (grub_console_getcolor): New function.
46911 (struct grub_console_term.getcolor): New variable.
46912 * term/i386/pc/console.c (grub_console_getcolor): New function.
46913 (struct grub_console_term.getcolor): New variable.
46914 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
46915 (struct grub_console_term.getcolor): New variable.
46916
46917 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
46918 (struct grub_console_term.setcolor): Remove variable.
46919 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
46920 (struct grub_console_term.setcolor): Remove variable.
46921 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
46922 (struct grub_console_term.setcolor): Remove variable.
46923 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
46924 (struct grub_console_term.setcolor): Remove variable.
46925
4931827f 469262007-12-25 Robert Millan <rmh@aybabtu.com>
46927
46928 * configure.ac: Search for possible unifont.hex locations, and
46929 define UNIFONT_HEX if found.
46930
46931 * Makefile.in (UNIFONT_HEX): Define variable.
46932 (DATA): Rename to ...
46933 (PKGLIB): ... this. Update all users.
46934 (PKGDATA): New variable.
46935 (pkgdata_IMAGES): Rename to ...
46936 (pkglib_IMAGES): ... this. Update all users.
46937 (pkgdata_MODULES): Rename to ...
46938 (pkglib_MODULES): ... this. Update all users.
46939 (pkgdata_PROGRAMS): Rename to ...
46940 (pkglib_PROGRAMS): ... this. Update all users.
46941 (pkgdata_DATA): Rename to ...
46942 (pkglib_DATA): ... this. Update all users.
46943 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
46944 (unicode.pff, ascii.pff): New rules.
46945 (all-local): Add `$(PKGDATA)' dependency.
46946 (install-local): Process `$(PKGDATA)'.
46947
46948 * util/update-grub_lib.in (font_path): Search for *.pff files in
46949 a few more locations, including `${pkgdata}'.
46950
57e57e31 469512007-12-23 Robert Millan <rmh@aybabtu.com>
46952
46953 Patch from Bean <bean123ch@gmail.com>:
46954 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
46955 `size'.
46956
4bc72aa9 469572007-12-21 Bean <bean123ch@gmail.com>
46958
46959 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
46960 (ntfscomp_mod_SOURCES): New variable.
46961 (ntfscomp_mod_CFLAGS): Likewise.
46962 (ntfscomp_mod_LDFLAGS): Likewise.
46963
46964 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
46965 (grub_probe_SOURCES): Likewise.
46966 (grub_emu_SOURCES): Likewise.
46967
46968 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46969 (grub_emu_SOURCES): Likewise.
46970
46971 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46972 (grub_emu_SOURCES): Likewise.
46973
46974 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46975 (grub_emu_SOURCES): Likewise.
46976
46977 * fs/ntfs.c (grub_ntfscomp_func): New variable.
46978 (read_run_list): Renamed to grub_ntfs_read_run_list.
46979 (decomp_nextvcn): Moved to ntfscomp.c.
46980 (decomp_getch): Likewise.
46981 (decomp_get16): Likewise.
46982 (decomp_block): Likewise.
46983 (read_block): Likewise.
46984 (read_data): Partially moved to ntfscomp.c.
46985 (fixup): Change unsigned to grub_uint16_t.
46986 (read_mft): Change unsigned long to grub_uint32_t.
46987 (read_attr): Likewise.
46988 (read_data): Likewise.
46989 (read_run_data): Likewise.
46990 (read_run_list): Likewise.
46991 (read_mft): Likewise.
46992
46993 * fs/ntfscomp.c: New file.
46994
46995 * include/grub/ntfs.h: New file.
46996
af680a87 469972007-12-16 Robert Millan <rmh@aybabtu.com>
46998
46999 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
47000 IDE disk check, since Linux is known to support 20 IDE disks.
47001 Reported by Colin Watson.
47002
84be7599 470032007-12-15 Bean <bean123ch@gmail.com>
47004
47005 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
47006 (lnxboot_img_SOURCES): New variable.
47007 (lnxboot_img_ASFLAGS): Likewise.
47008 (lnxboot_img_LDFLAGS): Likewise.
47009
47010 * boot/i386/pc/lnxboot.S: New file.
47011
6af9db01 470122007-11-24 Pavel Roskin <proski@gnu.org>
47013
47014 * configure.ac: Test if '--build-id=none' is supported by the
47015 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
47016 objcopy to generate incorrect binary files (binutils
47017 2.17.50.0.18-1 as shipped by Fedora 8).
47018 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
47019 linking, so that build ID doesn't break the test.
47020
7361cfe6 470212007-11-24 Pavel Roskin <proski@gnu.org>
47022
47023 * include/grub/i386/time.h: use "void" in the argument list
47024 of grub_cpu_idle().
47025 * include/grub/powerpc/time.h: Likewise.
47026 * include/grub/sparc64/time.h: Likewise.
47027
1593e10c 470282007-11-18 Christian Franke <franke@computer.org>
47029
47030 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
47031 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
47032 This fixes the problem that function keys did not work in grub-emu.
47033
3b8db1a8 470342007-11-18 Christian Franke <franke@computer.org>
47035
47036 * disk/host.c (grub_host_open): Remove attribute unused from
47037 name parameter. Add check for "host". This fixes the problem
47038 that grub-emu does not find partitions.
47039
2e29408d 470402007-11-18 Christian Franke <franke@computer.org>
47041
47042 * util/hostfs.c (is_dir): New function.
47043 (grub_hostfs_dir): Handle missing dirent.d_type case.
47044 (grub_hostfs_read): Add missing fseek().
47045 (grub_hostfs_label): Clear label pointer. This fixes a crash
47046 of grub-emu on "ls (host)".
47047
398cd047 470482007-11-18 Christian Franke <franke@computer.org>
47049
47050 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
47051 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
47052 to 64 bit boundary by default.
47053
c405c391 470542007-11-18 Bean <bean123ch@gmail.com>
47055
47056 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
47057 (hexdump_mod_SOURCES): New variable.
47058 (hexdump_mod_CFLAGS): Likewise.
47059 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 47060
c405c391 47061 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47062
47063 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47064
47065 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47066
47067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47068
47069 * include/grub/hexdump.h: New file.
47070
47071 * commands/hexdump.c: New file.
47072
5cced7fd 470732007-11-10 Robert Millan <rmh@aybabtu.com>
47074
47075 * commands/i386/pc/play.c (beep_off): Switch order of arguments
47076 in grub_outb() calls.
47077 (beep_on): Likewise.
47078
8b714eb0 470792007-11-10 Christian Franke <franke@computer.org>
47080
47081 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
47082 (grub_menu_run): Likewise.
47083
ce0f1839 470842007-11-10 Robert Millan <rmh@aybabtu.com>
47085
47086 * include/grub/i386/efi/machine.h: New file.
47087 * include/grub/i386/linuxbios/machine.h: Likewise.
47088 * include/grub/i386/pc/machine.h: Likewise.
47089 * include/grub/powerpc/ieee1275/machine.h: Likewise.
47090 * include/grub/sparc64/ieee1275/machine.h: Likewise.
47091
47092 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
47093 (serial_hw_io_addr): New variable.
47094 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
47095 instead of `(unsigned short *) 0x400'.
47096
270c237d 470972007-11-10 Bean <bean123ch@gmail.com>
47098
47099 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
47100
a87783bf 471012007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47102
47103 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
47104 (vga_mod_SOURCES): Added.
47105 (vga_mod_CFLAGS): Likewise.
47106 (vga_mod_LDFLAGS): Likewise.
47107
47108 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
47109 grub_outb() calls.
47110 (set_map_mask): Likewise.
47111 (set_read_map): Likewise.
47112 (set_read_address): Likewise.
47113 (vga_font): Removed variable.
47114 (get_vga_glyph): Removed function.
47115 (invalidate_char): Likewise.
47116 (write_char): Changed to use grub_font_get_glyph() for font
47117 information.
47118 (grub_vga_putchar): Likewise.
47119 (grub_vga_getcharwidth): Likewise.
47120
6433b448 471212007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47122
47123 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
47124 flags.
47125 (pxeboot_img_LDFLAGS): Likewise.
47126 (diskboot_img_LDFLAGS): Likewise.
47127 (kernel_img_LDFLAGS): Likewise.
47128
49178511 471292007-11-06 Robert Millan <rmh@aybabtu.com>
47130
47131 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
47132 in grub_outb() calls.
47133 (serial_hw_init): Likewise.
47134
53b052de 471352007-11-05 Robert Millan <rmh@aybabtu.com>
47136
47137 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
47138 spaces. Skip non-regular files.
47139
5ab33bba 471402007-11-05 Robert Millan <rmh@aybabtu.com>
47141
47142 * kern/disk.c (grub_disk_firmware_fini)
47143 (grub_disk_firmware_is_tainted): New variables.
47144
47145 * include/grub/disk.h (grub_disk_firmware_fini)
47146 (grub_disk_firmware_is_tainted): Likewise.
47147
47148 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
47149 (grub_disk_biosdisk_fini): ... to here.
47150 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
47151 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
47152 is set. Register grub_disk_biosdisk_fini() in
47153 `grub_disk_firmware_fini'.
47154
47155 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
47156 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
47157 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
47158 to finish existing firmware disk interface.
47159
47160 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
47161 (ata_mod_SOURCES): New variable.
47162 (ata_mod_CFLAGS): Likewise.
47163 (ata_mod_LDFLAGS): Likewise.
47164
0149ab7c 471652007-11-05 Robert Millan <rmh@aybabtu.com>
47166
47167 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
47168 (grub_ata_wait): Reimplement using grub_millisleep().
47169
47170 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
47171 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
47172
be7ac41e 471732007-11-03 Marco Gerards <marco@gnu.org>
47174
47175 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
47176 (CRTC_ADDR_PORT): New macro.
47177 (CRTC_DATA_PORT): Likewise.
47178 (CRTC_CURSOR): Likewise.
47179 (CRTC_CURSOR_ADDR_HIGH): Likewise.
47180 (CRTC_CURSOR_ADDR_LOW): Likewise.
47181 (update_cursor): New function.
47182 (grub_console_real_putchar): Call `update_cursor'.
47183 (grub_console_gotoxy): Likewise.
47184 (grub_console_cls): Set the default color when clearing the
47185 screen.
47186 (grub_console_setcursor): Implemented.
47187
bb06ab2e 471882007-11-03 Marco Gerards <marco@gnu.org>
47189
47190 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
47191 become activate.
47192 (grub_ata_pio_write): Likewise.
47193
47194 (grub_atapi_identify): Wait after issuing an ATA command.
47195 (grub_atapi_packet): Likewise.
47196 (grub_ata_identify): Likewise.
47197 (grub_ata_readwrite): Likewise.
47198
cf8f780b 471992007-11-03 Marco Gerards <marco@gnu.org>
47200
47201 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
47202 (grub_ata_pio_write): Likewise.
47203 (grub_ata_readwrite): Use `grub_error', instead of
47204 returning `grub_errno'.
47205
ed649e54 472062007-11-03 Marco Gerards <marco@gnu.org>
47207
47208 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
47209 grub_ata_pio_write once for every single sector, instead of for
47210 multiple sectors.
47211
ca25d8f0 472122007-10-31 Robert Millan <rmh@aybabtu.com>
47213
47214 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
47215
47216 * conf/i386-linuxbios.rmk: New file.
47217
47218 * kern/i386/pc/hardware.c: Likewise.
47219 * term/i386/pc/at_keyboard.c: Likewise.
47220 * term/i386/pc/vga_text.c: Likewise.
47221
47222 * include/grub/i386/linuxbios/boot.h: Likewise.
47223 * include/grub/i386/linuxbios/console.h: Likewise.
47224 * include/grub/i386/linuxbios/init.h: Likewise.
47225 * include/grub/i386/linuxbios/kernel.h: Likewise.
47226 * include/grub/i386/linuxbios/loader.h: Likewise.
47227 * include/grub/i386/linuxbios/memory.h: Likewise.
47228 * include/grub/i386/linuxbios/serial.h: Likewise.
47229 * include/grub/i386/linuxbios/time.h: Likewise.
47230
47231 * kern/i386/linuxbios/init.c: Likewise.
47232 * kern/i386/linuxbios/startup.S: Likewise.
47233 * kern/i386/linuxbios/table.c: Likewise.
47234
e911ecc1 472352007-10-31 Marco Gerards <marco@gnu.org>
47236
47237 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
47238 (ata_mod_SOURCES): New variable.
47239 (ata_mod_CFLAGS): Likewise.
47240 (ata_mod_LDFLAGS): Likewise.
47241
47242 * disk/ata.c: New file.
47243
47244 * include/grub/disk.h (grub_disk_dev_id): Add
47245 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 47246
7f66d0e0 472472007-10-31 Robert Millan <rmh@aybabtu.com>
47248
47249 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
47250 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
47251
47252 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
47253 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
47254
47255 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
47256 `<grub/types.h>'.
47257
47258 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
47259
5cd7dd46 472602007-10-27 Robert Millan <rmh@aybabtu.com>
47261
3236ca65 47262 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 47263
2ebfc90f 472642007-10-22 Robert Millan <rmh@aybabtu.com>
47265
47266 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
47267 `"../realmode.S"'.
47268 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
47269
73fcb0f3 472702007-10-22 Robert Millan <rmh@aybabtu.com>
47271
47272 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
47273 (pkgdata_MODULES): Add `biosdisk.mod'.
47274 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
47275 variables.
47276
47277 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
47278 (grub_biosdisk_init): Replace with ...
47279 (GRUB_MOD_INIT(biosdisk)): ... this.
47280 (grub_biosdisk_fini): Replace with ...
47281 (GRUB_MOD_FINI(biosdisk)): ... this.
47282
47283 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
47284 (grub_machine_init): Remove call to grub_biosdisk_init().
47285 (grub_machine_fini): Remove call to grub_machine_fini().
47286
47287 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
47288
3381d274 472892007-10-22 Robert Millan <rmh@aybabtu.com>
47290
47291 * include/grub/time.h: New file.
47292 * include/grub/i386/time.h: Likewise.
47293 * include/grub/powerpc/time.h: Likewise.
47294 * include/grub/sparc64/time.h: Likewise.
47295
47296 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
47297 instances to ...
47298 (KERNEL_MACHINE_TIME_HEADER): ... this.
47299 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47300 instances to ...
47301 (KERNEL_MACHINE_TIME_HEADER): ... this.
47302 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47303 instances to ...
47304 (KERNEL_MACHINE_TIME_HEADER): ... this.
47305
47306 * kern/i386/efi/init.c: Include `<grub/time.h>'.
47307 (grub_millisleep): New function.
47308 * kern/i386/pc/init.c: Include `<grub/time.h>'.
47309 (grub_millisleep): New function.
47310 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
47311 Remove `grub/machine/time.h' include.
47312 (grub_millisleep): New function.
47313 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
47314 Remove `grub/machine/time.h' include.
47315 (grub_millisleep): New function.
47316
47317 * include/grub/misc.h (grub_div_roundup): New function.
47318
47319 * kern/misc.c: Include `<grub/time.h>'.
47320 (grub_millisleep_generic): New function.
47321
47322 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
47323 Add `time.h'.
47324 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
47325 Add `time.h'.
47326 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
47327 `machine/time.h'. Add `time.h'.
47328 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47329
a39a0312 473302007-10-21 Robert Millan <rmh@aybabtu.com>
47331
47332 * include/grub/misc.h (grub_max): New function.
47333
2aad70e2 473342007-10-21 Robert Millan <rmh@aybabtu.com>
47335
47336 * util/misc.c (grub_util_info): Call fflush() before returning.
47337
54b71c4b 473382007-10-20 Robert Millan <rmh@aybabtu.com>
47339
47340 * genmk.rb (Image): Copy `extra_flags' from here ...
47341 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
47342
47343 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
47344 to `argc' and `args' arguments.
47345
a979f513 473462007-10-17 Robert Millan <rmh@aybabtu.com>
47347
47348 * kern/i386/loader.S: New file.
47349
47350 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
47351 * kern/i386/loader.S (grub_linux_prot_size)... to here.
47352 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
47353 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
47354 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
47355 * kern/i386/loader.S (grub_linux_real_addr)... to here.
47356 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
47357 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
47358 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
47359 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
47360 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
47361 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
47362 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
47363 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
47364
47365 * kern/i386/realmode.S: New file.
47366
47367 * kern/i386/pc/startup.S (protstack): Moved from here ...
47368 * kern/i386/realmode.S (protstack)... to here.
47369 * kern/i386/pc/startup.S (gdt): Moved from here ...
47370 * kern/i386/realmode.S (gdt)... to here.
47371 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
47372 * kern/i386/realmode.S (prot_to_real)... to here.
47373
47374 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
47375 `kern/i386/realmode.S'.
47376
825fc8fd 473772007-10-17 Robert Millan <rmh@aybabtu.com>
47378
47379 * include/grub/i386/loader.h: New file.
47380
47381 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
47382 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47383 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47384 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47385 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
47386 * include/grub/i386/loader.h (grub_linux_prot_size)
47387 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47388 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47389 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47390 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
47391
47392 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
47393
e179b2f4 473942007-10-15 Robert Millan <rmh@aybabtu.com>
47395
47396 * normal/misc.c (grub_normal_print_device_info): Do not probe for
47397 filesystem when dev->disk is unset.
47398 Do probe for filesystem even when dev->disk->has_partitions is set.
47399 In case a filesystem is found, always report it.
47400 In case it isn't, if dev->disk->has_partitions is set, report that
47401 a partition table was found instead of reporting that no filesystem
47402 could be identified.
47403
5db82af6 474042007-10-12 Robert Millan <rmh@aybabtu.com>
47405
47406 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
47407 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
47408
68f6ac74 47409 * include/grub/types.h (grub_host_to_target16): New macro.
47410 (grub_host_to_target32): Likewise.
47411 (grub_host_to_target64): Likewise.
47412 (grub_target_to_host16): Likewise.
47413 (grub_target_to_host32): Likewise.
47414 (grub_target_to_host64): Likewise.
5db82af6 47415
47416 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47417 Renamed from to ...
47418 (GRUB_MOD_ALIGN): ...this. Update all users.
47419
68f6ac74 47420 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
47421 grub_host_to_target32.
47422 Replace grub_be_to_cpu32 with grub_target_to_host32.
47423 (load_modules): Likewise.
47424 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
47425 Replace grub_be_to_cpu32 with grub_target_to_host32.
47426 Replace grub_cpu_to_be16 with grub_host_to_target16.
47427 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 47428
3cf497cc 474292007-10-12 Robert Millan <rmh@aybabtu.com>
47430
47431 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
47432 * util/elf/grub-mkimage.c: ... here.
47433
47434 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
47435 `util/powerpc/ieee1275/grub-mkimage.c'.
47436
c8cc3692 474372007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 47438
c8cc3692 47439 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
47440 and make it easier to figure out.
47441 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
47442 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
47443 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
47444 leave us with less than HEAP_MIN_SIZE total heap.
47445 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 47446
5c58b791 474472007-10-03 Robert Millan <rmh@aybabtu.com>
47448
47449 * include/grub/i386/io.h: New file.
47450 * commands/i386/pc/play.c (inb): Removed.
47451 (outb): Removed.
47452 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47453 with grub_outb().
afcd2ef8 47454 * term/i386/pc/serial.c (inb): Removed.
47455 (outb): Removed.
47456 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47457 with grub_outb().
47458 * term/i386/pc/vga.c (inb): Removed.
47459 (outb): Removed.
47460 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47461 with grub_outb().
5c58b791 47462
1a477ed6 474632007-10-02 Robert Millan <rmh@aybabtu.com>
47464
47465 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
47466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47467 Reported by Marcin Kurek.
47468
6b5d80fa 474692007-09-07 Robert Millan <rmh@aybabtu.com>
47470
47471 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
47472 SmartFirmware version updates (as released by Sven Luther), and avoid
47473 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
47474 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
47475 known broken.
47476
5618afbf 474772007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47478
47479 From Hitoshi Ozeki:
47480 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
47481 when merging two regions.
47482
6139dcd9 474832007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47484
508e39ee 47485 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
47486 * normal/completion.c (grub_normal_do_completion): Likewise.
47487 Reported by Hitoshi Ozeki.
47488
474892007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 47490
6139dcd9 47491 Do not use devices at boot in chainloading.
f19dbdb7 47492
6139dcd9 47493 * loader/i386/pc/chainloader.c (boot_drive): New variable.
47494 (boot_part_addr): Likewise.
47495 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
47496 with BOOT_DRIVE and BOOT_PART_ADDR.
47497 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
47498 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
47499
38da6516 475002007-08-29 Robert Millan <rmh@aybabtu.com>
47501
47502 Patch from Simon Peter <dn.tlp@gmx.net>:
47503 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
47504 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
47505 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
47506 util/i386/pc/grub-setup.c_DEPENDENCIES.
47507 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
47508 util/grub-probe.c_DEPENDENCIES.
47509 * conf/powerpc-ieee1275.rmk: Likewise.
47510
29d0928c 475112007-08-28 Robert Millan <rmh@aybabtu.com>
47512
47513 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
47514 to tell grub-mkdevicemap how to name devices.
47515 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
47516 feature).
47517
47518 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
47519 util/i386/get_disk_name.c.
47520 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
47521 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
47522 util/ieee1275/get_disk_name.c.
47523
47524 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
47525
47526 * DISTLIST: Add util/i386/get_disk_name.c and
47527 util/ieee1275/get_disk_name.c.
47528
47529 * util/grub-mkdevicemap.c: Replace device naming logic with
47530 grub_util_get_disk_name() calls.
47531
5a0d3cca 475322007-08-20 Robert Millan <rmh@aybabtu.com>
47533
47534 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
47535 (so that it works for both plural and singular quantities).
47536
8b72db2f 475372007-08-05 Robert Millan <rmh@aybabtu.com>
47538
47539 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
47540 so that [xz] isn't taken into account when determining order.
47541
352466bf 475422007-08-02 Marco Gerards <marco@gnu.org>
47543
47544 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
47545 `include/multiboot2.h', `include/grub/elfload.h',
47546 `include/multiboot.h', `include/grub/multiboot.h',
47547 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
47548 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
47549 `kern/elf.c', `loader/multiboot_loader.c',
47550 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
47551 `loader/i386/pc/multiboot2.c',
47552 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
47553 `util/i386/pc/grub-mkrescue.in'. Remove
47554 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
47555 `include/grub/i386/pc/util/biosdisk.h' and
47556 `include/grub/powerpc/ieee1275/multiboot.h'.
47557
8f096014 475582007-08-02 Bean <bean123ch@gmail.com>
47559
47560 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
47561 (ntfs_mod_SOURCES): New variable.
47562 (ntfs_mod_CFLAGS): Likewise.
47563 (ntfs_mod_LDFLAGS): Likewise.
47564
47565 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
47566 (grub_probe_SOURCES): Likewise.
47567 (grub_emu_SOURCES): Likewise.
47568
47569 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47570 (grub_emu_SOURCES): Likewise.
47571
47572 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47573 (grub_emu_SOURCES): Likewise.
f19dbdb7 47574
8f096014 47575 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
47576
47577 * fs/ntfs.c: New file.
47578
9959f7db 475792007-08-02 Bean <bean123ch@gmail.com>
47580
47581 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
47582
47583 * file.h (grub_file): Likewise.
47584
47585 * fshelp.h (grub_fshelp_read_file): Likewise.
47586
47587 * util/i386/pc/grub-setup.c (setup): Likewise.
47588 (save_first_sector): Likewise.
47589 (save_blocklists): Likewise.
f19dbdb7 47590
9959f7db 47591 * fs/affs.c (grub_affs_read_file): Likewise.
47592
47593 * fs/ext2.c (grub_ext2_read_file): Likewise.
47594
47595 * fs/fat.c (grub_fat_read_data): Likewise.
47596
47597 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
47598
47599 * fs/hfs.c (grub_hfs_read_file): Likewise.
47600
47601 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47602
47603 * fs/jfs.c (grub_jfs_read_file): Likewise.
47604
47605 * fs/minix.c (grub_minix_read_file): Likewise.
47606
47607 * fs/sfs.c (grub_sfs_read_file): Likewise.
47608
47609 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 47610
9959f7db 47611 * fs/xfs.c (grub_xfs_read_file): Likewise.
47612
47613 * command/blocklist.c (read_blocklist): Likewise.
47614 (print_blocklist): Likewise.
47615
0a203f83 476162007-08-02 Marco Gerards <marco@gnu.org>
47617
47618 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
47619 `util/hostfs.c'.
47620
47621 * disk/host.c: New file.
47622
47623 * util/hostfs.c: Likewise.
47624
47625 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
47626 return `GRUB_ERR_BAD_FS'.
47627 * fs/sfs.c (grub_sfs_mount): Likewise.
47628 * fs/xfs.c (grub_xfs_mount): Likewise.
47629
47630 * include/grub/disk.h (enum grub_disk_dev_id): Add
47631 `GRUB_DISK_DEVICE_HOST_ID'.
47632
47633 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
47634
e5dfe777 476352007-07-24 Jerone Young <jerone@gmail.com>
47636
f19dbdb7 47637 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 47638 modules for compilation.
47639 * conf/powerpc-ieee1275.rmk: Likewise.
47640
47641 * include/multiboot.h: Move multiboot definitions to one file. Rename
47642 many definitions to not get grub specific.
47643 * include/multiboot2.h: Create header with multiboot 2 definitions.
47644 * include/grub/multiboot.h: Header for grub specific function
47645 prototypes and definitions.
47646 * include/grub/multiboot2.h: Likewise.
47647 * include/grub/multiboot_loader.h: Likewise.
47648 * include/grub/i386/pc/multiboot.h: Removed.
47649 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
47650
47651 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
47652 and 2 to allow for one multiboot and module commands.
47653 * loader/multiboot2.c: Add multiboot2 functionality.
47654 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
47655 and definition names.
47656 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
47657 2 functions.
47658 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
47659 ieee1275 specific multiboot2 code.
47660
47661 * kern/i386/pc/startup.S: Change headers and definition names for
47662 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
47663
daf0f0ba 476642007-07-22 Robert Millan <rmh@aybabtu.com>
47665
47666 * geninitheader.sh: Process file specified in first parameter rather
47667 than hardcoding grub_modules_init.lst.
fe6b695a 47668 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 47669 than hardcoding grub_modules_init.h.
47670
47671 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
47672 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
47673 grub_probe_init.[ch] and grub_setup_init.[ch].
47674
47675 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
47676 grub_modules_init.h with grub_emu_init.h.
47677 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
47678 grub_probe_init.[ch] files.
47679 * conf/i386-efi.rmk: Likewise.
47680 * conf/i386-pc.rmk: Likewise.
47681 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
47682 grub_setup_init.[ch] files.
47683
47684 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
47685 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
47686 to initialize modules rather than a list of hardcoded functions.
47687 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
47688 grub_init_all() to initialize modules rather than a list of hardcoded
47689 functions.
47690
54cdc1cc 476912007-07-22 Robert Millan <rmh@aybabtu.com>
47692
47693 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
47694 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
47695
ad0686cc 476962007-07-22 Robert Millan <rmh@aybabtu.com>
47697
47698 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
47699 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
47700 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
47701 flag when running on SmartFirmware.
47702 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
47703 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
47704 was set.
47705
47706 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47707 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
47708 rather than decreasing it.
47709
47710 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
47711 there's not enough space to do it, fail in the same way as when it
47712 can't be done because there are no partitions.
47713
47714 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
47715 when nvsetenv failed.
47716
969c02ec 477172007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47718
47719 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
47720 because this rule is automatically generated.
47721 (grub-mkrescue): Removed for the same reason as above.
47722
5a79f472 477232007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47724
47725 Migrate to GNU General Public License Version 3.
f19dbdb7 47726
5a79f472 47727 * COPYING: Replaced with the plain text version of GPLv3.
47728
47729 * config.guess: Updated from gnulib.
47730 * config.sub: Likewise.
47731
47732 * geninit.sh: Output a GPLv3 copyright notice.
47733 * geninitheader.sh: Likewise.
47734 * genmodsrc.sh: Likewise.
47735 * gensymlist.sh.in: Likewise.
47736
47737 * boot/i386/pc/boot.S: Upgraded to GPLv3.
47738 * boot/i386/pc/diskboot.S: Likewise.
47739 * boot/i386/pc/pxeboot.S: Likewise.
47740 * commands/blocklist.c: Likewise.
47741 * commands/boot.c: Likewise.
47742 * commands/cat.c: Likewise.
47743 * commands/cmp.c: Likewise.
47744 * commands/configfile.c: Likewise.
47745 * commands/echo.c: Likewise.
47746 * commands/help.c: Likewise.
47747 * commands/ls.c: Likewise.
47748 * commands/search.c: Likewise.
47749 * commands/terminal.c: Likewise.
47750 * commands/test.c: Likewise.
47751 * commands/videotest.c: Likewise.
47752 * commands/i386/cpuid.c: Likewise.
47753 * commands/i386/pc/halt.c: Likewise.
47754 * commands/i386/pc/play.c: Likewise.
47755 * commands/i386/pc/reboot.c: Likewise.
47756 * commands/i386/pc/vbeinfo.c: Likewise.
47757 * commands/i386/pc/vbetest.c: Likewise.
47758 * commands/ieee1275/halt.c: Likewise.
47759 * commands/ieee1275/reboot.c: Likewise.
47760 * commands/ieee1275/suspend.c: Likewise.
47761 * disk/loopback.c: Likewise.
47762 * disk/lvm.c: Likewise.
47763 * disk/raid.c: Likewise.
47764 * disk/efi/efidisk.c: Likewise.
47765 * disk/i386/pc/biosdisk.c: Likewise.
47766 * disk/ieee1275/ofdisk.c: Likewise.
47767 * font/manager.c: Likewise.
47768 * fs/affs.c: Likewise.
47769 * fs/ext2.c: Likewise.
47770 * fs/fat.c: Likewise.
47771 * fs/fshelp.c: Likewise.
47772 * fs/hfs.c: Likewise.
47773 * fs/hfsplus.c: Likewise.
47774 * fs/iso9660.c: Likewise.
47775 * fs/jfs.c: Likewise.
47776 * fs/minix.c: Likewise.
47777 * fs/sfs.c: Likewise.
47778 * fs/ufs.c: Likewise.
47779 * fs/xfs.c: Likewise.
47780 * hello/hello.c: Likewise.
47781 * include/grub/acorn_filecore.h: Likewise.
47782 * include/grub/arg.h: Likewise.
47783 * include/grub/bitmap.h: Likewise.
47784 * include/grub/boot.h: Likewise.
47785 * include/grub/cache.h: Likewise.
47786 * include/grub/device.h: Likewise.
47787 * include/grub/disk.h: Likewise.
47788 * include/grub/dl.h: Likewise.
47789 * include/grub/elfload.h: Likewise.
47790 * include/grub/env.h: Likewise.
47791 * include/grub/err.h: Likewise.
47792 * include/grub/file.h: Likewise.
47793 * include/grub/font.h: Likewise.
47794 * include/grub/fs.h: Likewise.
47795 * include/grub/fshelp.h: Likewise.
47796 * include/grub/gzio.h: Likewise.
47797 * include/grub/hfs.h: Likewise.
47798 * include/grub/kernel.h: Likewise.
47799 * include/grub/loader.h: Likewise.
47800 * include/grub/lvm.h: Likewise.
47801 * include/grub/misc.h: Likewise.
47802 * include/grub/mm.h: Likewise.
47803 * include/grub/net.h: Likewise.
47804 * include/grub/normal.h: Likewise.
47805 * include/grub/parser.h: Likewise.
47806 * include/grub/partition.h: Likewise.
47807 * include/grub/pc_partition.h: Likewise.
47808 * include/grub/raid.h: Likewise.
47809 * include/grub/rescue.h: Likewise.
47810 * include/grub/script.h: Likewise.
47811 * include/grub/setjmp.h: Likewise.
47812 * include/grub/symbol.h: Likewise.
47813 * include/grub/term.h: Likewise.
47814 * include/grub/terminfo.h: Likewise.
47815 * include/grub/tparm.h: Likewise.
47816 * include/grub/types.h: Likewise.
47817 * include/grub/video.h: Likewise.
47818 * include/grub/efi/api.h: Likewise.
47819 * include/grub/efi/chainloader.h: Likewise.
47820 * include/grub/efi/console.h: Likewise.
47821 * include/grub/efi/console_control.h: Likewise.
47822 * include/grub/efi/disk.h: Likewise.
47823 * include/grub/efi/efi.h: Likewise.
47824 * include/grub/efi/pe32.h: Likewise.
47825 * include/grub/efi/time.h: Likewise.
47826 * include/grub/i386/linux.h: Likewise.
47827 * include/grub/i386/setjmp.h: Likewise.
47828 * include/grub/i386/types.h: Likewise.
47829 * include/grub/i386/efi/kernel.h: Likewise.
47830 * include/grub/i386/efi/loader.h: Likewise.
47831 * include/grub/i386/efi/time.h: Likewise.
47832 * include/grub/i386/pc/biosdisk.h: Likewise.
47833 * include/grub/i386/pc/boot.h: Likewise.
47834 * include/grub/i386/pc/chainloader.h: Likewise.
47835 * include/grub/i386/pc/console.h: Likewise.
47836 * include/grub/i386/pc/init.h: Likewise.
47837 * include/grub/i386/pc/kernel.h: Likewise.
47838 * include/grub/i386/pc/loader.h: Likewise.
47839 * include/grub/i386/pc/memory.h: Likewise.
47840 * include/grub/i386/pc/multiboot.h: Likewise.
47841 * include/grub/i386/pc/serial.h: Likewise.
47842 * include/grub/i386/pc/time.h: Likewise.
47843 * include/grub/i386/pc/vbe.h: Likewise.
47844 * include/grub/i386/pc/vbeblit.h: Likewise.
47845 * include/grub/i386/pc/vbefill.h: Likewise.
47846 * include/grub/i386/pc/vbeutil.h: Likewise.
47847 * include/grub/i386/pc/vga.h: Likewise.
47848 * include/grub/ieee1275/ieee1275.h: Likewise.
47849 * include/grub/ieee1275/ofdisk.h: Likewise.
47850 * include/grub/powerpc/libgcc.h: Likewise.
47851 * include/grub/powerpc/setjmp.h: Likewise.
47852 * include/grub/powerpc/types.h: Likewise.
47853 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
47854 * include/grub/powerpc/ieee1275/console.h: Likewise.
47855 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
47856 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
47857 * include/grub/powerpc/ieee1275/loader.h: Likewise.
47858 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
47859 * include/grub/powerpc/ieee1275/time.h: Likewise.
47860 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
47861 * include/grub/sparc64/libgcc.h: Likewise.
47862 * include/grub/sparc64/setjmp.h: Likewise.
47863 * include/grub/sparc64/types.h: Likewise.
47864 * include/grub/sparc64/ieee1275/console.h: Likewise.
47865 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47866 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47867 * include/grub/sparc64/ieee1275/time.h: Likewise.
47868 * include/grub/util/biosdisk.h: Likewise.
47869 * include/grub/util/getroot.h: Likewise.
47870 * include/grub/util/lvm.h: Likewise.
47871 * include/grub/util/misc.h: Likewise.
47872 * include/grub/util/raid.h: Likewise.
47873 * include/grub/util/resolve.h: Likewise.
47874 * io/gzio.c: Likewise.
47875 * kern/device.c: Likewise.
47876 * kern/disk.c: Likewise.
47877 * kern/dl.c: Likewise.
47878 * kern/elf.c: Likewise.
47879 * kern/env.c: Likewise.
47880 * kern/err.c: Likewise.
47881 * kern/file.c: Likewise.
47882 * kern/fs.c: Likewise.
47883 * kern/loader.c: Likewise.
47884 * kern/main.c: Likewise.
47885 * kern/misc.c: Likewise.
47886 * kern/mm.c: Likewise.
47887 * kern/parser.c: Likewise.
47888 * kern/partition.c: Likewise.
47889 * kern/rescue.c: Likewise.
47890 * kern/term.c: Likewise.
47891 * kern/efi/efi.c: Likewise.
47892 * kern/efi/init.c: Likewise.
47893 * kern/efi/mm.c: Likewise.
47894 * kern/i386/dl.c: Likewise.
47895 * kern/i386/efi/init.c: Likewise.
47896 * kern/i386/efi/startup.S: Likewise.
47897 * kern/i386/pc/init.c: Likewise.
47898 * kern/i386/pc/lzo1x.S: Likewise.
47899 * kern/i386/pc/startup.S: Likewise.
47900 * kern/ieee1275/ieee1275.c: Likewise.
47901 * kern/powerpc/cache.S: Likewise.
47902 * kern/powerpc/dl.c: Likewise.
47903 * kern/powerpc/ieee1275/cmain.c: Likewise.
47904 * kern/powerpc/ieee1275/crt0.S: Likewise.
47905 * kern/powerpc/ieee1275/init.c: Likewise.
47906 * kern/powerpc/ieee1275/openfw.c: Likewise.
47907 * kern/sparc64/cache.S: Likewise.
47908 * kern/sparc64/dl.c: Likewise.
47909 * kern/sparc64/ieee1275/init.c: Likewise.
47910 * kern/sparc64/ieee1275/openfw.c: Likewise.
47911 * loader/efi/chainloader.c: Likewise.
47912 * loader/efi/chainloader_normal.c: Likewise.
47913 * loader/i386/efi/linux.c: Likewise.
47914 * loader/i386/efi/linux_normal.c: Likewise.
47915 * loader/i386/pc/chainloader.c: Likewise.
47916 * loader/i386/pc/chainloader_normal.c: Likewise.
47917 * loader/i386/pc/linux.c: Likewise.
47918 * loader/i386/pc/linux_normal.c: Likewise.
47919 * loader/i386/pc/multiboot.c: Likewise.
47920 * loader/i386/pc/multiboot_normal.c: Likewise.
47921 * loader/powerpc/ieee1275/linux.c: Likewise.
47922 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47923 * normal/arg.c: Likewise.
47924 * normal/cmdline.c: Likewise.
47925 * normal/command.c: Likewise.
47926 * normal/completion.c: Likewise.
47927 * normal/execute.c: Likewise.
47928 * normal/function.c: Likewise.
47929 * normal/lexer.c: Likewise.
47930 * normal/main.c: Likewise.
47931 * normal/menu.c: Likewise.
47932 * normal/menu_entry.c: Likewise.
47933 * normal/misc.c: Likewise.
47934 * normal/parser.y: Likewise.
47935 * normal/script.c: Likewise.
47936 * normal/i386/setjmp.S: Likewise.
47937 * normal/powerpc/setjmp.S: Likewise.
47938 * normal/sparc64/setjmp.S: Likewise.
47939 * partmap/acorn.c: Likewise.
47940 * partmap/amiga.c: Likewise.
47941 * partmap/apple.c: Likewise.
47942 * partmap/gpt.c: Likewise.
47943 * partmap/pc.c: Likewise.
47944 * partmap/sun.c: Likewise.
47945 * term/gfxterm.c: Likewise.
47946 * term/terminfo.c: Likewise.
47947 * term/efi/console.c: Likewise.
47948 * term/i386/pc/console.c: Likewise.
47949 * term/i386/pc/serial.c: Likewise.
47950 * term/i386/pc/vesafb.c: Likewise.
47951 * term/i386/pc/vga.c: Likewise.
47952 * term/ieee1275/ofconsole.c: Likewise.
47953 * util/biosdisk.c: Likewise.
47954 * util/console.c: Likewise.
47955 * util/genmoddep.c: Likewise.
47956 * util/getroot.c: Likewise.
47957 * util/grub-emu.c: Likewise.
47958 * util/grub-mkdevicemap.c: Likewise.
47959 * util/grub-probe.c: Likewise.
47960 * util/lvm.c: Likewise.
47961 * util/misc.c: Likewise.
47962 * util/raid.c: Likewise.
47963 * util/resolve.c: Likewise.
47964 * util/update-grub.in: Likewise.
47965 * util/update-grub_lib.in: Likewise.
47966 * util/grub.d/00_header.in: Likewise.
47967 * util/grub.d/10_hurd.in: Likewise.
47968 * util/grub.d/10_linux.in: Likewise.
47969 * util/i386/efi/grub-install.in: Likewise.
47970 * util/i386/efi/grub-mkimage.c: Likewise.
47971 * util/i386/pc/grub-install.in: Likewise.
47972 * util/i386/pc/grub-mkimage.c: Likewise.
47973 * util/i386/pc/grub-mkrescue.in: Likewise.
47974 * util/i386/pc/grub-setup.c: Likewise.
47975 * util/i386/pc/misc.c: Likewise.
47976 * util/powerpc/ieee1275/grub-install.in: Likewise.
47977 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
47978 * util/powerpc/ieee1275/misc.c: Likewise.
47979 * video/bitmap.c: Likewise.
47980 * video/video.c: Likewise.
47981 * video/i386/pc/vbe.c: Likewise.
47982 * video/i386/pc/vbeblit.c: Likewise.
47983 * video/i386/pc/vbefill.c: Likewise.
47984 * video/i386/pc/vbeutil.c: Likewise.
47985 * video/readers/tga.c: Likewise.
47986
3572d015 479872007-07-02 Robert Millan <rmh@aybabtu.com>
47988
47989 * conf/i386-efi.rmk: Replace obsolete reference to
47990 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
47991 with util/getroot.c.
47992 * conf/powerpc-ieee1275.rmk: Likewise.
47993 * conf/sparc64-ieee1275.rmk: Likewise.
47994
47995 * util/grub-emu.c (main): Fix unchecked pointer handling.
47996
2c2a681b 479972007-07-02 Robert Millan <rmh@aybabtu.com>
47998
47999 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
48000 invocation to fail, in order to support partition-less media.
48001
48002 * util/i386/pc/grub-install.in: Likewise.
48003
48004 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
48005 which fs or partmap modules are needed (akin to its sister scripts).
48006
48007 Also use grub-probe to get rid of unportable /proc/mounts check.
48008
48009 Print the same informational message that the other scripts do, before
fe6b695a 48010 exiting.
2c2a681b 48011
6193defe 480122007-06-23 Robert Millan <rmh@aybabtu.com>
48013
fe6b695a 48014 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 48015 a font file can be found and, if so, echo the GRUB path to it.
48016
48017 * util/update-grub.in: Handle multiple terminals depending on user
48018 input, platform availability and font file presence. Propagate
48019 variables of our findings to /etc/grub.d/ children.
48020
48021 * util/grub.d/00_header.in: Handle multiple terminals, based on
48022 environment setup by update-grub.
48023
eface1dc 480242007-06-23 Robert Millan <rmh@aybabtu.com>
48025
ba50d28f 48026 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 48027
bf697e28 480282007-06-21 Robert Millan <rmh@aybabtu.com>
48029
48030 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
48031 indicate end of data section in kernel image.
48032 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
48033 GRUB_KERNEL_MACHINE_DATA_END.
48034
48035 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
48036 space for it.
48037 * kern/i386/efi/startup.S: Likewise.
48038
48039 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
48040 during image generation. Implement --prefix option to override this
48041 patch.
48042 * util/i386/efi/grub-mkimage.c: Likewise.
48043
48044 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
48045 code to make path relative to its root into a separate function.
48046
48047 * util/i386/pc/grub-install.in: Use newly provided
48048 make_system_path_relative_to_its_root() to convert ${grubdir}, then
48049 pass the result to grub-install --prefix.
48050
baa574b4 480512007-06-13 Robert Millan <rmh@aybabtu.com>
48052
48053 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
48054 DEFAULT_DEVICE_MAP.
48055 * util/grub-emu.c: Use above definitions from misc.h instead of
48056 defining them.
48057 * util/grub-mkdevicemap.c: Likewise.
48058 * util/i386/pc/grub-setup.c: Likewise.
48059 * util/grub-probe.c: Likewise.
48060 (probe): Abort with grub_util_error() when either
48061 grub_guess_root_device or grub_util_get_grub_dev fails.
48062
0215dcbf 480632007-06-12 Robert Millan <rmh@aybabtu.com>
48064
48065 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
48066 "pager" assignment.
48067 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
48068 "pcdata".
48069 * util/grub-probe.c (probe): Likewise for "drive_name".
48070
8af2ab7b 480712007-06-11 Robert Millan <rmh@aybabtu.com>
48072
48073 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
48074 not just the cdrom one.
48075
59d31694 480762007-06-11 Robert Millan <rmh@aybabtu.com>
48077
48078 * util/i386/pc/grub-mkrescue.in: Add "set -e".
48079 Add --pkglibdir=DIR option to override pkglibdir.
48080 Mention --image-type=TYPE in help output.
48081 Fix --grub-mkimage (it was a no-op).
fe6b695a 48082 Abort gracefully when no parameter is given.
59d31694 48083
7ee367e4 480842007-06-11 Robert Millan <rmh@aybabtu.com>
48085
48086 * util/i386/pc/grub-mkrescue.in: New file.
48087 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
48088 * Makefile.in: Handle bin_SCRIPTS.
48089
29b0ed46 480902007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
48091
48092 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
48093 list of video modes.
48094
c0f90770 480952007-06-06 Robert Millan <rmh@aybabtu.com>
48096
48097 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
48098 file doesn't exist, or if it is in a filesystem grub can't read.
48099
48100 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
48101 not abort if GRUB_DRIVE could not be defined. Rearrange generated
48102 header comment to fit in 80 columns when the variables are resolved.
48103
48104 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
48105 could be identified by update-grub. Remove redundant check for
fe6b695a 48106 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 48107 handles that).
48108
fb36dc26 481092007-06-04 Robert Millan <rmh@aybabtu.com>
48110
48111 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
48112
48113 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
48114
48115 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
48116
0c68c93e 481172007-06-04 Robert Millan <rmh@aybabtu.com>
48118
48119 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
48120
48121 * include/grub/partition.h: Declare grub_apple_partition_map_init and
48122 grub_apple_partition_map_fini.
48123
48124 * util/biosdisk.c
48125 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
48126 to access >2 TiB disks).
48127
48128 Print disk->total_sectors with %llu instead of %lu, since this
48129 variable is always 64-bit (prevents wrong disk size from being displayed
48130 on either >2 TiB disk or big-endian CPU).
48131
48132 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
48133 into a generic case that supports all (sane) partition maps.
48134
48135 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
48136 breaks big-endian.
48137
48138 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
48139 and grub_apple_partition_map_fini() after that.
48140
0f23eb74 481412007-06-01 Robert Millan <rmh@aybabtu.com>
48142
48143 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
48144
48145 * util/grub.d/00_header.in: Only enable gfxterm when
48146 convert_system_path_to_grub_path() succeeds.
48147
42c71976 481482007-05-20 Robert Millan <rmh@aybabtu.com>
48149
48150 * util/update-grub_lib.in: New file.
48151 * DISTLIST: Add update-grub_lib.in.
48152 * conf/common.rmk: Generate update-grub_lib and install it in
48153 $(lib_DATA).
48154 * Makefile.in: Add install routine for $(lib_DATA).
48155
48156 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
48157 function provided by update-grub_lib to support arbitrary paths of
48158 unifont.pff.
48159 * util/update-grub.in: Use convert_system_path_to_grub_path() to
48160 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
48161
5beb2291 481622007-05-19 Robert Millan <rmh@aybabtu.com>
48163
48164 * commands/i386/cpuid.c: New module.
48165 * DISTLIST: Add it.
48166 * conf/i386-efi.rmk: Enable cpuid.mod.
48167 * conf/i386-pc.rmk: Likewise.
48168
7262eca1 481692007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48170
48171 * kern/disk.c (grub_disk_read): Check return value of
48172 grub_realloc().
48173
260ba823 481742007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48175
48176 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
48177 arrays.
48178 * disk/raid.c (grub_raid_open): Likewise.
48179
1ecb6cf2 481802007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48181
48182 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
48183 stack instead of on the heap.
48184
48185 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
48186 before doing a read on it.
48187
48188 * configure.ac: Only use -fno-stack-protector for the target
48189 environment.
f19dbdb7 48190
21c8cbb1 481912007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48192
48193 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
48194 __attribute_ ((unused)) to mode_type argument.
48195
48196 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 48197
21c8cbb1 48198 * kern/misc.c (memcmp): Fix prototype.
48199
48200 * include/grub/partition.h [GRUB_UTIL]
48201 (grub_gpt_partition_map_init): Add prototype.
48202 (grub_gpt_partition_map_fini): Likewise.
48203
48204 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
48205 at the right place.
48206
48207 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
48208 (grub_fat_read_data): Likewise.
48209 (grub_fat_find_dir): Likewise.
48210
48211 * font/manager.c (find_glyph): Make table a const.
48212 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 48213
849d55d3 482142007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
48215
48216 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
48217 code, first search for device in /dev/mapper, then in /dev.
48218 (grub_util_get_grub_dev): New function.
48219 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
48220 prototype.
48221 * util/grub-probe.c (probe): Remove check for RAID, call
48222 grub_util_get_grub_dev() instead of
48223 grub_util_biosdisk_get_grub_dev().
48224 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
48225 grub_util_biosdisk_get_grub_dev().
48226 * util/i386/pc/grub-setup.c (main): Likewise.
48227
8fff7c2f 482282007-05-16 Robert Millan <rmh@aybabtu.com>
48229
48230 * DISTLIST: Update for the latest changes.
48231 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
48232 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
48233 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
48234 grub/util/biosdisk.h.
48235 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
48236 grub/util/biosdisk.h.
48237
48e12b52 482382007-05-16 Robert Millan <rmh@aybabtu.com>
48239
48240 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
48241
46b9d128 482422007-05-16 Robert Millan <rmh@aybabtu.com>
48243
48244 * util/i386/efi/grub-install.in: New.
48245 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
48246 newly added grub-install.
48247 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
48248 include.
48249 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
48250 grub/util/biosdisk.h.
48251 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
48252 grub/util/biosdisk.h.
48253
2d1a40a9 482542007-05-16 Robert Millan <rmh@aybabtu.com>
48255
48256 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
48257 * include/grub/util/biosdisk.h: ... here.
48258 * util/i386/pc/biosdisk.c: Moved to ...
48259 * util/biosdisk.c: ... here.
48260 * util/i386/pc/getroot.c: Moved to ...
48261 * util/getroot.c: ... here.
48262 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
48263 * util/grub-mkdevicemap.c: ... here.
48264 * util/i386/pc/grub-probe.c: Moved to ...
48265 * util/grub-probe.c: ... here.
48266
9e26e3bc 482672007-05-15 Robert Millan <rmh@aybabtu.com>
48268
48269 * util/update-grub.in: Remove duplicated line in grub.cfg header
48270 message.
48271
57f96397 482722007-05-13 Robert Millan <rmh@aybabtu.com>
48273
48274 * util/update-grub.in: Fix a few assumptions about the devices holding
48275 /, /boot and /boot/grub being the same.
48276 * util/grub.d/00_header.in: Likewise.
48277 * util/grub.d/10_hurd.in: Likewise.
48278 * util/grub.d/10_linux.in: Likewise.
48279
48280 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
48281 patterns. Use that to define the `.old' suffix as older than `'.
48282
48283 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
48284
48285 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
48286 the grub.cfg header message.
48287
2e610d62 482882007-05-11 Robert Millan <rmh@aybabtu.com>
48289
48290 * util/update-grub.in: Create device.map if it doesn't already exist,
48291 before attempting to run grub-probe.
48292 Check for grub-probe and grub-mkdevicemap with the same code
48293 grub-install is using.
48294 Remove test mode.
48295
3f6a10ef 482962007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
48297
48298 * Makefile.in: Add the datarootdir autoconf variable.
48299
02e7b75e 483002007-05-09 Robert Millan <rmh@aybabtu.com>
48301
48302 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 48303 fail gracefully if dev->disk->partition == NULL.
02e7b75e 48304
75f396cc 483052007-05-07 Robert Millan <rmh@aybabtu.com>
48306
48307 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
48308 determine partition map module.
48309 * util/i386/pc/grub-install.in: Use this feature to decide which
48310 partition module to load, instead of hardcoding pc and gpt.
48311
da65cb36 483122007-05-07 Robert Millan <rmh@aybabtu.com>
48313
48314 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
48315 source directory differs from build directory.
48316
b57d6a91 483172007-05-05 Robert Millan <rmh@aybabtu.com>
48318
48319 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
48320 initialisation.
48321
509d00f1 483222007-05-05 Robert Millan <rmh@aybabtu.com>
48323
48324 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
48325
c48f23ef 483262007-05-05 Robert Millan <rmh@aybabtu.com>
48327
48328 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
48329 command-line arguments via ${GRUB_CMDLINE_LINUX}.
48330
20b97658 483312007-05-05 Robert Millan <rmh@aybabtu.com>
48332
48333 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
48334 (grub_probe_SOURCES): Likewise.
48335 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
48336 GPT and initialize dos_part and bsd_part accordingly.
48337 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
48338 install_bsd_part.
48339 (main): Activate gpt module for use during partition identification,
48340 and deactivate it afterwards.
48341 * util/i386/pc/grub-install.in: Add gpt module to core.img.
48342 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
48343 partition identification, and deactivate it afterwards.
48344
99123174 483452007-05-05 Robert Millan <rmh@aybabtu.com>
48346
48347 * term/i386/pc/console.c (grub_console_fini): Call
48348 grub_term_set_current() before grub_term_unregister().
48349
ebd97f6e 483502007-05-04 Robert Millan <rmh@aybabtu.com>
48351
48352 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
48353 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
48354 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
48355 and update-grub_DATA.
48356 * conf/common.rmk: Build and install update-grub components.
48357 * conf/common.mk: Regenerate.
48358 * util/update-grub.in: New. Core of update-grub.
48359 * util/grub.d/00_header.in: New. Generates grub.cfg header.
48360 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
48361 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
48362 * util/grub.d/README: New. Document grub.d directory layout.
48363
b06a264d 483642007-05-01 Robert Millan <rmh@aybabtu.com>
48365
48366 * util/grub-emu.c: Move initialization functions
48367 grub_util_biosdisk_init() and grub_init_all() before
48368 grub_util_biosdisk_get_grub_dev(), which relies on them.
48369
41f0050e 483702007-04-19 Robert Millan <rmh@aybabtu.com>
48371
48372 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
48373 it is used later.
48374
04582bb3 483752007-04-18 Jerone Young <jerone@gmail.com>
48376
f19dbdb7 48377 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 48378 stanza.
48379
08db4632 483802007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 48381
08db4632 48382 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
48383 continue on and look for device node with real device name.
48384
801b76be 483852007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 48386
fe6b695a 48387 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 48388 ability.
48389 * Makefile.in: Add autoconf package transformation code.
48390 * util/i386/pc/grub-install.in: Likewise.
48391 * util/powerpc/ieee1275/grub-install.in: Likewise.
48392
6795c4e1 483932007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48394
48395 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
48396 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
48397 (EXT2_REVISION): Likewise.
48398 (EXT2_INODE_SIZE): Likewise.
48399 (struct grub_ext2_block_group): Added a missing member
48400 "used_dirs".
48401 (grub_ext2_read_inode): Divide by the inode size in a superblock
48402 instead of 128 to obtain INODES_PER_BLOCK.
48403 Use the macro EXT2_INODE_SIZE instead of directly using
48404 SBLOCK->INODE_SIZE.
48405
d70af616 484062007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48407
48408 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
48409 superblock instead of the structure size to compute an
48410 offset. This fixes the problem that GRUB could not read a
48411 filesystem when inode size is different from 128-byte.
48412
3b801603 484132007-03-05 Marco Gerards <marco@gnu.org>
48414
48415 * normal/main.c (read_config_file): When "menu" is not set, create
48416 an initial context.
48417
4785bfe4 484182007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48419
48420 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
48421 (HEAP_LIMIT): New macro.
48422 (grub_claim_heap): Claim memory up to `heaplimit'.
48423
a0cbb023 484242007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48425
48426 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
48427 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
48428 (_start): Likewise.
48429 (grub_arch_modules_addr): Return address after `_end'.
48430 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
48431 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
48432 (add_segments): Calculate `_end' from phdr size and location.
48433 (ALIGN_UP): Moved to ...
48434 * include/grub/misc.h: here.
48435 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
48436 New macro.
48437 (GRUB_IEEE1275_MODULE_BASE): Removed.
48438
fd7d8eba 484392007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48440
48441 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
48442 loop boundary.
48443
9b09e6fc 484442007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48445
48446 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
48447 All users updated.
48448 (grub_elf64_load_hook_t): Likewise.
48449 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
48450 debug output.
48451
3ce27299 484522007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48453
48454 * kern/mm.c: Update copyright.
48455 (grub_mm_debug): Correct syntax error.
48456 (grub_mm_dump_free): New function.
48457 (grub_debug_free): Call `grub_free'.
48458 * include/grub/mm.h: Update copyright.
48459 (grub_mm_dump_free): Add declaration.
48460
077d5fee 484612007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48462
48463 * include/grub/ieee1275/ieee1275.h: Update copyright.
48464 * kern/powerpc/ieee1275/init.c: Likewise.
48465 * kern/powerpc/ieee1275/openfw.c: Likewise.
48466
48467 * loader/powerpc/ieee1275/linux.c: Likewise.
48468 * include/grub/elfload.h: Likewise.
48469 * kern/elf.c: Likewise.
48470 (grub_elf32_load): Pass `base' and `size' parameters. Update all
48471 callers.
48472 (grub_elf64_load): Likewise.
48473 (grub_elf32_load_segment): Move to a nested function.
48474 (grub_elf64_load_segment): Likewise.
48475
dc946850 484762007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48477
48478 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
48479 prototype.
48480 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
48481 (grub_heap_len): Likewise.
48482 (HEAP_SIZE): New macro.
48483 (grub_claim_heap): New function.
48484 (grub_machine_init): Don't claim heap directly. Call
48485 `grub_claim_heap'.
48486 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
48487 (grub_available_iterate): New function.
48488
baa2a121 484892007-02-03 Thomas Schwinge <tschwinge@gnu.org>
48490
48491 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
48492 * configure.ac: Use it for testing the HOST and TARGET compilers.
48493
4fe9862e 484942006-12-13 Thomas Schwinge <tschwinge@gnu.org>
48495
48496 * Makefile.in (enable_grub_emu): New variable.
48497 * configure.ac (--enable-grub-emu): New option.
48498 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
48499 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
48500 * conf/i386-pc.rmk: Likewise.
48501 * conf/powerpc-ieee1275.rmk: Likewise.
48502 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
48503
a8aa5762 485042006-12-12 Marco Gerards <marco@gnu.org>
48505
48506 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
48507
48508 * kern/env.c (grub_env_unset): Don't free the member `value' when
48509 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
48510 pointer.
48511
48512 * normal/main.c (current_menu): Removed.
48513 (free_menu): Unset the `menu' environment variable.
48514 (grub_normal_menu_addentry): Make use of the environment variable
48515 `menu', instead of using the global `current_menu'. Allocate
48516 memory for the sourcecode of this entry.
48517 (read_config_file): New argument `nested', changed all callers.
48518 Only in the case of a new context, initialize a new menu. Set the
48519 `menu' environment variable.
48520 (grub_normal_execute): Don't set and unset the environment
48521 variable `menu' here anymore. Only free the menu when leaving the
48522 context.
48523
48524 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
48525 leak.
48526
957b3a3e 485272006-12-11 Marco Gerards <marco@gnu.org>
48528
48529 * normal/menu_entry.c (run): Fix off by one bug so the last line
48530 is executed. Move the loader check to outside the loop.
48531
ef875714 485322006-12-08 Hollis Blanchard <hollis@penguinppc.org>
48533
48534 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
48535
4e739985 485362006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
48537
48538 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
48539 the number of sectors. Reported by Andrey Shuvikov
48540 <mr_hyro@yahoo.com>.
f19dbdb7 48541
790707f2 485422006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
48543
48544 * kern/disk.c (grub_disk_read): When there is a read error, always
48545 try to read only the necessary data.
f19dbdb7 48546
790707f2 48547 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
48548 disk/raid.c.
48549 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
48550 prototype.
48551 [GRUB_UTIL] (grub_raid_fini): Likewise.
48552 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 48553 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 48554 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
48555 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
48556 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
48557 and grub_raid_fini().
f19dbdb7 48558
03e58196 485592006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48560
48561 * include/grub/types.h (__unused): Rename to UNUSED.
48562 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
48563 (grub_elf64_size): Likewise.
f19dbdb7 48564
ae4f23bf 485652006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48566
48567 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
48568 grub_error_push and grub_error_pop in the error-handling path.
48569 (grub_elf32_load_segment): Only call grub_file_read with non-zero
48570 length.
48571
2166cc83 485722006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48573
48574 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
48575 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48577 (kernel_elf_SOURCES): Likewise.
48578 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
48579 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
48580 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48581 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48582 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
48583 (elf_mod_SOURCES): New variable.
48584 (elf_mod_CFLAGS): Likewise.
48585 (elf_mod_LDFLAGS): Likewise.
48586 * include/grub/types.h (__unused): New macro.
48587 * include/grub/elfload.h: New file.
48588 * kern/elf.c: Likewise.
48589 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
48590 (ELF32_LOADMASK): New macro.
48591 (ELF64_LOADMASK): Likewise.
48592 (vmlinux): Removed.
48593 (grub_linux_load32): New function.
48594 (grub_linux_load64): Likewise.
48595 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
48596 Use grub_elf_t instead of grub_file_t.
48597
a09d5aa5 485982006-11-02 Hollis Blanchard <hollis@penguinppc.org>
48599
48600 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
48601 `catch_result' to struct set_color_args.
48602
d976fc51 486032006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48604
48605 * normal/menu.c: Include grub/script.h.
48606 * normal/menu_entry.c: Likewise.
48607 * include/grub/normal.h: Do not include grub/script.h.
48608
67507549 486092006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48610
48611 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
48612
69203a99 486132006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48614
48615 * kern/disk.c (grub_disk_open): Print debug messages when opening a
48616 disk.
48617 (grub_disk_close): Print debug messages when closing a disk.
48618 (grub_disk_read): Print debug messages when disk read fails.
48619 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
48620 filesystem type.
48621 * kern/partition.c: Include misc.h.
48622 (grub_partition_iterate): Print debug messages when detecting
48623 partition type.
48624
e2b8278c 486252006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48626
48627 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
48628 is negative.
48629 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
48630
97b2f2ff 486312006-10-26 Hollis Blanchard <hollis@penguinppc.org>
48632
48633 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
48634 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
48635
6555d655 486362006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
48637
48638 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
48639 instead of sizeof(lv). Patch by Michael Guntsche.
48640
4d42b77f 486412006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
48642
48643 * disk/lvm.c: Rename VGS to VG_LIST.
48644 (grub_lvm_iterate): Change VGS->LV to VG-LV.
48645 (grub_lvm_open): Likewise.
48646 Thanks to Michael Guntsche for finding this bug.
48647
5d74d927 486482006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48649
48650 * configure.ac (AC_INIT): Bumped to 1.95.
48651
a1bb27e4 486522006-10-14 Robert Millan <rmh@aybabtu.com>
48653
48654 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
48655 with "/dev/.static/dev/md".
48656
e0994b8b 486572006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48658
48659 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
48660 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
48661 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
48662 DRIVE_NAME are always freed.
48663
48664 * util/i386/pc/biosdisk.c (make_device_name): Add one into
48665 DOS_PART, as a DOS partition is counted from one instead of zero
48666 now. Reported by Robert Millan.
48667
ddd5cee9 486682006-10-14 Robert Millan <rmh@aybabtu.com>
48669
48670 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
48671 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
48672 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
48673 string returned by grub_guess_root_device.
48674 * util/i386/pc/grub-setup.c: Likewise.
48675 * util/i386/pc/grub-probefs.c: Likewise.
48676
48677 * util/i386/pc/grub-probefs.c: Rename to ...
48678 * util/i386/pc/grub-probe.c: ... this.
48679 * DISTLIST: Remove grub-probefs, add grub-probe.
48680 * conf/i386-efi.rmk: Likewise.
48681 * conf/i386-pc.rmk: Likewise.
48682 * util/i386/pc/grub-install.in: Likewise.
48683
48684 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
48685 choose which information we want to print.
48686
2b002173 486872006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48688
48689 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
48690 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
48691 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
48692 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
48693 video/readers/tga.c and video/i386/pc/vbeutil.c.
48694
486952006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
48696
48697 Added support for RAID and LVM.
f19dbdb7 48698
2b002173 48699 * disk/lvm.c: New file.
48700 * disk/raid.c: Likewise.
48701 * include/grub/lvm.h: Likewise.
f19dbdb7 48702 * include/grub/raid.h: Likewise.
2b002173 48703 * include/grub/util/lvm.h: Likewise.
48704 * include/grub/util/raid.h: Likewise.
48705 * util/lvm.c: Likewise.
48706 * util/raid.c: Likewise.
48707
48708 * include/grub/disk.h (grub_disk_dev_id): Add
48709 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
48710 (grub_disk_get_size): New prototype.
48711 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
48712 returns a partition.
48713 (grub_disk_get_size): New function.
f19dbdb7 48714
2b002173 48715 * kern/i386/pc/init.c (make_install_device): Copy the prefix
48716 verbatim if grub_install_dos_part is -2.
48717
48718 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
48719 and LVM devices.
48720
48721 * util/i386/pc/grub-setup.c (setup): New argument
48722 MUST_EMBED. Force embedding of GRUB when the argument is
48723 true. Close FILE before returning.
48724 (main): Add support for RAID and LVM.
f19dbdb7 48725
2b002173 48726 * conf/common.rmk: Add RAID and LVM modules.
48727 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
48728 util/lvm.c.
48729 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
48730
48731 * kern/misc.c (grub_strstr): New function.
48732 * include/grub/misc.h (grub_strstr): New prototype.
48733
050548d0 487342006-10-10 Tristan Gingold <tristan.gingold@bull.net>
48735
48736 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
48737
da849d2d 487382006-10-05 Tristan Gingold <tristan.gingold@bull.net>
48739
48740 * kern/misc.c (grub_strtoull): Guess the base only if not
48741 specified.
48742
97b2f2ff 487432006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 48744
48745 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
48746 PowerMac support.
48747
97b2f2ff 487482006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 48749
48750 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
48751
48752 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
48753 Remove `flags' argument. All callers changed.
48754 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
48755 (IEEE1275_IHANDLE_INVALID): New variable.
48756 (IEEE1275_CELL_INVALID): New variable.
48757 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
48758 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
48759 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
48760 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
48761 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
48762 codes from Open Firmware. All callers updated.
48763 (grub_ieee1275_next_property): Directly return Open Firmware return
48764 code.
48765 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
48766 Standardize error checking from `grub_ieee1275_get_property'.
48767 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
48768 `devalias' to `aliases'. Correct comments. Consolidate error paths.
48769
97b2f2ff 487702006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 48771
48772 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
48773 `instance_to_package_args' to `instance_to_path_args'.
48774
48775 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
48776 `grub_ieee1275_chosen'.
48777
48778 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
48779 `grub_ieee1275_interpret'.
48780
97b2f2ff 487812006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 48782
48783 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
48784
97b2f2ff 487852006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 48786
48787 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
48788 (__cmpdi): Likewise.
48789
48790 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
48791 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
48792 `grub_ssize_t'.
48793
02bb8acc 48794 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 48795
48796 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
48797 to type `grub_ssize_t'.
48798 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
48799
7f9a8531 488002006-09-22 Marco Gerards <marco@gnu.org>
48801
48802 * normal/script.c (grub_script_create_cmdmenu): Skip leading
48803 newlines.
48804
b5ef1102 488052006-09-22 Marco Gerards <marco@gnu.org>
48806
48807 * commands/echo.c: New file.
48808
48809 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
48810
48811 * conf/common.rmk (echo_mod_SOURCES): New variable.
48812 (echo_mod_CFLAGS): Likewise.
48813 (echo_mod_LDFLAGS): Likewise.
48814
2cff3677 488152006-09-22 Marco Gerards <marco@gnu.org>
48816
48817 * normal/main.c (get_line): Malloc memory instead of using
48818 preallocated memory. Removed the arguments `cmdline' and
48819 `max_len'. Updated all callers.
48820
6ba4688b 488212006-09-22 Marco Gerards <marco@gnu.org>
48822
48823 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
48824 (normal_mod_DEPENDENCIES): Likewise.
48825
48826 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
48827 (normal_mod_DEPENDENCIES): Likewise.
48828
48829 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
48830
e02ac02c 488312006-09-22 Johan Rydberg <jrydberg@gnu.org>
48832
48833 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
48834 programs.
48835 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
48836 (normal_mod_DEPENDENCIES): Likewise.
48837 * conf/i386-pc.mk: Regenerate.
48838 * conf/i386-efi.mk: Likewise
48839 * conf/common.mk: Likewise.
48840 * conf/powerpc-ieee1275.mk: Likewise.
48841 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 48842
8d252e44 488432006-09-22 Robert Millan <rmh@aybabtu.com>
48844
48845 Sync with i386 version.
48846 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
48847 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
48848
209bf7ac 488492006-09-21 Robert Millan <rmh@aybabtu.com>
48850
48851 Import from GRUB Legacy (lib/device.c):
48852 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
48853 (init_device_map) [__linux__]: Add support for I2O devices.
48854
6b146090 488552006-09-14 Marco Gerards <marco@gnu.org>
48856
48857 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
48858 `-melf_i386'.
48859
e38600a8 488602006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 48861
48862 * util/i386/pc/grub-install.in: Skip menu.lst when removing
48863 /boot/grub/*.lst.
78fa1790 48864
2952da5d 48865 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 48866
2952da5d 48867 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
48868 before adding it to device.map.
48869
01b82a64 488702006-08-15 Johan Rydberg <jrydberg@gnu.org>
48871
fe6b695a 48872 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 48873 compiles a file; using the -MD option.
48874 * conf/common.mk: Regenerate.
48875 * conf/i386-pc.mk: Likewise.
48876 * conf/i386-efi.mk: Likewise.
48877 * conf/powerpc-ieee1275.mk: Likewise.
48878 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 48879
1064790d 488802006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
48881
48882 Move the prototypes of grub_setjmp and grub_longjmp to
48883 cpu/setjmp.h, so that each architecture may specify different
48884 attributes.
f19dbdb7 48885
1064790d 48886 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
48887 (grub_longjmp): Likewise.
48888 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
48889 (grub_longjmp): Likewise.
48890 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
48891 (grub_longjmp): Likewise.
48892
48893 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
48894 [!GRUB_UTIL] (grub_longjmp): Removed.
48895
29dda3ed 488962006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
48897
48898 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
48899 "color!" method does not return any value.
48900
ad2a06ed 489012006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48902
48903 * include/grub/bitmap.h: New file.
48904
48905 * include/grub/i386/pc/vbeutil.h: Likewise.
48906
48907 * video/bitmap.c: Likewise.
48908
48909 * video/readers/tga.c: Likewise.
48910
48911 * video/i386/pc/vbeutil.c: Likewise.
48912
48913 * commands/videotest.c: Code cleanup and updated to reflect to new
48914 video API.
48915
48916 * term/gfxterm.c: Likewise.
48917
48918 * video/video.c: Likewise.
48919
48920 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
48921 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
48922 (bitmap_mod_SOURCES): New entry.
48923 (bitmap_mod_CFLAGS): Likewise.
48924 (bitmap_mod_LDFLAGS): Likewise.
48925 (tga_mod_SOURCES): Likewise.
48926 (tga_mod_CFLAGS): Likewise.
48927 (tga_mod_LDFLAGS): Likewise.
48928
48929 * include/grub/video.h (grub_video_blit_operators): New enum type.
48930 (grub_video_render_target): Changed as forward declaration and moved
48931 actual definition to be video driver specific.
48932 (grub_video_adapter.blit_bitmap): Added blitting operator.
48933 (grub_video_adapter.blit_render_target): Likewise.
48934 (grub_video_blit_bitmap): Likewise.
48935 (grub_video_blit_render_target): Likewise.
48936
48937 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
48938 driver specific render target definition.
48939 (grub_video_vbe_map_rgba): Added driver internal helper.
48940 (grub_video_vbe_unmap_color): Updated to use
48941 grub_video_i386_vbeblit_info.
48942 (grub_video_vbe_get_video_ptr): Likewise.
48943
48944 * include/grub/i386/pc/vbeblit.h
48945 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
48946 grub_video_i386_vbeblit_info.
48947 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
48948 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
48949 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
48950 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
48951 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
48952 (grub_video_i386_vbeblit_index_index): Likewise.
48953 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
48954 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
48955 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
48956 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
48957 operator.
48958 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
48959 operator.
48960
48961 * video/i386/pc/vbeblit.c: Updated to reflect changes on
48962 include/grub/i386/pc/vbeblit.h.
48963
48964 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
48965 Updated to use grub_video_i386_vbeblit_info.
48966 (grub_video_i386_vbefill_R8G8B8): Likewise.
48967 (grub_video_i386_vbefill_index): Likewise.
48968 (grub_video_i386_vbefill): Added generic filler.
48969
48970 * video/i386/pc/vbefill.c: Updated to reflect changes on
48971 include/grub/i386/pc/vbefill.h.
48972
48973 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
48974 grub_video_i386_vbeblit_info.
48975 (grub_video_vbe_unmap_color): Likewise.
48976 (grub_video_vbe_blit_glyph): Likewise.
48977 (grub_video_vbe_scroll): Likewise.
48978 (grub_video_vbe_draw_pixel): Removed function.
48979 (grub_video_vbe_get_pixel): Likewise.
48980 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
48981 updated code to use it.
48982 (common_blitter): Added common blitter for render target and bitmap.
48983 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
48984 (grub_video_vbe_blit_render_target): Likewise.
48985
bc8c036d 489862006-07-30 Johan Rydberg <jrydberg@gnu.org>
48987
48988 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
48989 is in text mode if there is no console control protocol instance
48990 available.
48991
684a8eff 489922006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48993
48994 * include/grub/video.h: Code cleanup.
48995
48996 * include/grub/i386/pc/vbe.h: Likewise.
48997
48998 * video/i386/pc/vbe.c: Likewise.
48999
49000 * video/i386/pc/vbeblit.c: Likewise.
49001
49002 * video/i386/pc/vbefill.c: Likewise.
49003
49004 * video/video.c: Likewise. Also added more comments.
49005
5915059b 490062006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49007
49008 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
49009 (struct grub_biosdisk_dap): Likewise.
49010
49011 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
49012 linkage settings for all functions.
49013
90ce5d56 490142006-07-12 Marco Gerards <marco@gnu.org>
49015
49016 * configure.ac (--enable-mm-debug): Fix typo.
49017
49018 * genkernsyms.sh.in: Use proper quoting for `CC'.
49019
43e7f879 490202006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
49021
49022 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
49023 (normal_mod_ASFLAGS): Remove "-m32".
49024
4889bdec 490252006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
49026
49027 * util/misc.c: Include config.h.
49028 [!HAVE_MEMALIGN]: Do not include malloc.h.
49029 (grub_memalign): Use posix_memalign, if present. Then, use
49030 memalign, if present. Otherwise, emit an error.
49031
49032 * util/grub-emu.c: Do not include malloc.h.
49033
49034 * include/grub/util/misc.h: Include unistd.h. This is required for
49035 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
49036 D. Eades III <hde@foobar-qux.org>.
49037
49038 * configure.ac (AC_GNU_SOURCE): Added.
49039 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
49040 type.
49041
fd39d4da 490422006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
49043
49044 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
49045 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
49046
b786f3b5 490472006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
49048
49049 * include/grub/types.h (grub_host_addr_t): Rename to
49050 grub_target_addr_t.
49051 (grub_host_off_t): Rename to grub_target_off_t.
49052 (grub_host_size_t): Rename to grub_target_size_t.
49053 (grub_host_ssize_t): Rename to grub_target_ssize_t.
49054 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
49055
49056 * include/grub/kernel.h (struct grub_module_header): Change type
49057 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
49058 (grub_module_info): Likewise.
f19dbdb7 49059
051988bb 490602006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49061
49062 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
49063 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
49064 Velazquez <jesus.velazquez@gmail.com>.
49065
deae281b 490662006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49067
49068 Count partitions from 1 instead of 0 in the string representation
49069 of partitions. Still use 0-based internally.
f19dbdb7 49070
deae281b 49071 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
49072 (sun_partition_map_iterate): Use grub_partition_t instead of
49073 struct grub_partition *. Cast DESC->START_CYLINDER to
49074 grub_uint64_t after converting the endian.
49075 (sun_partition_map_probe): Subtract 1 for PARTNUM.
49076 (sun_partition_map_get_name): Add 1 to P->INDEX.
49077
49078 * partmap/pc.c (grub_partition_parse): Subtract 1 for
49079 PCDATA->DOS_PART.
49080 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
49081
49082 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
49083 zero instead of one.
49084 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
49085 (gpt_partition_map_get_name): Add 1 into P->INDEX.
49086
49087 * partmap/apple.c (apple_partition_map_iterate): Change the type
49088 of POS to unsigned.
49089 (apple_partition_map_probe): Subtract 1 for PARTNUM.
49090 (apple_partition_map_get_name): Add 1 into P->INDEX.
49091
49092 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
49093 of POS to unsigned.
49094 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
49095 calculate the offset of a partition.
49096 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
49097 (amiga_partition_map_get_name): Add 1 into P->INDEX.
49098
49099 * partmap/acorn.c (acorn_partition_map_find): Change the type of
49100 SECTOR to grub_disk_addr_t.
49101 (acorn_partition_map_iterate): Likewise.
49102 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
49103 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
49104 top.
49105 (acorn_partition_map_get_name): Add 1 into P->INDEX.
49106
49107 * kern/i386/pc/init.c (make_install_device): Add 1 into
49108 GRUB_INSTALL_DOS_PART.
49109
49110 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
49111 conditional.
49112
524a1e6a 491132006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49114
49115 Clean up the code to support 64-bit addressing in disks and
49116 files. This change is not enough for filesystems yet.
f19dbdb7 49117
524a1e6a 49118 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
49119 type of "start" to grub_uint64_t.
49120 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
49121 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
49122 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
49123 convert addresses.
49124
49125 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
49126 to grub_disk_addr_t.
49127
49128 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
49129 string.
49130
49131 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49132
49133 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
49134 to char *.
49135
49136 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
49137
49138 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
49139
49140 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
49141
49142 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
49143 to grub_off_t, to detect an error from grub_file_seek.
49144 (grub_multiboot_load_elf32): Likewise.
49145
49146 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
49147 maximum unsigned long value when an overflow is detected.
49148 (grub_strtoull): New function.
49149 (grub_divmod64): Likewise.
49150 (grub_lltoa): use grub_divmod64.
49151
49152 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
49153 grub_disk_addr_t.
49154 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
49155 the pointer to next character. Use grub_strtoull instead of
49156 grub_strtoul.
49157 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
49158 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
49159 respectively.
49160
fe6b695a 49161 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 49162 return value is signed.
49163 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
49164 test if OFFSET is less than zero, as OFFSET is unsigned now.
49165
49166 * kern/disk.c (struct grub_disk_cache): Change the type of
49167 "sector" to grub_disk_addr_t.
49168 (grub_disk_cache_get_index): Change the type of SECTOR to
49169 grub_disk_addr_t. Calculate the hash with SECTOR casted to
49170 unsigned after shifting.
49171 (grub_disk_cache_invalidate): Change the type of SECTOR to
49172 grub_disk_addr_t.
49173 (grub_disk_cache_unlock): Likewise.
49174 (grub_disk_cache_store): Likewise.
49175 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
49176 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
49177 grub_disk_addr_t and grub_uint64_t, respectively.
49178 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
49179 body, as the value of OFFSET is tweaked by
49180 grub_disk_check_range. Change the types of START_SECTOR, LEN and
49181 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
49182 respectively.
49183 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
49184 body, as the value of OFFSET is tweaked by
49185 grub_disk_check_range. Change the types of LEN and N to
49186 grub_size_t.
49187
49188 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
49189 and "saved_offset" to grub_off_t.
49190 (test_header): Cast BUF to char *.
49191 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
49192 to char *.
49193 (grub_gzio_read): Change the types of OFFSET and SIZE to
49194 grub_off_t and grub_size_t, respectively.
49195
49196 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
49197 Removed.
49198 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
49199 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
49200 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
49201 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
49202 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
49203
49204 * include/grub/types.h (grub_off_t): Unconditionally set to
49205 grub_uint64_t.
49206 (grub_disk_addr_t): Changed to grub_uint64_t.
49207
49208 * include/grub/partition.h (struct grub_partition): Change the
49209 types of "start", "len" and "offset" to grub_disk_addr_t,
49210 grub_uint64_t and grub_disk_addr_t, respectively.
49211 (grub_partition_get_start): Return grub_disk_addr_t.
49212 (grub_partition_get_len): Return grub_uint64_t.
49213
49214 * include/grub/misc.h (grub_strtoull): New prototype.
49215 (grub_divmod64): Likewise.
49216
49217 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
49218 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
49219 grub_off_t, respectively.
49220 All callers and references changed.
49221
49222 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
49223 grub_size_t in "read".
49224 All callers and references changed.
49225
49226 * include/grub/file.h (struct grub_file): Change the types of
49227 "offset" and "size" to grub_off_t and grub_off_t,
49228 respectively. Change the type of SECTOR to grub_disk_addr_t in
49229 "read_hook".
49230 (grub_file_read): Change the type of LEN to grub_size_t.
49231 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
49232 grub_off_t.
49233 (grub_file_size): Return grub_off_t.
49234 (grub_file_tell): Likewise.
49235 All callers and references changed.
49236
49237 * include/grub/disk.h (struct grub_disk_dev): Change the types of
49238 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
49239 "write".
49240 (struct grub_disk): Change the type of "total_sectors" to
49241 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 49242 "read_hook".
524a1e6a 49243 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
49244 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
49245 (grub_disk_write): Likewise.
49246 All callers and references changed.
49247
49248 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
49249 char * for grub_strncmp to silence gcc.
49250 (grub_iso9660_mount): Likewise.
49251 (grub_iso9660_mount): Likewise.
49252 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
49253 return statement.
49254 (grub_iso9660_iterate_dir): Likewise.
49255 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
49256
49257 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
49258 LEN to grub_disk_addr_t and grub_size_t, respectively.
49259
49260 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
49261
49262 * fs/jfs.c (grub_jfs_read_file): Likewise.
49263
49264 * fs/minix.c (grub_jfs_read_file): Likewise.
49265
49266 * fs/sfs.c (grub_jfs_read_file): Likewise.
49267
49268 * fs/ufs.c (grub_jfs_read_file): Likewise.
49269
49270 * fs/xfs.c (grub_jfs_read_file): Likewise.
49271
49272 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
49273 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
49274 respectively.
49275
49276 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
49277 BLKNR to -1 instead of returning GRUB_ERRNO.
49278 (grub_ext2_read_file): Change the types of SECTOR and
49279 LEN to grub_disk_addr_t and grub_size_t, respectively.
49280
49281 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
49282 LEN to grub_disk_addr_t and grub_size_t, respectively.
49283
49284 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
49285 grub_file_read.
49286
49287 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
49288 string. Do not cast SECTOR explicitly.
49289
49290 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
49291 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
49292 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
49293 grub_disk_addr_t and grub_size_t, respectively. If the sector is
49294 over 2TB and LBA mode is not supported, raise an error.
49295 (get_safe_sectors): New function.
49296 (grub_biosdisk_read): Use get_safe_sectors.
49297 (grub_biosdisk_write): Likewise.
49298
49299 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
49300 (grub_efidisk_write): Likewise.
49301
49302 * disk/loopback.c (delete_loopback): Cosmetic changes.
49303 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
49304 correctly.
49305 (grub_loopback_open): Likewise.
49306 (grub_loopback_read): Likewise. Also, change the type of POS to
49307 grub_off_t, and fix the usage of grub_memset.
49308
49309 * commands/i386/pc/play.c: Include grub/machine/time.h.
49310
49311 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
49312 print FILE->SIZE.
49313
49314 * commands/configfile.c: Include grub/env.h.
49315
49316 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
49317 GRUB_ERRNO directly instead. Change the type of POS to
49318 grub_off_t. Follow the coding standard.
49319
49320 * commands/blocklist.c: Include grub/partition.h.
49321 (grub_cmd_blocklist): Return an error if the underlying device is
49322 not a disk. Take the starting sector of a partition into account,
49323 if a partition is used.
49324
49325 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
49326 a length field.
49327 (lba_mode): Support 64-bit addresses.
49328 (chs_mode): Likewise.
49329 (copy_buffer): Adapted to the new offsets of a length field and a
49330 segment field.
49331 (blocklist_default_start): Allocate 64-bit space.
49332
49333 * boot/i386/pc/boot.S (force_lba): Removed.
49334 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 49335 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 49336 space.
49337 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
49338 is useless.
49339 (lba_mode): Refactored to support a 64-bit address. More size
49340 optimization.
49341 (setup_sectors): Likewise.
49342
53af98ad 493432006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49344
49345 * DISTLIST: Added include/grub/i386/linux.h. Removed
49346 include/grub/i386/pc/linux.h
49347
49348 * configure.ac (AC_INIT): Bumped to 1.94.
49349
49350 * config.guess: Updated from gnulib.
49351 * config.sub: Likewise.
49352 * install-sh: Likewise.
49353 * mkinstalldirs: Likewise.
49354
b4c1940a 493552006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49356
49357 * conf/common.rmk (grub_modules_init.lst): Depended on
49358 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
49359 MODSRCFILES.
49360
49361 * genmk.rb (PModule::rule): Reverted the previous change.
49362
cfca1cfd 493632006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49364
49365 * conf/common.rmk (grub_modules_init.lst): Depends on
49366 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
49367 that the target does not exist before producing.
49368 (grub_modules_init.h): Remove the target before generating.
49369 (grub_emu_init.c): Likewise.
49370
49371 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
49372
aa6d7826 493732006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
49374
49375 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
49376 for the target-specific tests. Make sure that we also have the
49377 up-to-date target variables for those tests.
49378
26c607b9 493792006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49380
49381 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
49382 (PModule::rule): Likewise.
49383
0162321a 493842006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49385
49386 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
49387 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
49388 target-specific flags should be prefixed.
49389 (PModule::rule): Likewise.
49390
6c826348 493912006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
49392
49393 * configure.ac (CMP): Check if cmp is available explicitly.
49394
b977bf01 493952006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
49396
49397 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
49398 (target_cpu): New variable.
49399 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 49400
b977bf01 49401 * util/i386/pc/grub-install.in (host_cpu): Removed.
49402 (target_cpu): New variable.
49403 (pkglibdir): Use target_cpu instead of host_cpu.
49404
49405 * util/genmoddep.c: Removed.
f19dbdb7 49406
b977bf01 49407 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
49408 instead of GRUB_HOST_SIZEOF_VOID_P.
49409 * kern/dl.c: Likewise.
49410
49411 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
49412 ...
49413 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49414 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49415 (GRUB_TARGET_SIZEOF_LONG): ... this.
49416 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49417 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49418 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49419 to ...
49420 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49421 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49422 (GRUB_TARGET_SIZEOF_LONG): ... this.
49423 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49424 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49425 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49426 to ...
49427 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49428 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49429 (GRUB_TARGET_SIZEOF_LONG): ... this.
49430 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49431 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49432
49433 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
49434 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
49435 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
49436 instead of GRUB_HOST_SIZEOF_LONG.
49437 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
49438 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
49439 GRUB_CPU_WORDS_BIGENDIAN.
49440 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
49441 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
49442 grub_host_ssize_t.
49443
49444 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
49445 (genmoddep_SOURCES): Likewise.
49446 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
49447 (genmoddep_SOURCES): Likewise.
49448 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
49449 (genmoddep_SOURCES): Likewise.
49450 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
49451 Likewise.
49452 (genmoddep_SOURCES): Likewise.
49453
49454 * genmoddep.awk: New file.
49455
49456 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
49457 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
49458 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
49459 (PModule::rule): Likewise.
49460 (Program::rule): Likewise.
49461 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
49462 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
49463 respectively.
49464
49465 * configure.ac: Rewritten intensively to use host and target
49466 instead of build and host, respectively.
49467
49468 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
49469 (host_cpu): Removed.
49470 (target_cpu): New variable.
49471 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
49472 (BUILD_CC): Removed.
49473 (BUILD_CFLAGS): Likewise.
49474 (BUILD_CPPFLAGS): Likewise.
49475 (TARGET_CC): New variable.
49476 (TARGET_CFLAGS): Likewise.
49477 (TARGET_CPPFLAGS): Likewise.
49478 (TARGET_LDFLAGS): Likewise.
49479 (AWK): Likewise.
49480 (include): Use target_cpu instead of host_cpu.
49481 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 49482
b977bf01 49483 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
49484
f09771a1 494852006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
49486
49487 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
49488 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
49489 field 'false' to 'exec_on_false'.
49490 (grub_script_create_cmdif): Renamed argument names to reflect above
49491 changes.
49492
49493 * normal/execute.c (grub_script_execute_cmdif): Likewise.
49494
49495 * normal/script.c (grub_script_create_cmdif): Likewise.
49496
118f4fb3 494972006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
49498
49499 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
49500 top.
49501 (grub_hfsplus_btree_recptr): Likewise.
49502 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
49503 FILEBLOCK both to pass a block number and store next block
49504 number.
49505 (grub_hfsplus_read_block): Rewritten heavily to support an extent
49506 overflow file correctly. Specify errors appropriately, because
49507 fshelp expects that GRUB_ERRNO is set when fails. Reuse
49508 grub_hfsplus_btree_recptr to get the pointer to a found key.
49509 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
49510 is found.
49511
49512 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
49513 linux.mod.
49514 (_linux_mod_SOURCES): New variable.
49515 (_linux_mod_CFLAGS): Likewise.
49516 (_linux_mod_LDFLAGS): Likewise.
49517 (linux_mod_SOURCES): Likewise.
49518 (linux_mod_CFLAGS): Likewise.
49519 (linux_mod_LDFLAGS): Likewise.
49520
49521 * DISTLIST: Added loader/i386/efi/linux.c,
49522 loader/i386/efi/linux_normal.c and
49523 include/grub/i386/efi/loader.h.
49524
49525 * loader/i386/efi/linux.c: New file.
49526 * loader/i386/efi/linux_normal.c: Likewise.
49527 * include/grub/i386/efi/loader.h: Likewise.
49528
89a7d726 495292006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
49530
49531 * commands/blocklist.c: New file.
49532
49533 * DISTLIST: Added commands/blocklist.c.
49534
49535 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 49536 color for the background, and a darker color for the foreground.
89a7d726 49537 (grub_console_checkkey): Return READ_KEY.
49538 (grub_console_cls): Set the background to
49539 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
49540
49541 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
49542
49543 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
49544 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
49545
49546 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
49547 prototype.
49548
49549 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
49550 BG. The spec is wrong again.
49551
49552 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
49553 prototype.
49554 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
49555
49556 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49557 commands/blocklist.c.
49558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 49559
89a7d726 49560 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
49561 (blocklist_mod_SOURCES): New variable.
49562 (blocklist_mod_CFLAGS): Likewise.
49563 (blocklist_mod_LDFLAGS): Likewise.
49564
75c8f258 495652006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
49566
49567 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
49568 duplication.
49569 (lba_mode): Use %eax more intensively to reduce the code size.
49570
da2eb181 495712006-05-20 Marco Gerards <marco@gnu.org>
49572
49573 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
49574
49575 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
49576 for `menuentry'.
49577 (script): Accept leading newlines.
49578 (newlines): New rule to describe 0 or more newlines.
49579 (commands): Accept `command' with trailing newline. Fixed the
49580 order in which arguments were passed to `grub_script_add_cmd'.
49581 Accept commands separated by newlines.
49582 (function): Changed to accept newlines.
49583 (menuentry) Rewritten.
49584
49585 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
49586 front of the list, instead of to the end.
49587
577b4050 495882006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
49589
49590 * util/i386/pc/grub-install.in (bindir): New variable.
49591 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
49592 Shaver <lbgwjl@gmail.com>.
49593
0d6e1189 495942006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
49595
49596 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
49597 grub/machine/linux.h
49598 * loader/i386/pc/linux.c: Likewise.
49599
49600 * include/grub/i386/pc/linux.h: Moved to ...
49601 * include/grub/i386/linux.h: ... here.
49602
49603 * include/grub/i386/linux.h (struct linux_kernel_params): New
49604 struct.
f19dbdb7 49605
31b86e9f 496062006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
49607
49608 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
49609 checking.
49610 (grub_video_vbe_blit_glyph): Likewise.
49611 (grub_video_vbe_blit_bitmap): Likewise.
49612 (grub_video_vbe_blit_render_target): Likewise.
49613
83b984de 496142006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
49615
49616 * configure.ac (--with-platform): Properly quote the square
49617 brackets.
49618
5f0413bd 496192006-05-08 Marco Gerards <marco@gnu.org>
49620
49621 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
49622 this...
49623 (kernel_elf_HEADERS): ...to this. Updated all users.
49624 (grubof_symlist.c): Renamed from this...
49625 (kernel_elf_symlist.c): ...to this. Updated all users.
49626 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49627 (grubof_SOURCES): Renamed from this...
49628 (kernel_elf_SOURCES): ...to this.
49629 (grubof_HEADERS): Renamed from this...
49630 (kernel_elf_HEADERS): ...to this.
49631 (grubof_CFLAGS): Renamed from this...
49632 (kernel_elf_CFLAGS): ...to this.
49633 (grubof_ASFLAGS): Renamed from this...
49634 (kernel_elf_ASFLAGS): ...to this.
49635 (grubof_LDFLAGS): Renamed from this...
49636 (kernel_elf_LDFLAGS): ...to this.
49637
49638 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
49639 this...
49640 (kernel_elf_HEADERS): ...to this. Updated all users.
49641 (grubof_symlist.c): Renamed from this...
49642 (kernel_elf_symlist.c): ...to this. Updated all users.
49643 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49644 (grubof_SOURCES): Renamed from this...
49645 (kernel_elf_SOURCES): ...to this.
49646 (grubof_HEADERS): Renamed from this...
49647 (kernel_elf_HEADERS): ...to this.
49648 (grubof_CFLAGS): Renamed from this...
49649 (kernel_elf_CFLAGS): ...to this.
49650 (grubof_ASFLAGS): Renamed from this...
49651 (kernel_elf_ASFLAGS): ...to this.
49652 (grubof_LDFLAGS): Renamed from this...
49653 (kernel_elf_LDFLAGS): ...to this.
49654
49655 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
49656 `kernel.elf' instead of `grubof'.
49657
05568c2e 496582006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
49659
49660 Add --with-platform to configure. Use pkglibdir instead of
49661 pkgdatadir. This is reported by Roger Leigh.
49662
49663 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
49664 (host_vendor): Likewise.
49665 (host_os): Likewise.
49666 (pkgdatadir): Likewise.
49667 (platform): New variable.
49668 (pkglibdir): Likewise.
49669 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 49670
05568c2e 49671 * util/i386/pc/grub-install.in (datadir): Removed.
49672 (host_vendor): Likewise.
49673 (host_os): Likewise.
49674 (pkgdatadir): Likewise.
49675 (platform): New variable.
49676 (pkglibdir): Likewise.
49677 Use PKGLIBDIR instead of PKGDATADIR.
49678
49679 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
49680 instead of GRUB_DATADIR.
49681 (main): Likewise.
49682 * util/i386/pc/grub-mkimage.c (usage): Likewise.
49683 (main): Likewise.
49684 * util/i386/efi/grub-mkimage.c (usage): Likewise.
49685 (main): Likewise.
49686
49687 * configure.ac (--with-platform): New option.
49688 Use PLATFORM instead of HOST_VENDOR to specify a platform.
49689
49690 * Makefile.in: Include a makefile based on PLATFORM instead of
49691 HOST_VENDOR.
49692 (pkgdatadir): Not appended by the machine type.
49693 (pkglibdir): Appended by the machine type.
49694 (host_vendor): Removed.
49695 (platform): New variable.
49696 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
49697 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
49698 (uninstall): Likewise.
49699
4e93851c 497002006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
49701
49702 Use the environment context in the menu. Remove the commands
49703 "default" and "timeout", and use variables instead.
f19dbdb7 49704
4e93851c 49705 * normal/menu.c: Include grub/env.h.
49706 (print_entry): Cast TITLE to silence gcc.
49707 (get_timeout): New function.
49708 (set_timeout): Likewise.
49709 (get_entry_number): Likewise.
49710 (run_menu): Use a default entry, a fallback entry and a timeout
49711 in the environment variables "default", "fallback" and
49712 "timeout". Also, tweak the default entry if it is not within the
49713 current menu entries.
49714 (grub_menu_run): Use a fallback entry in the environment variable
49715 "fallback".
49716
49717 * normal/main.c (read_config_file): Do not initialize
49718 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
49719 NEWMENU->TIMEOUT.
49720 (grub_normal_execute): Use a data slot to store the menu.
49721
49722 * include/grub/normal.h (struct grub_menu): Removed default_entry,
49723 fallback_entry and timeout.
49724 (struct grub_menu_list): Removed.
49725 (grub_menu_list_t): Likewise.
49726 (struct grub_context): Likewise.
49727 (grub_context_t): Likewise.
49728 (grub_context_get): Likewise.
49729 (grub_context_get_current_menu): Likewise.
49730 (grub_context_push_menu): Likewise.
49731 (grub_context_pop_menu): Likewise.
49732 (grub_default_init): Likewise.
49733 (grub_default_fini): Likewise.
49734 (grub_timeout_init): Likewise.
49735 (grub_timeout_fini): Likewise.
49736
49737 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
49738 and timeout.mod.
49739 (normal_mod_SOURCES): Removed normal/context.c.
49740
49741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
49742 commands/default.c, commands/timeout.c and normal/context.c.
49743 (normal_mod_SOURCES): Removed normal/context.c.
49744
49745 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
49746 commands/timeout.c and normal/context.c.
49747 (normal_mod_SOURCES): Removed normal/context.c.
49748
49749 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
49750 commands/default.c, commands/timeout.c and normal/context.c.
49751 (normal_mod_SOURCES): Removed normal/context.c.
49752
49753 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
49754 timeout.mod.
49755 (default_mod_SOURCES): Removed.
49756 (default_mod_CFLAGS): Likewise.
49757 (default_mod_LDFLAGS): Likewise.
49758 (timeout_mod_SOURCES): Removed.
49759 (timeout_mod_CFLAGS): Likewise.
49760 (timeout_mod_LDFLAGS): Likewise.
49761
49762 * DISTLIST: Removed commands/default.c, commands/timeout.c and
49763 normal/context.c.
49764
49765 * commands/default.c: Removed.
49766 * commands/timeout.c: Likewise.
49767 * normal/context.c: Likewise.
49768
1eb9cc1d 497692006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
49770
49771 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
49772
385bd9c1 497732006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
49774
49775 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
49776 "next" to "prev" for readability.
49777 (struct grub_env_sorted_var): New struct.
49778 (grub_env_context): Renamed to ...
49779 (initial_context): ... this.
49780 (grub_env_var_context): Renamed to ...
49781 (current_context): ... this.
49782 (grub_env_find): Look only at CURRENT_CONTEXT.
49783 (grub_env_context_open): Rewritten to copy exported variables from
49784 previous context.
49785 (grub_env_context_close): Rewritten according to the new
49786 scheme. Also, add an assertion to prevent the initial context from
49787 removed.
49788 (grub_env_insert): Removed the code for the sorted list.
49789 (grub_env_remove): Likewise.
49790 (grub_env_export): Simply mark the variable with
49791 GRUB_ENV_VAR_GLOBAL.
49792 (grub_env_set): A cosmetic change for naming consistency.
49793 (grub_env_get): Likewise.
49794 (grub_env_unset): Likewise.
49795 (grub_env_iterate): Rewritten to sort variables within this
49796 function.
49797 (grub_register_variable_hook): Fixed for naming consistency. Call
49798 grub_env_find again, only if NAME is not found at the first time.
49799 (mangle_data_slot_name): New function.
49800 (grub_env_set_data_slot): Likewise.
49801 (grub_env_get_data_slot): Likewise.
49802 (grub_env_unset_data_slot): Likewise.
49803
49804 * include/grub/env.h (grub_env_var_type): New enum.
49805 (GRUB_ENV_VAR_LOCAL): New constant.
49806 (GRUB_ENV_VAR_GLOBAL): Likewise.
49807 (GRUB_ENV_VAR_DATA): Likewise.
49808 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
49809 "type".
49810 (grub_env_set): Replace VAR with NAME for consistency.
49811 (grub_register_variable_hook): Likewise.
49812 (grub_env_export): Specify the name of the argument.
49813 (grub_env_set_data_slot): New prototype.
49814 (grub_env_get_data_slot): Likewise.
49815 (grub_env_unset_data_slot): Likewise.
49816
7f362539 498172006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49818
49819 Extend the loader so that GRUB can accept a loader which comes
49820 back to GRUB when a loaded image exits. Also, this change adds
49821 support for a chainloader on EFI.
f19dbdb7 49822
7f362539 49823 * term/efi/console.c: Include grub/misc.h.
49824 (grub_console_checkkey): Display a scan code on the top for
49825 debugging. This will be removed once the EFI port gets stable.
49826 Correct the scan code mapping.
49827
49828 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
49829 allocate memory from larger regions, in order to reduce the number
49830 of allocated regions. Otherwise, the MacOSX loader panics.
49831 (filter_memory_map): Avoid less than 1MB for compatibility with
49832 other loaders.
49833 (add_memory_regions): Allocate from the tail of a region, if
49834 possible, to avoid allocating a region near to 1MB, for the MacOSX
49835 loader.
49836
49837 * kern/efi/init.c (grub_efi_set_prefix): Specify
49838 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
49839
49840 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
49841 argument IMAGE_HANDLE and specify it to get a loaded image.
49842 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
49843 grub_efi_get_loaded_image.
fe6b695a 49844 (grub_efi_get_filename): Divide the length by the size of
7f362539 49845 grub_efi_char16_t.
49846 (grub_efi_get_device_path): New function.
49847 (grub_efi_print_device_path): Print End Device Path nodes. Divide
49848 the length by the size of grub_efi_char16_t for a file path device
49849 path node.
49850
49851 * kern/loader.c (grub_loader_noreturn): New variable.
49852 (grub_loader_set): Accept a new argument NORETURN. Set
49853 GRUB_LOADER_NORETURN to NORETURN.
49854 All callers changed.
49855 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
49856 grub_machine_fini.
49857
49858 * include/grub/efi/efi.h (grub_efi_get_device_path): New
49859 prototype.
49860 (grub_efi_get_loaded_image): Take an argument to specify an image
49861 handle.
49862
49863 * include/grub/loader.h (grub_loader_set): Added one more argument
49864 NORETURN.
49865
49866 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
49867 instead of grub_efi_open_protocol.
49868 (grub_efidisk_get_device_name): Likewise.
49869 (grub_efidisk_close): Print a newline.
49870 (grub_efidisk_get_device_handle): Fixed to use
49871 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
49872 GRUB_EFI_DEVICE_PATH_TYPE.
49873
49874 * disk/efi/efidisk.c (device_path_guid): Moved to ...
49875 * kern/efi/efi.c (device_path_guid): ... here.
49876
49877 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
49878 chain.mod.
49879 (kernel_mod_HEADERS): Added efi/disk.h.
49880 (_chain_mod_SOURCES): New variable.
49881 (_chain_mod_CFLAGS): Likewise.
49882 (_chain_mod_LDFLAGS): Likewise.
49883 (chain_mod_SOURCES): Likewise.
49884 (chain_mod_CFLAGS): Likewise.
49885 (chain_mod_LDFLAGS): Likewise.
49886
49887 * DISTLIST: Added include/grub/efi/chainloader.h,
49888 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
49889
49890 * include/grub/efi/chainloader.h: New file.
49891 * loader/efi/chainloader.c: Likewise.
49892 * loader/efi/chainloader_normal.c: Likewise.
49893
c0111d6e 498942006-04-30 Marco Gerards <marco@gnu.org>
49895
49896 * commands/configfile.c (grub_cmd_source): New function.
49897 (GRUB_MOD_INIT): Register the commands `source' and `.'.
49898 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
49899
df5341da 499002006-04-30 Marco Gerards <marco@gnu.org>
49901
49902 * normal/execute.c (grub_script_execute_cmd): Change the return
49903 type to `grub_err_t'. Correctly return the error.
49904 (grub_script_execute_cmdline): In case a command line is not a
49905 command or a function, try to interpret it as an assignment.
49906
f85934bd 499072006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49908
49909 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
49910 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
49911 skip a node whose name is obviously invalid as UTF-16,
49912 i.e. contains a NUL character. Stop the iteration when the last
49913 directory entry is found. Instead of using the return value of
49914 grub_hfsplus_btree_iterate_node, store the value in RET and use
49915 it, because the iterator can be stopped by the last directory
49916 entry.
49917
8f8a2cf8 499182006-04-30 Marco Gerards <marco@gnu.org>
49919
49920 * include/grub/env.h (grub_env_export): New prototype. Reported
49921 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
49922
a27e84ce 499232006-04-30 Marco Gerards <marco@gnu.org>
49924
49925 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
49926 size of the extents in a catalog file record.
49927
eaef0553 499282006-04-29 Marco Gerards <marco@gnu.org>
49929
49930 * commands/configfile.c (grub_cmd_configfile): Execute the
49931 configfile within its own context.
49932
49933 * include/grub/env.h (grub_env_context_open): New prototype.
49934 (grub_env_context_close): Likewise.
49935
49936 * kern/env.c (grub_env): Removed.
49937 (grub_env_sorted): Likewise.
49938 (grub_env_context): New variable.
49939 (grub_env_var_context): Likewise.
49940 (grub_env_find): Search both the active context and the global
49941 context.
49942 (grub_env_context_open): New function.
49943 (grub_env_context_close): Likewise.
49944 (grub_env_insert): Likewise.
49945 (grub_env_remove): Likewise.
49946 (grub_env_export): Likewise.
49947 (grub_env_set): Changed to use helper functions to avoid code
49948 duplication.
49949 (grub_env_iterate): Rewritten so both the current context and the
49950 global context are being used.
49951
49952 * normal/command.c (export_command): New function.
49953 (grub_command_init): Register the `export' function.
49954
7b455f4d 499552006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
49956
49957 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
49958 explicitly to suppress gcc's warnings.
49959 * fs/fat.c (grub_fat_find_dir): Likewise.
49960 (grub_fat_label): Likewise.
49961 * fs/xfs.c (grub_xfs_read_inode): Likewise.
49962 (grub_xfs_mount): Likewise.
49963 (grub_xfs_label): Likewise.
49964 * fs/affs.c (grub_affs_mount): Likewise.
49965 (grub_affs_label): Likewise.
49966 (grub_affs_iterate_dir): Likewise.
49967 * fs/sfs.c (grub_sfs_mount): Likewise.
49968 (grub_sfs_iterate_dir): Likewise.
49969 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
49970 * fs/hfs.c (grub_hfs_mount): Likewise.
49971 (grub_hfs_cmp_catkeys): Likewise.
49972 (grub_hfs_find_dir): Likewise.
49973 (grub_hfs_dir): Likewise.
49974 (grub_hfs_label): Likewise.
49975 * fs/jfs.c (grub_jfs_mount): Likewise.
49976 (grub_jfs_opendir): Likewise.
49977 (grub_jfs_getent): Likewise.
49978 (grub_jfs_lookup_symlink): Likewise.
49979 (grub_jfs_label): Likewise.
49980 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
49981 (grub_hfsplus_iterate_dir): Likewise.
49982 (grub_hfsplus_btree_iterate_node): Made static.
49983
49984 * util/grub-emu.c (prefix): New variable.
49985 (grub_machine_set_prefix): New function.
49986 (main): Do not set the environment variable "prefix" here. Only
49987 set PREFIX, which is used later by grub_machine_set_prefix.
49988
49989 * include/grub/video.h: Do not include grub/symbol.h.
49990 (grub_video_register): Not exported. This symbol is not defined in
49991 the kernel.
49992 (grub_video_unregister): Likewise.
49993 (grub_video_iterate): Likewise.
49994 (grub_video_setup): Likewise.
49995 (grub_video_restore): Likewise.
49996 (grub_video_get_info): Likewise.
49997 (grub_video_get_blit_format): Likewise.
49998 (grub_video_set_palette): Likewise.
49999 (grub_video_get_palette): Likewise.
50000 (grub_video_set_viewport): Likewise.
50001 (grub_video_get_viewport): Likewise.
50002 (grub_video_map_color): Likewise.
50003 (grub_video_map_rgb): Likewise.
50004 (grub_video_map_rgba): Likewise.
50005 (grub_video_fill_rect): Likewise.
50006 (grub_video_blit_glyph): Likewise.
50007 (grub_video_blit_bitmap): Likewise.
50008 (grub_video_blit_render_target): Likewise.
50009 (grub_video_scroll): Likewise.
50010 (grub_video_swap_buffers): Likewise.
50011 (grub_video_create_render_target): Likewise.
50012 (grub_video_delete_render_target): Likewise.
50013 (grub_video_set_active_render_target): Likewise.
50014
50015 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
50016 Undefined.
50017 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
50018
50019 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
50020 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50021 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50022 instead of $(srcdir)/genkernsyms.sh.
50023
50024 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
50025 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50026 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50027 instead of $(srcdir)/genkernsyms.sh.
50028
50029 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
50030 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50031 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50032 instead of $(srcdir)/genkernsyms.sh.
50033
50034 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
50035 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50036 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50037 instead of $(srcdir)/genkernsyms.sh.
50038
50039 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
50040 genkernsyms.sh.
50041
50042 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
50043 genkernsyms.sh.
50044 (gensymlist.sh): New target.
50045 (genkernsyms.sh): Likewise.
50046
50047 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
50048 genkernsyms.sh.in and gensymlist.sh.in.
50049
50050 * genkernsyms.sh: Removed.
50051 * gensymlist.sh: Likewise.
f19dbdb7 50052
7b455f4d 50053 * genkernsyms.sh.in: New file.
50054 * gensymlist.sh.in: Likewise.
50055
1885bb27 500562006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50057
50058 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
50059 clobber "prefix", since we may have already set it manually.
50060
71538dff 500612006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50062
50063 * kern/misc.c (abort): New alias for grub_abort.
50064
2965c7cc 500652006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
50066
50067 A new machine-specific function "grub_machine_set_prefix" is
50068 defined. This is called after loading modules, so that a prefix
50069 initialization can use modules. Also, this change adds an
50070 intensive debugging feature for the memory manager via the
50071 configure option "--enable-mm-debug".
f19dbdb7 50072
2965c7cc 50073 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
50074 PART.LEN.
50075
50076 * kern/sparc64/ieee1275/init.c (abort): Removed.
50077 (grub_stop): Likewise.
50078 (grub_exit): New function.
50079 (grub_set_prefix): Renamed to ...
50080 (grub_machine_set_prefix): ... this.
50081 (grub_machine_init): Do not call grub_set_prefix.
50082
50083 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
50084 (grub_machine_set_prefix): ... this.
50085 (grub_machine_init): Do not call grub_set_prefix.
50086
50087 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
50088 (grub_machine_init): Do not set the prefix here.
50089
50090 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
50091
50092 * kern/efi/init.c: Include grub/mm.h.
50093 (grub_efi_set_prefix): New function.
50094
50095 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
50096 (grub_efi_get_filename): New function.
50097 (grub_print_device_path): Renamed to ...
50098 (grub_efi_print_device_path): ... this.
50099
50100 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
50101 [MM_DEBUG] (grub_realloc): Likewise.
50102 [MM_DEBUG] (grub_free): Likewise.
50103 [MM_DEBUG] (grub_memalign): Likewise.
50104 [MM_DEBUG] (grub_mm_debug): New variable.
50105 [MM_DEBUG] (grub_debug_malloc): New function.
50106 [MM_DEBUG] (grub_debug_free): New function.
50107 [MM_DEBUG] (grub_debug_realloc): New function.
50108 [MM_DEBUG] (grub_debug_memalign): New function.
50109
50110 * kern/misc.c (grub_abort): Print a newline to distinguish
50111 the message.
50112
50113 * kern/main.c (grub_main): Call grub_machine_set_prefix and
50114 grub_set_root_dev after loading modules. This is necessary when
50115 setting a prefix depends on modules.
50116
50117 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
50118 (grub_efi_print_device_path): ... this.
50119 (grub_efi_get_filename): New prototype.
50120 (grub_efi_set_prefix): Likewise.
50121
50122 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
50123 and grub/disk.h.
50124 (grub_efidisk_get_device_handle): New prototype.
50125 (grub_efidisk_get_device_name): Likewise.
50126
50127 * include/grub/mm.h: Include config.h.
50128 (MM_DEBUG): Removed.
50129 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
50130 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
50131 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
50132 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
50133 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
50134 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
50135 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
50136 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
50137 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
50138
50139 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
50140
50141 * disk/efi/efidisk.c: Include grub/partition.h.
50142 (iterate_child_devices): New function.
50143 (add_device): First, compare only last device path nodes, so that
50144 devices are sorted by the types.
50145 (grub_efidisk_get_device_handle): New function.
50146 (grub_efidisk_get_device_name): Likewise.
50147
50148 * configure.ac (--enable-mm-debug): New option to enable the
50149 memory manager debugging feature. This makes the binary much
50150 bigger, so is disabled by default.
50151
9cacaa17 501522006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
50153
50154 Use grub_abort instead of grub_stop, and grub_exit must be
50155 define in each architecture now. Also, this change adds support
50156 for EFI disks.
f19dbdb7 50157
9cacaa17 50158 * util/i386/pc/grub-probefs.c: Include grub/term.h.
50159 (grub_getkey): New function.
50160 (grub_term_get_current): Likewise.
50161
50162 * util/i386/pc/grub-setup.c: Include grub/term.h.
50163 (grub_getkey): New function.
50164 (grub_term_get_current): Likewise.
50165
50166 * util/misc.c (grub_stop): Renamed to ...
50167 (grub_exit): ... this.
50168
50169 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
50170 (grub_exit): ... this.
50171 (grub_machine_init): Use grub_abort instead of abort.
50172 (grub_stop): Removed.
50173
50174 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
50175 abort.
50176
50177 * kern/i386/pc/startup.S (grub_exit): New function.
50178 (cold_reboot): New label.
50179
50180 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
50181 (grub_efi_init): Call grub_efidisk_init.
50182 (grub_efi_fini): Call grub_efidisk_fini.
50183
50184 * kern/efi/efi.c: Include grub/mm.h.
50185 (grub_efi_console_control_guid): Renamed to ...
50186 (console_control_guid): ... this.
50187 (grub_efi_loaded_image_guid): Renamed to ...
50188 (loaded_image_guid): ... this.
50189 (grub_efi_locate_handle): New function.
50190 (grub_efi_open_protocol): Likewise.
50191 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
50192 GRUB_EFI_CONSOLE_CONTROL_GUID.
50193 (grub_efi_exit): Removed.
50194 (grub_stop): Likewise.
50195 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
50196 (grub_exit): New function.
50197 (grub_print_device_path): Likewise.
50198
50199 * kern/rescue.c (grub_rescue_cmd_exit): New function.
50200 (grub_enter_rescue_mode): Register "exit".
50201
50202 * kern/misc.c (grub_real_dprintf): A cosmetic change.
50203 (grub_abort): New function.
50204
50205 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
50206
50207 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
50208
50209 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
50210
50211 * include/grub/efi/efi.h (grub_efi_exit): Removed.
50212 (grub_print_device_path): New prototype.
50213 (grub_efi_locate_handle): Likewise.
50214 (grub_efi_open_protocol): Likewise.
50215
50216 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
50217 * disk/efi/efidisk.c: Likewise.
50218
50219 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
50220
50221 * include/grub/efi/console_control.h
50222 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
50223
50224 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
50225 last 8 bytes as an array.
50226 (GRUB_EFI_DISK_IO_GUID): New macro.
50227 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
50228 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
50229 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
50230 grub_uint8_t.
50231 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
50232 (struct grub_efi_device_path): Rename the member "sub_type" to
50233 "subtype".
50234 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
50235 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
50236 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
50237 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
50238 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
50239 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
50240 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
50241 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
50242 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
50243 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
50244 (struct grub_efi_pci_device_path): New structure.
50245 (grub_efi_pci_device_path_t): New type.
50246 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
50247 (struct grub_efi_pccard_device_path): New structure.
50248 (grub_efi_pccard_device_path_t): New type.
50249 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
50250 (struct grub_efi_memory_mapped_device_path): New structure.
50251 (grub_efi_memory_mapped_device_path_t): New type.
50252 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
50253 (struct grub_efi_vendor_device_path): New structure.
50254 (grub_efi_vendor_device_path_t): New type.
50255 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
50256 (struct grub_efi_controller_device_path): New structure.
50257 (grub_efi_controller_device_path_t): New type.
50258 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
50259 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
50260 (struct grub_efi_acpi_device_path): New structure.
50261 (grub_efi_acpi_device_path_t): New type.
50262 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
50263 (struct grub_efi_expanded_acpi_device_path): New structure.
50264 (grub_efi_expanded_acpi_device_path_t): New type.
50265 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
50266 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
50267 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
50268 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
50269 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
50270 (struct grub_efi_atapi_device_path): New structure.
50271 (grub_efi_atapi_device_path_t): New type.
50272 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
50273 (struct grub_efi_fibre_channel_device_path): New structure.
50274 (grub_efi_fibre_channel_device_path_t): New type.
50275 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
50276 (struct grub_efi_1394_device_path): New structure.
50277 (grub_efi_1394_device_path_t): New type.
50278 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
50279 (struct grub_efi_usb_device_path): New structure.
50280 (grub_efi_usb_device_path_t): New type.
50281 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
50282 (struct grub_efi_usb_class_device_path): New structure.
50283 (grub_efi_usb_class_device_path_t): New type.
50284 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
50285 (struct grub_efi_i2o_device_path): New structure.
50286 (grub_efi_i2o_device_path_t): New type.
50287 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
50288 (struct grub_efi_mac_address_device_path): New structure.
50289 (grub_efi_mac_address_device_path_t): New type.
50290 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
50291 (struct grub_efi_ipv4_device_path): New structure.
50292 (grub_efi_ipv4_device_path_t): New type.
50293 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
50294 (struct grub_efi_ipv6_device_path): New structure.
50295 (grub_efi_ipv6_device_path_t): New type.
50296 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
50297 (struct grub_efi_infiniband_device_path): New structure.
50298 (grub_efi_infiniband_device_path_t): New type.
50299 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
50300 (struct grub_efi_uart_device_path): New structure.
50301 (grub_efi_uart_device_path_t): New type.
50302 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
50303 (struct grub_efi_vendor_messaging_device_path): New structure.
50304 (grub_efi_vendor_messaging_device_path_t): New type.
50305 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
50306 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
50307 (struct grub_efi_hard_drive_device_path): New structure.
50308 (grub_efi_hard_drive_device_path_t): New type.
50309 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
50310 (struct grub_efi_cdrom_device_path): New structure.
50311 (grub_efi_cdrom_device_path_t): New type.
50312 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
50313 (struct grub_efi_vendor_media_device_path): New structure.
50314 (grub_efi_vendor_media_device_path_t): New type.
50315 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
50316 (struct grub_efi_file_path_device_path): New structure.
50317 (grub_efi_file_path_device_path_t): New type.
50318 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
50319 (struct grub_efi_protocol_device_path): New structure.
50320 (grub_efi_protocol_device_path_t): New type.
50321 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
50322 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
50323 (struct grub_efi_bios_device_path): New structure.
50324 (grub_efi_bios_device_path_t): New type.
50325 (struct grub_efi_disk_io): New structure.
50326 (grub_efi_disk_io_t): New type.
50327 (struct grub_efi_block_io_media): New structure.
50328 (grub_efi_block_io_media_t): New type.
50329 (struct grub_efi_block_io): New structure.
50330 (grub_efi_block_io_t): New type.
50331
50332 * include/grub/misc.h (grub_stop): Removed.
50333 (grub_exit): New prototype.
50334 (grub_abort): Likewise.
50335
50336 * include/grub/disk.h (enum grub_disk_dev_id): Added
50337 GRUB_DISK_DEVICE_EFIDISK_ID.
50338
50339 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
50340 disk/efi/efidisk.c.
50341 (kernel_syms.lst): Remove the target if an error occurs.
50342
49986a9f 503432006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
50344
50345 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
50346 as it was simply too buggy.
50347
970d3b8a 503482006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
50349
50350 * kern/misc.c (grub_lltoa): New function.
50351 (grub_vsprintf): Added support for the long long suffix,
50352 i.e. "ll".
50353
ff04ec24 503542006-04-20 Hollis Blanchard <hollis@penguinppc.org>
50355
50356 * Makefile.in (LDFLAGS): Add variable.
50357 (LD): Remove variable.
50358 * configure.ac: Add -m32 to LDFLAGS.
50359 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
50360 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
50361 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
50362 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
50363 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
50364 variables.
50365 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
50366 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
50367 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
50368
37e5e1a4 503692006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
50370
50371 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
50372 length for unknown glyph.
50373
c352d8dd 503742006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50375
2eab1c0d 50376 Add support for pre-loaded modules into the EFI port.
f19dbdb7 50377
2eab1c0d 50378 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
50379 completely. Accept one more argument DIR. The caller has changed.
50380
50381 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
50382
50383 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
50384 (grub_efi_loaded_image_guid): New variable.
50385 (grub_efi_get_loaded_image): New function.
50386 (grub_arch_modules_addr): Likewise.
50387
50388 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
50389 prototype.
50390
50391 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
50392 (struct grub_efi_loaded_image): New structure.
50393 (grub_efi_loaded_image_t): New type.
50394
503952006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 50396
c352d8dd 50397 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
50398 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
50399 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
50400
6d01d6b4 504012006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
50402
50403 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
50404
976a4ea0 504052006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
50406
50407 * DISTLIST: Added include/grub/efi/console.h,
50408 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
50409 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50410
50411 * include/grub/efi/console.h: New file.
50412 * include/grub/efi/time.h: Likewise.
50413 * include/grub/i386/efi/kernel.h: Likewise.
50414 * kern/efi/init.c: Likewise.
50415 * kern/efi/mm.c: Likewise.
50416 * term/efi/console.c: Likewise.
f19dbdb7 50417
976a4ea0 50418 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
50419 (grub_stop): Removed.
50420 (grub_get_rtc): Likewise.
50421 (grub_machine_init): Simply call grub_efi_init.
50422 (grub_machine_fini): Call grub_efi_fini.
50423
50424 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
50425 (grub_efi_output_string): Removed.
50426 (grub_efi_stall): New function.
50427 (grub_stop): Likewise.
50428 (grub_get_rtc): Likewise.
50429
50430 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
50431 (grub_efi_stall): New prototype.
50432 (grub_efi_allocate_pages): Likewise.
50433 (grub_efi_free_pages): Likewise.
50434 (grub_efi_get_memory_map): Likewise.
50435 (grub_efi_mm_init): Likewise.
50436 (grub_efi_mm_fini): Likewise.
50437 (grub_efi_init): Likewise.
50438 (grub_efi_fini): Likewise.
50439
50440 * include/grub/i386/efi/time.h: Do not include
50441 grub/symbol.h. Include grub/efi/time.h.
50442 (GRUB_TICKS_PER_SECOND): Removed.
50443 (grub_get_rtc): Likewise.
50444
50445 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
50446 Added padding. The EFI spec is buggy.
50447 (GRUB_EFI_BLACK): New macro.
50448 (GRUB_EFI_BLUE): Likewise.
50449 (GRUB_EFI_GREEN): Likewise.
50450 (GRUB_EFI_CYAN): Likewise.
50451 (GRUB_EFI_RED): Likewise.
50452 (GRUB_EFI_MAGENTA): Likewise.
50453 (GRUB_EFI_BROWN): Likewise.
50454 (GRUB_EFI_LIGHTGRAY): Likewise.
50455 (GRUB_EFI_BRIGHT): Likewise.
50456 (GRUB_EFI_DARKGRAY): Likewise.
50457 (GRUB_EFI_LIGHTBLUE): Likewise.
50458 (GRUB_EFI_LIGHTGREEN): Likewise.
50459 (GRUB_EFI_LIGHTCYAN): Likewise.
50460 (GRUB_EFI_LIGHTRED): Likewise.
50461 (GRUB_EFI_LIGHTMAGENTA): Likewise.
50462 (GRUB_EFI_YELLOW): Likewise.
50463 (GRUB_EFI_WHITE): Likewise.
50464 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
50465 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
50466 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
50467 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
50468 (GRUB_EFI_BACKGROUND_RED): Likewise.
50469 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
50470 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
50471 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
50472 (GRUB_EFI_TEXT_ATTR): Likewise.
50473
50474 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
50475 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50476 (kernel_mod_HEADERS): Added efi/time.h.
50477
83709125 504782006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
50479
50480 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
50481 include/grub/efi/api.h, include/grub/efi/console_control.h,
50482 include/grub/efi/efi.h, include/grub/efi/pe32.h,
50483 include/grub/i386/efi/time.h, kern/efi/efi.c,
50484 kern/i386/efi/init.c, kern/i386/efi/startup.S,
50485 and util/i386/efi/grub-mkimage.c.
50486
50487 * Makefile.in (RMKFILES): Added i386-efi.rmk.
50488
50489 * genmk.rb (PModule#rule): Do not export symbols if
50490 #{prefix}_EXPORTS is set to "no".
50491
50492 * conf/i386-efi.mk: New file.
50493 * conf/i386-efi.rmk: Likewise.
50494 * include/grub/efi/api.h: Likewise.
50495 * include/grub/efi/console_control.h: Likewise.
50496 * include/grub/efi/efi.h: Likewise.
50497 * include/grub/efi/pe32.h: Likewise.
50498 * include/grub/i386/efi/time.h: Likewise.
50499 * kern/efi/efi.c: Likewise.
50500 * kern/i386/efi/init.c: Likewise.
50501 * kern/i386/efi/startup.S: Likewise.
50502 * util/i386/efi/grub-mkimage.c: Likewise.
50503
505042006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 50505
50506 * include/grub/script.h: Include <grub/parser.h> and
50507 "grub_script.tab.h".
50508 (struct grub_lexer_param): New struct.
50509 (struct grub_parser_param): Likewise.
50510 (grub_script_create_arglist): Pass the state in an argument.
50511 (grub_script_add_arglist): Likewise.
50512 (grub_script_create_cmdline): Likewise.
50513 (grub_script_create_cmdblock): Likewise.
50514 (grub_script_create_cmdif): Likewise.
50515 (grub_script_create_cmdmenu): Likewise.
50516 (grub_script_add_cmd): Likewise.
50517 (grub_script_arg_add): Likewise.
50518 (grub_script_lexer_ref): Likewise.
50519 (grub_script_lexer_deref): Likewise.
50520 (grub_script_lexer_record_start): Likewise.
50521 (grub_script_lexer_record_stop): Likewise.
50522 (grub_script_mem_record): Likewise.
50523 (grub_script_mem_record_stop): Likewise.
50524 (grub_script_malloc): Likewise.
50525 (grub_script_yylex): Likewise.
50526 (grub_script_yyparse): Likewise.
50527 (grub_script_yyerror): Likewise.
50528 (grub_script_yylex): Likewise.
50529 (grub_script_lexer_init): Return the state.
50530
50531 * normal/lexer.c (grub_script_lexer_state): Removed variable.
50532 (grub_script_lexer_done): Likewise.
50533 (grub_script_lexer_getline): Likewise.
50534 (grub_script_lexer_refs): Likewise.
50535 (script): Likewise.
50536 (newscript): Likewise.
50537 (record): Likewise.
50538 (recording): Likewise.
50539 (recordpos): Likewise.
50540 (recordlen): Likewise.
50541 (grub_script_lexer_init): Return the state instead of setting
50542 global variables.
50543 (grub_script_lexer_ref): Use the newly added argument for state
50544 instead of globals.
50545 (grub_script_lexer_deref): Likewise.
50546 (grub_script_lexer_record_start): Likewise.
50547 (grub_script_lexer_record_stop): Likewise.
50548 (recordchar): Likewise.
50549 (nextchar): Likewise.
50550 (grub_script_yylex2): Likewise.
50551 (grub_script_yylex): Likewise.
50552 (grub_script_yyerror): Likewise.
50553
50554 * normal/parser.y (func_mem): Removed variable.
50555 (menu_entry): Likewise.
50556 (err): Likewise.
50557 (%lex-param): New parser option.
50558 (%parse-param): Likewise.
50559 (script): Always return the AST.
50560 (argument): Pass the state around.
50561 (arguments): Likewise.
50562 (grubcmd): Likewise.
50563 (commands): Likewise.
50564 (function): Likewise.
50565 (menuentry): Likewise.
50566 (if_statement): Likewise.
50567 (if): Likewise.
50568
50569 * normal/script.c (grub_script_memused): Removed variable.
50570 (grub_script_parsed): Likewise.
50571 (grub_script_malloc): Added a state argument. Use that instead of
50572 global variables.
50573 (grub_script_mem_record): Likewise.
50574 (grub_script_mem_record_stop): Likewise.
50575 (grub_script_arg_add): Likewise.
50576 (grub_script_add_arglist): Likewise.
50577 (grub_script_create_cmdline): Likewise.
50578 (grub_script_create_cmdif): Likewise.
50579 (grub_script_create_cmdmenu): Likewise.
50580 (grub_script_add_cmd): Likewise.
50581 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 50582
e2a8c904 505832006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 50584
50585 * normal/command.c (grub_command_init): Remove the title command.
50586
50587 * normal/lexer.c (grub_script_yylex): Renamed from this...
50588 (grub_script_yylex2): ... to this.
50589 (grub_script_yylex): New function. Temporary
50590 introduced to filter some tokens.
50591 (grub_script_yyerror): Print a newline.
50592
50593 * normal/main.c (read_config_file): Output information about the
50594 lines that contain errors. Wait for a key after all lines have
50595 been processed. Don't return an empty menu.
50596
50597 * normal/parser.y (func_mem): Don't initialize.
50598 (menu_entry): Likewise.
50599 (err): New variable.
50600 (script): Don't return anything when an error was encountered.
50601 (ws, returns): Removed rules.
50602 (argument): Disabled concatenated variable support.
50603 (arguments): Remove explicit separators.
50604 (grubcmd): Likewise.
50605 (function): Likewise.
50606 (menuentry): Likewise.
50607 (if): Likewise.
50608 (commands): Likewise. Add error handling.
50609
50610 * normal/script.c (grub_script_create_cmdline): If
50611 `grub_script_parsed' is 0, assume the parser encountered an error.
50612
c9a86192 506132006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
50614
50615 * configure.ac: Add support for EFI. Fix the typo
50616 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
50617
70f3b243 506182006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50619
50620 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
50621 foreign multibyte characters should be shown correctly.
50622
65f201ad 506232006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50624
50625 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
50626 calculation.
50627 (read_config_file): Made it to close file before returning.
50628
b4b93674 506292006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
50630
50631 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
50632 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
50633 video/i386/pc/vbefill.c.
50634
50635 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
50636 video/i386/pc/vbefill.c.
50637
50638 * include/grub/video.h (grub_video_blit_format): New enum.
50639 (grub_video_mode_info): Added new member blit_format.
50640 (grub_video_get_blit_format): New function prototype.
50641
50642 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
50643 function prototype.
50644 (grub_video_vbe_map_rgb): Likewise.
50645 (grub_video_vbe_unmap_color): Likewise.
50646
50647 * include/grub/i386/pc/vbeblit.h: New file.
50648
50649 * include/grub/i386/pc/vbefill.h: New file.
50650
50651 * video/video.c (grub_video_get_blit_format): New function.
50652 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
50653 (grub_video_vbe_map_rgb): Likewise.
50654 (grub_video_vbe_unmap_color): Likewise.
50655
50656 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
50657 optimized fills.
50658 (grub_video_vbe_blit_render_target): Changed to use more optimized
50659 blits.
50660 (grub_video_vbe_setup): Added detection for optimized settings.
50661 (grub_video_vbe_create_render_target): Likewise.
50662
50663 * video/i386/pc/vbeblit.c: New file.
50664
50665 * video/i386/pc/vbefill.c: New file.
50666
c2379b9c 506672006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
50668
50669 * font/manager.c (grub_font_get_glyph): Removed font fixup from
50670 here...
50671
50672 * util/unifont2pff.rb: ... and moved it to here. Improved argument
50673 parsing to support both hex and dec ranges. If filename was missing
50674 show usage information.
50675
bd0d7896 506762006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
50677
50678 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
50679 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
50680
50681 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
50682 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
50683 (video_mod_SOURCES): Added.
50684 (video_mod_CFLAGS): Likewise.
50685 (video_mod_LDFLAGS): Likewise.
50686 (gfxterm_mod_SOURCES): Likewise.
50687 (gfxterm_mod_CFLAGS): Likewise.
50688 (gfxterm_mod_LDFLAGS): Likewise.
50689 (videotest_mod_SOURCES): Likewise.
50690 (videotest_mod_CFLAGS): Likewise.
50691 (videotest_mod_LDFLAGS): Likewise.
50692 (vesafb_mod_SOURCES): Removed.
50693 (vesafb_mod_CFLAGS): Likewise.
50694 (vesafb_mod_LDFLAGS): Likewise.
50695 (vga_mod_SOURCES): Likewise.
50696 (vga_mod_CFLAGS): Likewise.
50697 (vga_mod_LDFLAGS): Likewise.
50698
50699 * commands/videotest.c: New file.
50700
50701 * font/manager.c (fill_with_default_glyph): Modified to use
50702 grub_font_glyph.
50703 (grub_font_get_glyph): Likewise.
50704 (fontmanager): Renamed from this...
50705 (font_manager): ... to this.
50706
50707 * include/grub/font.h (grub_font_glyph): Added new structure.
50708 (grub_font_get_glyph): Modified to use grub_font_glyph.
50709
50710 * include/grub/misc.h (grub_abs): Added as inline function.
50711
50712 * include/grub/video.h: New file.
50713
50714 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
50715 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
50716 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
50717 (grub_vbe_get_controller_info): Renamed from this...
50718 (grub_vbe_bios_get_controller_info): ... to this.
50719 (grub_vbe_get_mode_info): Renamed from this...
50720 (grub_vbe_bios_get_mode_info): ... to this.
50721 (grub_vbe_set_mode): Renamed from this...
50722 (grub_vbe_bios_set_mode): ... to this.
50723 (grub_vbe_get_mode): Renamed from this...
50724 (grub_vbe_bios_get_mode): ... to this.
50725 (grub_vbe_set_memory_window): Renamed from this...
50726 (grub_vbe_bios_set_memory_window): ... to this.
50727 (grub_vbe_get_memory_window): Renamed from this...
50728 (grub_vbe_bios_get_memory_window): ... to this.
50729 (grub_vbe_set_scanline_length): Renamed from this...
50730 (grub_vbe_set_scanline_length): ... to this.
50731 (grub_vbe_get_scanline_length): Renamed from this...
50732 (grub_vbe_bios_get_scanline_length): ... to this.
50733 (grub_vbe_set_display_start): Renamed from this...
50734 (grub_vbe_bios_set_display_start): ... to this.
50735 (grub_vbe_get_display_start): Renamed from this...
50736 (grub_vbe_bios_get_display_start): ... to this.
50737 (grub_vbe_set_palette_data): Renamed from this...
50738 (grub_vbe_bios_set_palette_data): ... to this.
50739 (grub_vbe_set_pixel_rgb): Removed.
50740 (grub_vbe_set_pixel_index): Likewise.
50741
50742 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
50743 from this...
50744 (grub_vbe_bios_get_controller_info): ... to this.
50745 (grub_vbe_get_mode_info): Renamed from this...
50746 (grub_vbe_bios_get_mode_info): ... to this.
50747 (grub_vbe_set_mode): Renamed from this...
50748 (grub_vbe_bios_set_mode): ... to this.
50749 (grub_vbe_get_mode): Renamed from this...
50750 (grub_vbe_bios_get_mode): ... to this.
50751 (grub_vbe_set_memory_window): Renamed from this...
50752 (grub_vbe_bios_set_memory_window): ... to this.
50753 (grub_vbe_get_memory_window): Renamed from this...
50754 (grub_vbe_bios_get_memory_window): ... to this.
50755 (grub_vbe_set_scanline_length): Renamed from this...
50756 (grub_vbe_set_scanline_length): ... to this.
50757 (grub_vbe_get_scanline_length): Renamed from this...
50758 (grub_vbe_bios_get_scanline_length): ... to this.
50759 (grub_vbe_set_display_start): Renamed from this...
50760 (grub_vbe_bios_set_display_start): ... to this.
50761 (grub_vbe_get_display_start): Renamed from this...
50762 (grub_vbe_bios_get_display_start): ... to this.
50763 (grub_vbe_set_palette_data): Renamed from this...
50764 (grub_vbe_bios_set_palette_data): ... to this.
50765 (grub_vbe_bios_get_controller_info): Fixed problem with registers
50766 getting corrupted after calling it. Added more pushes and pops.
50767 (grub_vbe_bios_set_mode): Likewise.
50768 (grub_vbe_bios_get_mode): Likewise.
50769 (grub_vbe_bios_get_memory_window): Likewise.
50770 (grub_vbe_bios_set_scanline_length): Likewise.
50771 (grub_vbe_bios_get_scanline_length): Likewise.
50772 (grub_vbe_bios_get_display_start): Likewise.
50773 (grub_vbe_bios_set_palette_data): Likewise.
50774
50775 * normal/cmdline.c (cl_set_pos): Refresh the screen.
50776 (cl_insert): Likewise.
50777 (cl_delete): Likewise.
50778
50779 * term/gfxterm.c: New file.
50780
50781 * term/i386/pc/vesafb.c: Removed file.
50782
50783 * video/video.c: New file.
50784
50785 * video/i386/pc/vbe.c (real2pm): Added new function.
50786 (grub_video_vbe_draw_pixel): Likewise.
50787 (grub_video_vbe_get_video_ptr): Likewise.
50788 (grub_video_vbe_get_pixel): Likewise
50789 (grub_video_vbe_init): Likewise.
50790 (grub_video_vbe_fini): Likewise.
50791 (grub_video_vbe_setup): Likewise.
50792 (grub_video_vbe_get_info): Likewise.
50793 (grub_video_vbe_set_palette): Likewise.
50794 (grub_video_vbe_get_palette): Likewise.
50795 (grub_video_vbe_set_viewport): Likewise.
50796 (grub_video_vbe_get_viewport): Likewise.
50797 (grub_video_vbe_map_color): Likewise.
50798 (grub_video_vbe_map_rgb): Likewise.
50799 (grub_video_vbe_map_rgba): Likewise.
50800 (grub_video_vbe_unmap_color): Likewise.
50801 (grub_video_vbe_fill_rect): Likewise.
50802 (grub_video_vbe_blit_glyph): Likewise.
50803 (grub_video_vbe_blit_bitmap): Likewise.
50804 (grub_video_vbe_blit_render_target): Likewise.
50805 (grub_video_vbe_scroll): Likewise.
50806 (grub_video_vbe_swap_buffers): Likewise.
50807 (grub_video_vbe_create_render_target): Likewise.
50808 (grub_video_vbe_delete_render_target): Likewise.
50809 (grub_video_vbe_set_active_render_target): Likewise.
50810 (grub_vbe_set_pixel_rgb): Remove function.
50811 (grub_vbe_set_pixel_index): Likewise.
50812 (index_color_mode): Remove static variable.
50813 (active_mode): Likewise.
50814 (framebuffer): Likewise.
50815 (bytes_per_scan_line): Likewise.
50816 (grub_video_vbe_adapter): Added new static variable.
50817 (framebuffer): Likewise.
50818 (render_target): Likewise.
50819 (initial_mode): Likewise.
50820 (mode_in_use): Likewise.
50821 (mode_list): Likewise.
50822
5f97350b 508232006-03-10 Marco Gerards <marco@gnu.org>
50824
50825 * configure.ac (AC_INIT): Bumped to 1.93.
50826
50827 * DISTLIST: Added `include/grub/hfs.h'.
50828
a3c5c6f8 508292006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
50830
50831 * boot/i386/pc/boot.S (general_error): Before looping, try INT
50832 18H, which might help the BIOS falling back to next boot media.
50833
6de53d26 508342006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
50835
50836 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
50837 Poe Chen <poe.poechen@gmail.com>.
50838
77c4a393 508392006-01-17 Marco Gerards <marco@gnu.org>
50840
50841 * include/grub/normal.h: Include <grub/script.h>.
50842 (grub_command_list): Removed struct.
50843 (grub_command_list_t): Removed type.
50844 (grub_menu_entry): Remove members `num' and `command_list'. Add
50845 members `commands' and `sourcecode'.
50846 * include/grub/script.h: Add inclusion guards.
50847 (grub_script_cmd_menuentry): New struct.
50848 (grub_script_execute_menuentry): New prototype.
50849 (grub_script_lexer_record_start): Likewise.
50850 (grub_script_lexer_record_stop): Likewise.
50851 * normal/execute.c (grub_script_execute_menuentry): New function.
50852 * normal/lexer.c (record, recording, recordpos, recordlen): New
50853 variables.
50854 (grub_script_lexer_record_start): New function.
50855 (grub_script_lexer_record_stop): Likewise.
50856 (recordchar): Likewise.
50857 (nextchar): Likewise.
50858 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
50859 2048 as the buffer size. Add the tokens `menuentry' and `@'.
50860 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
50861 (current_menu): New variable.
50862 (free_menu): Mainly rewritten.
50863 (grub_normal_menu_addentry): New function.
50864 (read_config_file): Rewritten.
50865 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 50866 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 50867 the menu entry.
50868 (run): Mainly rewritten.
50869 * normal/parser.y (menu_entry): New variable.
50870 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
50871 (menuentry): New rule.
50872 (command): Add `menuentry'.
50873 (if_statement): Allow additional returns before `fi'.
50874 * normal/script.c (grub_script_create_cmdmenu): New function.
50875
144f1f98 508762006-01-03 Marco Gerards <marco@gnu.org>
50877
50878 * INSTALL: GNU Bison is required.
50879 * configure.ac: Rewritten the test to detect Bison.
50880 * Makefile.in (YACC): New variable. Reported by Xun Sun
50881 <xun.sun.cn@gmail.com>.
50882
af4b2d89 508832006-01-03 Marco Gerards <marco@gnu.org>
50884
50885 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
50886 the HFS+ filesystem to filesystem blocks.
50887 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
50888 GCC warning is silenced.
50889
15643b71 508902006-01-03 Marco Gerards <marco@gnu.org>
50891
50892 * partmap/apple.c (apple_partition_map_iterate): Convert the data
50893 read from disk from big endian to host byte order.
50894
00905879 508952006-01-03 Hollis Blanchard <hollis@penguinppc.org>
50896
50897 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
50898 documentation.
50899 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
50900 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
50901 embedded HFS+ filesystem.
50902 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
50903 (grub_hfs_sblock): Move from here...
50904 * include/grub/hfs.h: To here... New file.
50905 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
50906 documentation.
50907 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
50908 New macros.
50909 (grub_hfsplus_volheader): Change type of member `magic' to
50910 `grub_uint16_t'.
50911 (grub_hfsplus_data): Add new member `embedded_offset'.
50912 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
50913 returned block.
50914 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
50915 Calculate the offset.
50916
8899bc3e 509172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50918
50919 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
50920 Removed.
50921 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
50922
ae8c0277 509232005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50924
50925 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
50926 ENV->NAME is NULL after allocating ENV->VALUE.
50927
07084456 509282005-12-25 Marco Gerards <marco@gnu.org>
50929
50930 * kern/env.c (grub_env_set): Rewritten the error handling code.
50931
4750f5f1 509322005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50933
50934 * geninit.sh: Made more robust, and more portable.
50935
50214199 509362005-12-25 Marco Gerards <marco@gnu.org>
50937
50938 Add support for Apple HFS+ filesystems.
f19dbdb7 50939
50214199 50940 * fs/hfsplus.c: New file.
50941
50942 * DISTLIST: Added `fs/hfsplus.c'.
50943
50944 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
50945 (hfsplus_mod_SOURCES): New variable.
50946 (hfsplus_mod_CFLAGS): Likewise.
50947 (hfsplus_mod_LDFLAGS): Likewise.
50948 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
50949 (grub_setup_SOURCES): Likewise.
50950 (grub_mkdevicemap_SOURCES): Likewise.
50951 (grub_emu_SOURCES): Likewise.
50952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50953
50954 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
50955
50956 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
50957
befaed6c 509582005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50959
50960 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
50961 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
50962 include/grub/parser.h, include/grub/script.h, kern/parser.c,
50963 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
50964 normal/lexer.c, normal/parser.y, normal/script.c, and
50965 partmap/gpt.c.
50966 Removed kern/sparc64/cache.c.
50967
50968 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
50969 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
50970 grub_emu_init.c.
50971
50972 * configure.ac (AC_INIT): Bumped to 1.92.
50973
6a124103 509742005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
50975
50976 * kern/err.c (grub_error_push): Added new function to support error
50977 stacks.
50978 (grub_error_pop): Likewise.
50979 (grub_error_stack_items): New local variable to support error stacks.
50980 (grub_error_stack_pos): Likewise.
50981 (grub_error_stack_assert): Likewise.
50982 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
50983 stack depth.
50984 (grub_print_error): Added support to print errors from error stack.
50985
50986 * include/grub/err.h (grub_error_push): Added function prototype.
50987 (grub_error_pop): Likewise.
50988
be973c1b 509892005-12-09 Hollis Blanchard <hollis@penguinppc.org>
50990
50991 * configure.ac: Accept `powerpc64' as host_cpu.
50992 (amd64): Rename to `biarch32'.
50993
50994 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
50995 non-cacheline-aligned addresses.
50996
50997 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
50998 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
50999 if `size' is non-zero.
51000
b04216ab 510012005-12-03 Marco Gerards <mgerards@xs4all.nl>
51002
51003 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
51004 and `cd' to make sure the filename is not prefixed with a
51005 directory name.
51006 (pkgdata_MODULES): Add `gpt.mod'.
51007 (gpt_mod_SOURCES): New variable.
51008 (gpt_mod_CFLAGS): Likewise.
51009 (gpt_mod_LDFLAGS): Likewise.
51010
51011 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
51012
51013 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
51014 New macro.
51015
51016 * partmap/gpt.c: New file.
51017
51018 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
51019 GPT partition map is detected.
51020
41730ed9 510212005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
51022
51023 * commands/i386/pc/play.c: New file.
51024 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
51025 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
51026 macros.
f19dbdb7 51027
95dc3643 510282005-11-27 Marco Gerards <mgerards@xs4all.nl>
51029
51030 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
51031 ((unused))' to silence gcc warning.
51032
1569ec51 510332005-11-26 Hollis Blanchard <hollis@penguinppc.org>
51034
51035 * configure.ac: Correct `AC_PROG_YACC' test.
51036
9abde152 510372005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51038
51039 * util/powerpc/ieee1275/grub-install.in: Run the mount point
51040 check before installing files.
51041
44b83271 510422005-11-22 Mike Small <smallm@panix.com>
51043
51044 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
51045 number regex so multidigit numbers are recognized correctly.
51046
510472005-11-22 Mike Small <smallm@panix.com>
51048
51049 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
51050 debugging message before attempting to claim memory.
51051 (grub_rescue_cmd_initrd): Add a claim debugging message and try
51052 multiple addresses in case of failure.
51053
9c12956b 510542005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51055
51056 * term/tparm.c (get_space): Remove empty `if' statement.
51057
51058 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
51059
51060 * kern/parser.c (check_varstate): Rename `state' to 's'.
51061
aeaf81d9 510622005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51063
51064 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
51065 variable definitions to the beginning of each function. Sort stack
51066 variables by size.
51067 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
51068 `buf' argument to `char *'.
51069
79bbb63f 510702005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51071
51072 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
51073 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 51074 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 51075 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51076 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51077 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51078 configfile.mod, search.mod, gzio.mod and test.mod.
51079 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51080 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51081 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51082 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51083 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51084 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51085 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51086 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51087 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51088 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51089 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51090 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51091 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51092 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51093 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51094 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51095 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51096 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51097 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51098 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51099 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51100 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51101 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
51102
51103 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
51104 `grep --include'.
51105 (pkgdata_MODULES): Add test.mod.
51106
233b1628 511072005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51108
51109 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
51110 appending to variables with "+=".
51111 (PModule): Use full pathname to generate *.lst filenames.
51112
51113 * Makefile.in: Fixed list rules moved from genmk.rb.
51114 (.DELETE_ON_ERROR): New special target.
51115 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
51116
51117 * conf/i386-pc.rmk: Include conf/common.mk.
51118 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 51119 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 51120 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51121 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51122 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51123 configfile.mod, search.mod, gzio.mod and test.mod.
51124 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51125 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51126 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51127 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51128 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51129 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51130 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51131 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51132 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51133 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51134 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51135 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51136 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51137 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51138 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51139 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51140 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51141 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51142 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51143 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51144 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51145 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51146 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
51147 here...
51148 * conf/common.rmk: ... to here. New file.
51149
51150 * conf/common.mk: New file.
51151
16f820c8 511522005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
51153
51154 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
51155 (grub_script.tab.c): ... here.
51156
51157 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
51158 (grub_script.tab.c): ... here.
51159
51160 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
51161 (grub_script.tab.c): ... here.
51162
51163 * normal/command.c (grub_command_find): Fixed a memory leak of
51164 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
51165
63ba1554 511662005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51167
51168 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
51169 "@" which marks the start of a comment on ARM.
51170 (VARIABLE): Likewise.
51171
7f67dc13 511722005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51173
79bbb63f 51174 Add support for Linux/ADFS partition tables.
7f67dc13 51175
51176 * partmap/acorn.c: New file.
51177
51178 * include/grub/acorn_filecore.h: Likewise.
51179
51180 * DISTLIST: Added `partmap/acorn.c' and
51181 `include/grub/acorn_filecore.h'.
f19dbdb7 51182
7f67dc13 51183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51184 `partmap/acorn.c'.
51185 (pkgdata_MODULES): Add `acorn.mod'.
51186 (acorn_mod_SOURCES): New variable.
51187 (acorn_mod_CFLAGS): Likewise.
51188
51189 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51190 `partmap/acorn.c'.
51191 (pkgdata_MODULES): Add `acorn.mod'.
51192 (acorn_mod_SOURCES): New variable.
51193 (acorn_mod_CFLAGS): Likewise.
51194
51195 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
51196 (pkgdata_MODULES): Add `acorn.mod'.
51197 (acorn_mod_SOURCES): New variable.
51198 (acorn_mod_CFLAGS): Likewise.
51199 (acorn_mod_LDFLAGS): Likewise.
51200
51201 * include/types.h (grub_disk_addr_t): New typedef.
51202
6d099807 512032005-11-13 Marco Gerards <mgerards@xs4all.nl>
51204
51205 * geninit.sh: New file.
51206
51207 * geninitheader.sh: Likewise.
51208
51209 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
51210 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
51211 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
51212 * commands/configfile.c (grub_configfile_init)
51213 (grub_configfile_fini): Likewise.
51214 * commands/default.c (grub_default_init, grub_default_fini):
51215 Likewise.
51216 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
51217 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
51218 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
51219 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
51220 Likewise.
51221 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
51222 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
51223 Likewise.
51224 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 51225 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 51226 Likewise.
51227 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
51228 Likewise.
fe6b695a 51229 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 51230 Likewise.
51231 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
51232 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
51233 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
51234 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
51235 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
51236 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
51237 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
51238 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
51239 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
51240 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
51241 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
51242 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
51243 * partmap/amiga.c (grub_amiga_partition_map_init)
51244 (grub_amiga_partition_map_fini): Likewise.
51245 * partmap/apple.c (grub_apple_partition_map_init)
51246 (grub_apple_partition_map_fini): Likewise.
51247 * partmap/pc.c (grub_pc_partition_map_init)
51248 (grub_pc_partition_map_fini): Likewise.
51249 * partmap/sun.c (grub_sun_partition_map_init,
51250 grub_sun_partition_map_fini): Likewise.
51251 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
51252 Likewise.
51253
51254 * util/grub-emu.c: Include <grub_modules_init.h>.
51255 (main): Don't initialize and de-initialize any modules directly,
51256 use `grub_init_all' and `grub_fini_all' instead.
51257
51258 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
51259 `grub_vesafb_mod_init'.
51260 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
51261 all users.
51262 * term/i386/pc/vga.c (grub_vga_init): Renamed to
51263 `grub_vga_mod_init'. Updated all users.
51264 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 51265
6d099807 51266 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
51267 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
51268 rules.
51269
51270 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
51271 Generate a function to initialize the module in utilities.
51272 Updated all callers.
51273 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
51274 initialize the module in utilities. Updated all callers.
51275
9046bcf0 512762005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51277
51278 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
51279 escape sequence and a literal ^L to clear the screen.
51280
51281 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
51282 when returning from Open Firmware.
51283
d13ea639 512842005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51285
51286 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
51287 (grub_ofconsole_height): Likewise.
51288 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
51289 manually insert a '\n'.
51290 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
51291 `grub_ofconsole_height'. Return early if these are already set.
51292
a8fcf206 512932005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
51294
51295 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51296 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
51297 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
51298 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
51299 and `normal/script.c'.
51300 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51301 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51302 (test_mod_SOURCES): New variable.
51303 (test_mod_CFLAGS): Likewise.
51304 (test_mod_LDFLAGS): Likewise.
51305 (pkgdata_MODULES): Add `test.mod'.
51306 (grub_script.tab.c): New rule.
51307 (grub_script.tab.h): Likewise.
51308
b6b32745 513092005-11-07 Marco Gerards <mgerards@xs4all.nl>
51310
51311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51312 `commands/test.c', `normal/execute.c', `normal/lexer.c',
51313 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51314 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51315 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51316 (test_mod_SOURCES): New variable.
51317 (test_mod_CFLAGS): Likewise.
51318 (pkgdata_MODULES): Add `test.mod'.
51319 (grub_script.tab.c): New rule.
51320 (grub_script.tab.h): Likewise.
51321
daac212a 513222005-11-06 Marco Gerards <mgerards@xs4all.nl>
51323
51324 Add initial scripting support.
51325
51326 * commands/test.c: New file.
51327 * include/grub/script.h: Likewise.
51328 * normal/execute.c: Likewise.
51329 * normal/function.c: Likewise.
51330 * normal/lexer.c: Likewise.
51331 * normal/parser.y: Likewise.
51332 * normal/script.c: Likewise.
51333
51334 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 51335
daac212a 51336 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
51337 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
51338 `normal/function.c' and `normal/script.c'.
51339 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51340 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 51341 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
51342 variables.
daac212a 51343 (pkgdata_MODULES): Add `test.mod'.
51344 (grub_script.tab.c): New rule.
51345 (grub_script.tab.h): Likewise.
51346
51347 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
51348
51349 * include/grub/normal.h (grub_test_init): New prototype.
51350 (grub_test_fini): Likewise.
f19dbdb7 51351
daac212a 51352 * normal/command.c: Include <grub/script.h>.
51353 (grub_command_execute): Rewritten.
f19dbdb7 51354
daac212a 51355 * util/grub-emu.c (main): Call `grub_test_init' and
51356 `grub_test_fini'.
51357
77500b2b 513582005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51359
51360 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
51361 to 0.
51362 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
51363 there are no pending characters.
51364
e45deb9e 513652005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51366
51367 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
51368 `grub_strndup' to drop device arguments. Replace unnecessary
51369 `grub_strndup' with `grub_strdup'.
51370
4ce32619 513712005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51372
51373 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
51374 `debug' environment variable has been set.
51375
513762005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51377
4ce32619 51378 * Makefile.in (install-local): Use $(DATA).
51379 (uninstall): Likewise.
51380 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
51381 (sbin_UTILITIES): ... to here.
51382 (sbin_SCRIPTS): New variable.
51383 (grub_install_SOURCES): New variable.
51384 * util/powerpc/ieee1275/grub-install.in: New file.
51385 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
51386 variable.
51387 (add_segments): Call `grub_util_get_path'.
51388
25fe6f03 513892005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
51390
51391 From Timothy Baldwin:
51392 * commands/ls.c (grub_ls_list_files): Close FILE with
51393 grub_file_close.
51394 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
51395
04ccf3ec 513962005-10-24 Marco Gerards <mgerards@xs4all.nl>
51397
51398 * include/grub/parser.h: New file.
51399
51400 * kern/parser.c: Likewise.
51401
51402 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
51403 (grub_setup_SOURCES): Likewise.
51404 (grub_probefs_SOURCES): Likewise.
51405 (grub_emu_SOURCES): Likewise.
51406 (kernel_img_HEADERS): Add `parser.h'.
51407
51408 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51409 (grub_emu_SOURCES): Add `kern/parser.c'.
51410 (grubof_SOURCES): Likewise.
51411
51412 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51413 (grubof_SOURCES): Add `kern/parser.c'.
51414
51415 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
51416
51417 * kern/misc.c (grub_split_cmdline): Removed function.
51418
51419 * kern/rescue.c: Include <grub/parser.h>.
51420 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
51421 of `grub_split_cmdline'.
51422
51423 * normal/command.c: Include <grub/parser.h>.
51424 (grub_command_execute): Use `grub_parser_split_cmdline' instead
51425 of `grub_split_cmdline'.
51426
51427 * normal/completion.c: Include <grub/parser.h>.
51428 (cmdline_state): New variable.
51429 (iterate_dir): End the filename with a quote depending on the
51430 command line state.
51431 (get_state): new function.
51432 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
51433 split the arguments and determine the current argument. When the
51434 argument string is not quoted, escape all spaces.
51435
6d8f4b0e 514362005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51437
51438 * normal/sparc64/setjmp.S: New file.
51439
15cf03ed 514402005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51441
51442 * include/grub/sparc64/libgcc.h: New file.
51443 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
51444 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
51445 normal/sparc64/setjmp.c.
51446
03e8661a 514472005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51448
51449 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
51450 * kern/sparc64/cache.S: New file.
51451 * kern/sparc64/cache.c: Removed.
51452 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
51453 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
51454 -mtune=ultrasparc.
51455 (COMMON_LDFLAGS): Add -melf64_sparc.
51456 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
51457 (grubof_SOURCES): Use cache.S instead of cache.c.
51458 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
51459 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
51460 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
51461 commented though.
51462 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
51463 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
51464 (linux_mod_CFLAGS): Commented out.
51465 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
51466 out because module isn't built.
51467 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
51468 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
51469 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
51470 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
51471 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
51472 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51473 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51474 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
51475 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
51476 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
51477 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51478 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51479 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
51480 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
51481
34eeec8a 514822005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
51483
51484 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
51485 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
51486 longer, because HFS should not be used on PC.
51487
708367a3 514882005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51489
51490 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
51491 consistently within the loop.
51492
6fa1251a 514932005-10-15 Marco Gerards <mgerards@xs4all.nl>
51494
51495 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
51496 directory can not be read.
51497
4801580b 514982005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51499
51500 * configure.ac (AC_INIT): Increase the version number to 1.91.
51501
51502 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
51503 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
51504 term/i386/pc/serial.c.
51505
219ad426 515062005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51507
51508 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
51509 file size must be permitted.
51510
51511 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
51512 between %ah and %al.
51513
688e5699 515142005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51515
51516 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
51517 grub_uint64_t.
51518 Call the hook with a NUL-terminated filename.
51519 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
51520 grub_cpu_to_be32.
51521
51522 * kern/term.c (cursor_state): New variable.
51523 (grub_term_set_current): Reset the cursor state on a new
51524 terminal.
51525 (grub_setcursor): Rewritten to use CURSOR_STATE.
51526 (grub_getcursor): New function.
51527
51528 * include/grub/term.h (grub_getcursor): New prototype.
51529
51530 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
51531 integers on ARM. Reported by Timothy Baldwin
51532 <T.E.Baldwin99@members.leeds.ac.uk>.
51533
bb34586c 515342005-10-11 Marco Gerards <mgerards@xs4all.nl>
51535
51536 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
51537 allocated.
51538 (grub_sfs_dir): Likewise.
51539
9a909877 515402005-10-09 Marco Gerards <mgerards@xs4all.nl>
51541
51542 Add support for the SFS filesystem.
51543
51544 * fs/sfs.c: New file.
51545
51546 * DISTLIST: Added `fs/sfs.c'.
51547
51548 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
51549 (grub_probefs_SOURCES): Likewise.
51550 (grub_emu_SOURCES): Likewise.
51551 (pkgdata_MODULES): Add `sfs.mod'.
51552 (sfs_mod_SOURCES): New variable.
51553 (sfs_mod_CFLAGS): Likewise.
51554 (sfs_mod_LDFLAGS): Likewise.
51555
51556 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
51557 (pkgdata_MODULES): Add `sfs.mod'.
51558 (sfs_mod_SOURCES): New variable.
51559 (sfs_mod_CFLAGS): Likewise.
51560
51561 * util/grub-emu.c (main): Call `grub_sfs_init' and
51562 `grub_sfs_fini'.
51563
51564 * include/grub/fs.h (grub_sfs_init): New prototype.
51565 (grub_sfs_fini): Likewise.
51566
57bdbde3 515672005-10-07 Marco Gerards <mgerards@xs4all.nl>
51568
51569 Add support for the AFFS filesystem.
51570
51571 * fs/affs.c: New file.
51572
51573 * DISTLIST: Added `fs/affs.c'.
51574
51575 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
51576 (grub_probefs_SOURCES): Likewise.
51577 (grub_emu_SOURCES): Likewise.
51578 (pkgdata_MODULES): Add `affs.mod'.
51579 (affs_mod_SOURCES): New variable.
51580 (affs_mod_CFLAGS): Likewise.
51581 (affs_mod_LDFLAGS): Likewise.
51582
51583 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
51584 (pkgdata_MODULES): Add `affs.mod'.
51585 (affs_mod_SOURCES): New variable.
51586 (affs_mod_CFLAGS): Likewise.
51587
51588 * util/grub-emu.c (main): Call `grub_affs_init' and
51589 `grub_affs_fini'.
51590
51591 * include/grub/fs.h (grub_affs_init): New prototype.
51592 (grub_affs_fini): Likewise.
51593
047b67e0 515942005-10-01 Marco Gerards <mgerards@xs4all.nl>
51595
51596 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
51597
59b8208a 515982005-10-01 Marco Gerards <mgerards@xs4all.nl>
51599
51600 * configure.ac: Accept `x86_64' as host_cpu. In that case add
51601 `-m32' to CFLAGS.
51602
51603 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
51604 linking.
f19dbdb7 51605
59b8208a 51606 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
51607 (COMMON_LDFLAGS): New variable.
51608 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
51609 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
51610 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
51611 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
51612 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
51613 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
51614 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
51615 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
51616 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
51617 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
51618 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51619 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51620 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
51621 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
51622 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
51623 variables.
51624 (normal_mod_ASFLAGS): Add `-m32'.
51625
51626 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
51627 (grub_host_size_t, grub_host_ssize_t): New types.
51628 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 51629 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 51630 `GRUB_HOST_SIZEOF_VOID_P'.
51631
51632 * include/grub/kernel.h (struct grub_module_header): Type of
51633 member offset changed to `grub_host_off_t'. Type of member size
51634 changed to `grub_host_size_t'.
51635 (struct grub_module_info): Type of member offset changed to
51636 `grub_host_off_t'. Type of member size changed to
51637 `grub_host_size_t'.
51638
b4093103 516392005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
51640
51641 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 51642
b4093103 51643 * kern/i386/pc/startup.S (multiboot_header): New label.
51644 (multiboot_entry): Likewise.
51645 (multiboot_trampoline): Likewise.
51646
51647 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51648 Increased to 0x4A0.
51649
51650 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
51651 put parentheses after a question mark.
51652 [!GRUB_UTIL] (my_mod): New variable.
51653
51654 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
51655
b2499b29 516562005-09-28 Marco Gerards <mgerards@xs4all.nl>
51657
51658 Adds support for the XFS filesystem. Btrees are not supported
51659 yet.
51660
51661 * fs/xfs.c: New file.
51662
51663 * DISTLIST: Added `fs/xfs.c'.
51664
51665 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
51666 (grub_probefs_SOURCES): Likewise.
51667 (grub_emu_SOURCES): Likewise.
51668 (pkgdata_MODULES): Add `xfs.mod'.
51669 (xfs_mod_SOURCES): New variable.
51670 (xfs_mod_CFLAGS): Likewise.
51671
51672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
51673 (pkgdata_MODULES): Add `xfs.mod'.
51674 (xfs_mod_SOURCES): New variable.
51675 (xfs_mod_CFLAGS): Likewise.
51676
51677 * util/grub-emu.c (main): Call `grub_xfs_init' and
51678 `grub_xfs_fini'.
51679
51680 * include/grub/fs.h (grub_xfs_init): New prototype.
51681 (grub_xfs_fini): Likewise.
51682
f19dbdb7 51683
83d37a62 516842005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
51685
51686 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
51687 color modes, allow greater than 16 colors to be configured as
51688 a default palette.
51689
47d2d65e 516902005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
51691
51692 * normal/completion.c (complete_arguments): Add the qualifier
51693 const into OPTIONS.
51694
51695 From Omniflux <omniflux+lists@omniflux.com>:
51696 * include/grub/terminfo.h: New file.
51697 * include/grub/tparm.h: Likewise.
51698 * include/grub/i386/pc/serial.h: Likewise.
51699 * term/terminfo.c: Likewise.
51700 * term/tparm.c: Likewise.
51701 * term/i386/pc/serial.c: Likewise.
51702 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
51703 serial.mod.
51704 (terminfo_mod_SOURCES): New variable.
51705 (terminfo_mod_CFLAGS): Likewise.
51706 (serial_mod_SOURCES): Likewise.
51707 (serial_mod_CFLAGS): Likewise.
51708
48b671ff 517092005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
51710
51711 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
51712 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
51713 and kern/powerpc/ieee1275/cmain.c, respectively.
51714
51715 * boot/powerpc/ieee1275/crt0.S: Moved to ...
51716 * kern/powerpc/ieee1275/crt0.S: ... here.
51717
51718 * boot/powerpc/ieee1275/cmain.c: Moved to ...
51719 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 51720
48b671ff 51721 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
51722 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
51723 instead of boot/powerpc/ieee1275/crt0.S and
51724 boot/powerpc/ieee1275/cmain.c, respectively.
51725
51726 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
51727 sectors. It was not used anyway.
51728
09fc77a7 517292005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51730
51731 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
51732 `unused parameter' warning.
51733
003789c7 517342005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51735
51736 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
51737 function.
51738 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
51739 getcharwidth.
51740
67f44c86 517412005-08-28 Marco Gerards <metgerards@student.han.nl>
51742
51743 * include/grub/normal.h (enum grub_completion_type): Added
51744 `GRUB_COMPLETION_TYPE_ARGUMENT'.
51745
51746 * normal/cmdline.c (print_completion): Handle
51747 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
51748 * normal/menu_entry.c (store_completion): Likewise.
51749
51750 * normal/completion.c (complete_arguments): New function.
51751 (grub_normal_do_completion): Call `complete_arguments' when the
51752 current words start with a dash.
51753
0b5abe02 517542005-08-27 Marco Gerards <metgerards@student.han.nl>
51755
51756 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
51757 `gzio.mod' instead of `io.mod').
51758
d9864ee1 517592005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
51760
51761 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
51762 (DISTDIRS): Added io and video.
51763 Rewrite the search routine to make an output consistently.
51764
51765 * DISTLIST: Added conf/sparc64-ieee1275.mk,
51766 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
51767 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
51768 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
51769 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
51770 util/powerpc/ieee1275/misc.c.
f19dbdb7 51771
d9864ee1 51772 * include/grub/gzio.h: New file.
51773 * io/gzio.c: Likewise.
f19dbdb7 51774
d9864ee1 51775 * kern/file.c (grub_file_close): Call grub_device_close only if
51776 FILE->DEVICE is not NULL.
51777
51778 * include/grub/mm.h [!NULL] (NULL): New macro.
51779
51780 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
51781
51782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
51783 (pkgdata_MODULES): Added gzio.mod.
51784 (gzio_mod_SOURCES): New variable.
51785 (gzio_mod_CFLAGS): Likewise.
51786
51787 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
51788 (pkgdata_MODULES): Added gzio.mod.
51789 (gzio_mod_SOURCES): New variable.
51790 (gzio_mod_CFLAGS): Likewise.
51791
51792 * commands/cat.c: Include grub/gzio.h.
51793 (grub_cmd_cat): Use grub_gzfile_open instead of
51794 grub_file_open.
f19dbdb7 51795
d9864ee1 51796 * commands/cmp.c: Include grub/gzio.h.
51797 (grub_cmd_cmp): Use grub_gzfile_open instead of
51798 grub_file_open.
51799
51800 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
51801 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
51802 grub_file_open.
51803 (grub_rescue_cmd_module): Likewise.
51804
fa46f4b5 518052005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51806
51807 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
51808 kern/sparc64/ieee1275/init.c because it contains _start.
51809 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
51810
e9211b5d 518112005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51812
51813 * configure.ac: Add support for sparc64 host with ieee1275
51814 firmware.
51815 * configure: Generated from configure.ac.
51816 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
51817 instead of int.
51818 (grub_ofdisk_read): Likewise.
51819 (grub_ofdisk_open): Use %p to print pointer values, and cast the
51820 pointers as (void *) to remove a warning.
51821 (grub_ofdisk_close): Likewise.
51822 (grub_ofdisk_read): Likewise.
51823 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
51824 returns, so make it return void to remove a warning.
51825 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
51826 Corresponding prototype change.
51827 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
51828 values, and cast the pointers as (void *) to remove a warning.
51829 (grub_mm_dump): Likewise.
51830 * conf/sparc64-ieee1275.mk: New file.
51831 * conf/sparc64-ieee1275.rmk: Likewise.
51832 * include/grub/sparc64/setjmp.h: Likewise.
51833 * include/grub/sparc64/types.h: Likewise.
51834 * include/grub/sparc64/ieee1275/console.h: Likewise.
51835 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
51836 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
51837 * include/grub/sparc64/ieee1275/time.h: Likewise.
51838 * kern/sparc64/cache.c: Likewise.
51839 * kern/sparc64/dl.c: Likewise.
51840 * kern/sparc64/ieee1275/init.c: Likewise.
51841 * kern/sparc64/ieee1275/openfw.c: Likewise.
51842
385c6a92 518432005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51844
51845 * util/console.c (grub_ncurses_putchar): If C is greater than
51846 0x7f, set C to a question mark.
51847 (grub_ncurses_getcharwidth): New function.
51848 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
51849 getcharwidth.
51850
51851 * normal/menu.c (print_entry): Made aware of Unicode. First,
51852 convert TITLE to UCS-4, and predict the cursor position by
51853 grub_getcharwidth.
51854
51855 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
51856 const to SRC.
51857 * kern/misc.c (grub_utf16_to_utf8): Likewise.
51858
16ccb8b1 518592005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51860
51861 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
51862 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51863 grub_strcat.
51864
51865 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
51866 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51867 grub_strcpy and grub_strlen. Take it into account that a space
51868 character is inserted as a delimiter.
51869
6a85ce79 518702005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51871
51872 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 51873 invalid magic in the error.
6a85ce79 51874
51875 * commands/search.c: New file.
f19dbdb7 51876
6a85ce79 51877 * util/grub-emu.c (main): Call grub_search_init and
51878 grub_search_fini.
51879
51880 * kern/rescue.c (grub_rescue_print_disks): Removed.
51881 (grub_rescue_print_devices): New function.
51882 (grub_rescue_cmd_ls): Use grub_device_iterate with
51883 grub_rescue_print_devices instead of grub_disk_dev_iterate with
51884 grub_rescue_print_disks.
51885
51886 * kern/partition.c (grub_partition_iterate): Return the result of
51887 PARTMAP->ITERATE instead of GRUB_ERRNO.
51888
51889 * kern/device.c: Include grub/partition.h.
51890 (grub_device_iterate): New function.
51891
51892 * include/grub/partition.h (grub_partition_iterate): Return int
51893 instead of grub_err_t.
51894
51895 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
51896 prototype.
51897 [GRUB_UTIL] (grub_search_fini): Likewise.
51898
51899 * include/grub/device.h (grub_device_iterate): New prototype.
51900
51901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51902 commands/search.c.
51903 (pkgdata_MODULES): Added search.mod.
51904 (search_mod_SOURCES): New variable.
51905 (search_mod_CFLAGS): Likewise.
51906
51907 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
51908 (pkgdata_MODULES): Added search.mod.
51909 (search_mod_SOURCES): New variable.
51910 (search_mod_CFLAGS): Likewise.
51911
51912 * commands/ls.c (grub_ls_list_disks): Renamed to ...
51913 (grub_ls_list_devices): ... this, and use grub_device_iterate.
51914 All callers changed.
51915
51916 * DISTLIST: Added commands/search.c.
51917
ef095434 519182005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51919
51920 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
51921 conversion.
51922 (grub_getcharwidth): New function.
51923
51924 * kern/misc.c (grub_utf8_to_ucs4): New function.
51925
51926 * include/grub/term.h (struct grub_term): Added a new member
51927 "getcharwidth".
51928 (grub_getcharwidth): New prototype.
51929
51930 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
51931
51932 * term/i386/pc/console.c (map_char): New function. Segregated from
51933 grub_console_putchar.
51934 (grub_console_putchar): Use map_char.
51935 (grub_console_getcharwidth): New function.
51936 (grub_console_term): Specified grub_console_getcharwidth as
51937 getcharwidth.
51938
51939 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
51940 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
51941
51942 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
51943 GRUB_ERRNO.
51944 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
51945 on grub_strtoul completely.
51946 (write_char): Declare local variables in the beginning of the
51947 function.
51948 (grub_vesafb_getcharwidth): New function.
51949 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
51950 getcharwidth.
51951
1f0a95e4 519522005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
51953
51954 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
51955 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
51956 commands/i386/pc/vbetest.c.
51957
51958 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
51959 call grub_vbe_get_controller_info again, because the returned
51960 information is volatile.
51961 (grub_vbe_set_video_mode): Mostly rewritten.
51962 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
51963 grub_vbe_status_t correctly.
51964 (grub_vbe_get_video_mode_info): Likewise.
51965 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
51966 several if statements.
51967
51968 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
51969 * commands/i386/pc/vbeinfo.c: ... this.
51970
51971 * commands/i386/pc/vbe_test.c: Renamed to ...
51972 * commands/i386/pc/vbetest.c: ... this.
51973
51974 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
51975 ...
51976 (grub_cmd_vbeinfo): ... this. Save video modes before
51977 iterating. Skip a video mode, if it is not available, not enough
51978 information is given or it is monochrome. Show the memory
51979 model. Leave the interpretation of MODEVAR to grub_strtoul
51980 completely.
51981 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
51982 (GRUB_MOD_FINI): Likewise.
51983
51984 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
51985 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
51986 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
51987 duplicated grub_env_get. Leave the interpretation of MODEVAR to
51988 grub_strtoul completely.
51989 (real2pm): Removed.
51990 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
51991 (GRUB_MOD_FINI): Likewise.
51992
51993 * normal/misc.c: Include grub/mm.h.
51994
51995 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
51996 vbe_list_modes with vbetest.mod and vbeinfo.mod.
51997 (vbe_list_modes_mod_SOURCES): Removed.
51998 (vbe_list_modes_mod_CFLAGS): Likewise.
51999 (vbe_test_mod_SOURCES): Likewise.
52000 (vbe_test_mod_CFLAGS): Likewise.
52001 (vbeinfo_mod_SOURCES): New variable.
52002 (vbeinfo_mod_CFLAGS): Likewise.
52003 (vbetest_mod_SOURCES): Likewise.
52004 (vbetest_mod_CFLAGS): Likewise.
52005
992ffbbe 520062005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
52007
52008 * normal/misc.c: New file.
52009
52010 * DISTLIST: Added normal/misc.c.
f19dbdb7 52011
992ffbbe 52012 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
52013 DISK to HOOK. Call HOOK with DISK.
52014 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52015 * partmap/pc.c (pc_partition_map_iterate): Likewise.
52016 * partmap/sun.c (sun_partition_map_iterate): Likewise.
52017
52018 * normal/menu_entry.c (struct screen): Added a new member
52019 "completion_shown".
52020 (completion_buffer): New global variable.
52021 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
52022 (store_completion): New function.
52023 (complete): Likewise.
52024 (clear_completions): Likewise.
52025 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
52026 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
52027 a tab, call complete.
52028
52029 * normal/completion.c (disk_dev): Removed.
52030 (print_simple_completion): Likewise.
52031 (print_partition_completion): Likewise.
52032 (print_func): New global variable.
52033 (add_completion): Do not take the arguments WHAT or PRINT any
52034 longer. Added a new argument TYPE. Instead of printing directly,
52035 call PRINT_FUNC if not NULL.
52036 All callers changed.
52037 (complete_device): Use a local variable DEV instead of
52038 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
52039 (grub_normal_do_completion): Take a new argument HOOK. Do not
52040 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
52041 empty string, return NULL instead.
52042 All callers changed.
52043
52044 * normal/cmdline.c (print_completion): New function.
52045
52046 * kern/partition.c (grub_partition_iterate): Add an argument DISK
52047 to HOOK.
52048 All callers changed.
52049
52050 * kern/disk.c (grub_print_partinfo): Removed.
52051
52052 * include/grub/partition.h (struct grub_partition_map): Add a new
52053 argument DISK into HOOK of ITERATE.
52054 (grub_partition_iterate): Add a new argument DISK to HOOK.
52055
52056 * include/grub/normal.h (enum grub_completion_type): New enum.
52057 (grub_completion_type_t): New type.
52058 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
52059 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
52060 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
52061 (GRUB_COMPLETION_TYPE_FILE): Likewise.
52062 (grub_normal_do_completion): Added a new argument HOOK.
52063 (grub_normal_print_device_info): New prototype.
52064
52065 * include/grub/disk.h (grub_print_partinfo): Removed.
52066
52067 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
52068 (normal_mod_SOURCES): Likewise.
52069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52070 (normal_mod_SOURCES): Likewise.
52071
52072 * commands/ls.c (grub_ls_list_disks): Use
52073 grub_normal_print_device_info instead of grub_print_partinfo. Free
52074 PNAME.
52075 (grub_ls_list_files): Use grub_normal_print_device_info instead of
52076 duplicating the code.
52077
0bd41162 520782005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52079
52080 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 52081 follow GCS more precisely.
52082 * commands/i386/pc/vbe_test.c: Likewise.
52083 * include/grub/i386/pc/vbe.h: Likewise.
52084 * term/i386/pc/vesafb.c: Likewise.
52085 * video/i386/pc/vbe.c: Likewise.
0bd41162 52086
6323696a 520872005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52088
52089 * DISTLIST: Added term/i386/pc/vesafb.c
52090 DISTLIST: Added video/i386/pc/vbe.c
52091 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
52092 DISTLIST: Added commands/i386/pc/vbe_test.c.
52093 * commands/i386/pc/vbe_list_modes.c: New file.
52094 * commands/i386/pc/vbe_test.c: Likewise.
52095 * term/i386/pc/vesafb.c: Likewise.
52096 * video/i386/pc/vbe.c: Likewise.
52097 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
52098 (grub_vbe_probe) Added prototype.
52099 (grub_vbe_set_video_mode) Likewise.
52100 (grub_vbe_get_video_mode) Likewise.
52101 (grub_vbe_get_video_mode_info) Likewise.
52102 (grub_vbe_set_pixel_rgb) Likewise.
52103 (grub_vbe_set_pixel_index) Likewise.
52104 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
52105 (pkgdata_MODULES): Added vesafb.mod.
52106 (pkgdata_MODULES): Added vbe_list_modes.mod.
52107 (pkgdata_MODULES): Added vbe_test.mod.
52108 (vbe_mod_SOURCES): Added.
52109 (vbe_mod_CFLAGS): Likewise.
52110 (vesafb_mod_SOURCES): Likewise.
52111 (vesafb_mod_CFLAGS): Likewise.
52112 (vbe_list_modes_mod_SOURCES): Likewise.
52113 (vbe_list_modes_mod_CFLAGS): Likewise.
52114 (vbe_test_mod_SOURCES): Likewise.
52115 (vbe_test_mod_CFLAGS): Likewise.
52116
0a74e62f 521172005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
52118
0a74e62f 52119 * normal/command.c (grub_command_execute): If INTERACTIVE is
52120 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
52121 CMDLINE. Disable the pager if INTERACTIVE is true.
52122 All callers are changed.
52123
52124 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
52125 before reading a config file.
52126 * normal/main.c (read_config_file): Even if a command is not
52127 found, register it if it is within an entry.
52128
52129 * util/grub-emu.c: Include sys/types.h and unistd.h.
52130 (options): Added --hold.
52131 (struct arguments): Added a new member "hold".
52132 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
52133 missing.
52134 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
52135 cleared by a debugger, if it is not zero.
52136
52137 * include/grub/normal.h (grub_command_execute): Add an argument
52138 INTERACTIVE.
52139
e51f85ae 521402005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
52141
52142 * DISTLIST: Added include/grub/i386/pc/vbe.h.
52143
e9c6f39b 521442005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
52145
52146 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
52147 program with another one, because the old one didn't detect a bug
52148 in gcc-3.4. Always use regparm 2, because the new test is still
52149 not enough for gcc-4.0. Someone must investigate a simple test
52150 case which detects a bug in gcc-4.0.
52151
8de3495c 521522005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
52153
52154 * DISTLIST: Added normal/completion.c.
52155
52156 * normal/completion.c: New file.
f19dbdb7 52157
8de3495c 52158 * term/i386/pc/console.c (grub_console_getwh): New function.
52159 (grub_console_term): Assign grub_console_getwh to getwh.
52160
52161 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
52162 function is defined in normal/completion.c as
52163 grub_normal_do_completion.
52164 (grub_cmdline_get): Use grub_normal_do_completion instead of
52165 grub_tab_complete.
52166
52167 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
52168 returns non-zero, otherwise return 0.
52169 (grub_partition_iterate): First, probe the partition map. Then,
52170 call ITERATE only for this partition map.
52171
52172 * kern/misc.c (grub_strncmp): Rewritten.
52173
52174 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
52175 returns non-zero. Otherwise return 0.
52176
52177 * include/grub/partition.h (grub_partition_map_iterate): Return
52178 int instead of void.
52179
52180 * include/grub/normal.h (grub_normal_do_completion): New prototype.
52181
52182 * include/grub/misc.h (grub_strncmp): Change the type of N to
52183 grub_size_t.
52184
52185 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
52186 of void.
52187
52188 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 52189 unsigned explicitly before comparing it with I.
8de3495c 52190
52191 * kern/main.c (grub_env_write_root): Add the attribute unused into
52192 VAR.
52193
52194 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52195 normal/completion.c.
52196 (normal_mod_SOURCES): Likewise.
52197 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
52198 (normal_mod_SOURCES): Likewise.
52199
52200 * normal/command.c (grub_iterate_commands): If ITERATE returns
52201 non-zero, return one immediately.
52202
e85e144b 522032005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
52204
52205 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
52206 * kern/i386/pc/startup.S: Updated Global Descriptor table's
52207 descriptions.
52208 (grub_vbe_get_controller_info): New function.
52209 (grub_vbe_get_mode_info): Likewise.
52210 (grub_vbe_set_mode): Likewise.
52211 (grub_vbe_get_mode): Likewise.
52212 (grub_vbe_set_memory_window): Likewise.
52213 (grub_vbe_get_memory_window): Likewise.
52214 (grub_vbe_set_scanline_length): Likewise.
52215 (grub_vbe_get_scanline_length): Likewise.
52216 (grub_vbe_set_display_start): Likewise.
52217 (grub_vbe_get_display_start): Likewise.
52218 (grub_vbe_set_palette_data): Likewise.
52219 * include/grub/i386/pc/vbe.h: New file.
52220
c46153d2 522212005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52222
52223 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52224 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
52225 * DISTLIST: Likewise.
52226 * kern/ieee1275/of.c: Moved to ...
52227 * kern/ieee1275/ieee1275.c: ... here.
52228
0cb90c45 522292005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52230
52231 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
52232 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
52233 Pass 0 as `end' parameter to grub_strtoul().
52234
a19fb360 522352005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52236
52237 * include/grub/powerpc/ieee1275/console.h: Do not include
52238 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
52239 ifdef.
52240 (grub_console_cur_color): Remove i386-specific prototype.
52241 (grub_console_real_putchar): Likewise.
52242 (grub_console_checkkey): Likewise.
52243 (grub_console_getkey): Likewise.
52244 (grub_console_getxy): Likewise.
52245 (grub_console_gotoxy): Likewise.
52246 (grub_console_cls): Likewise.
52247 (grub_console_setcursor): Likewise.
52248 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
52249 Include <grub/machine/console.h>.
52250 * term/ieee1275/ofconsole.c: Likewise.
52251
4ac9bd04 522522005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
52253
52254 * Makefile.in (LIBLZO): New variable.
52255
52256 * configure.ac: Check for LZO version 2.
52257
52258 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
52259 lzo/lzo1x.h instead of lzo1x.h.
52260
52261 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
52262 of -llzo.
52263
52264 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
52265 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
52266
52267 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
52268 copying the data from PARTITION to P.
52269
f4917dfd 522702005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52271
52272 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
52273 negative, unload the module.
52274
52275 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
52276 map is "pc_partition_map" but not "pc".
52277 (usage): Fix the description. The options are --boot-image and
52278 --core-image but not --boot-file or --core-file.
52279 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
52280 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
52281 DEFAULT_DIRECTORY.
52282
52283 * util/i386/pc/grub-install.in: Do not specify --boot-file or
52284 --core-file. Specify INSTALL_DEVICE as an argument.
52285
52286 * util/console.c: Include config.h.
52287 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
52288 [HAVE_NCURSES_H]: Include ncurses.h.
52289 [HAVE_CURSES_H]: Include curses.h.
52290 [!A_NORMAL] (A_NORMAL): Defined as zero.
52291 [!A_STANDOUT] (A_STANDOUT): Likewise.
52292
52293 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
52294 -lncurses.
52295 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
52296
52297 * configure.ac: Check for curses libraries and headers.
52298
52299 * Makefile.in (LIBCURSES): New variable.
52300
52301 * genmk.rb (Script::rule): Set the executable bits.
52302
52303 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
52304 name of the PC partition map is "pc_partition_map" but not "pc".
52305
0e143073 523062005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52307
52308 * util/i386/pc/grub-install.in (grub_probefs): New variable.
52309 (modules): Likewise.
52310 (usage): Added descriptions for --modules and --grub-probefs.
52311 Handle --modules and --grub-probefs. Save the arguments in MODULES
52312 and GRUB_PROBEFS, respectively.
52313 Auto-detect a filesystem module against GRUBDIR. If the result is
52314 empty and modules are not specified explicitly, abort the
52315 installation. Add the result to MODULES.
52316
52317 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
52318 disk/powerpc/ieee1275/ofdisk.c,
52319 include/grub/powerpc/ieee1275/init.h and
52320 term/powerpc/ieee1275/ofconsole.c.
52321 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
52322 term/ieee1275/ofconsole.c.
52323
52324 * include/grub/powerpc/ieee1275/console.h: Resurrected.
52325
52326 * COPYING: Upgraded to the latest version. Only the address of the
52327 FSF office has changed.
f19dbdb7 52328
efd6e6d5 523292005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52330
52331 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52332 kern/ieee1275.c with kern/ieee1275/of.c.
52333
52334 * kern/ieee1275.c: Moved to ...
52335 * kern/ieee1275/of.c: ... here.
52336
8ceafda2 523372005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
52338
52339 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 52340 readability.
8ceafda2 52341
52342 * config.guess: Updated to the latest version from gnulib.
52343 * config.sub: Likewise.
52344 * install.sh: Likewise.
52345 * mkinstalldirs: Likewise.
52346
52347 * include/grub/console.h: Removed. This file is arch-specific. Do
52348 not put this in include/grub.
52349
52350 * include/grub/i386/pc/console.h: Resurrected.
52351
52352 * util/console.c: Include grub/machine/console.h instead of
52353 grub/console.h.
52354 * util/grub-emu.c: Likewise.
52355
267f6cd9 523562005-08-04 Marco Gerards <metgerards@student.han.nl>
52357
52358 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
52359 hardcoded value.
f19dbdb7 52360
267f6cd9 52361 From Vincent Pelletier <subdino2004@yahoo.fr>
52362 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
52363 Redefined to use grub_getwh.
52364 (grub_term): New member named getwh.
52365 (grub_getwh): New prototype.
52366 * kern/term.c (grub_getwh): New function.
52367 * term/i386/pc/console.c (grub_console_getwh): New function.
52368 (grub_console_term): New member `getwh'.
52369 * term/i386/pc/vga.c (grub_vga_getwh): New function.
52370 (grub_vga_term): New member `getwh'.
0b5abe02 52371 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 52372 grub_ssize_t.
52373 (grub_ofconsole_getw): New function.
52374 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
52375 (grub_ofconsole_term): New field named getwh and new initial
52376 value.
52377
3be7266d 523782005-08-03 Hollis Blanchard <hollis@penguinppc.org>
52379
52380 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
52381 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
52382 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
52383 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
52384 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
52385 of <grub/machine/ieee1275.h>.
52386 * commands/ieee1275/reboot.c: Likewise.
52387 * boot/powerpc/ieee1275/ieee1275.c: Move ...
52388 * kern/ieee1275.c: ... to here. All users updated. Change all
52389 parameter structs to use new type `grub_ieee1275_cell_t'.
52390 * term/powerpc/ieee1275/ofconsole.c: Move ...
52391 * term/ieee1275/ofconsole.c: ... to here. All users updated.
52392 * disk/powerpc/ieee1275/ofdisk.c: Move ...
52393 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
52394 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
52395 to return int.
52396 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
52397 Remove unused prototypes. All users updated.
52398 * include/grub/powerpc/ieee1275/console.h: Removed.
52399 * include/grub/powerpc/ieee1275/ieee1275.h: Define
52400 `grub_ieee1275_cell_t'.
52401 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
52402 Cast comparisons with -1 to the correct type.
52403 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
52404 type to match `grub_ieee1275_entry_fn'.
52405
8b5f3938 524062005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
52407
52408 * DISTLIST: Added util/i386/pc/grub-probefs.c.
52409
52410 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
52411 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
52412 partmap/sun.c.
52413 (grub_probefs_SOURCES): New variable.
52414
52415 * util/i386/pc/grub-probefs.c: New file.
52416
52417 * util/i386/pc/grub-setup.c (main): Call
52418 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
52419 grub_hfs_init and grub_jfs_init to initialize the system. Call
52420 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
52421 grub_pc_partition_map_fini to finish the system.
52422
ea409713 524232005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
52424
52425 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
52426 function.
52427 (grub_multiboot_load_elf32): Likewise.
52428 (grub_multiboot_is_elf64): Likewise.
52429 (grub_multiboot_load_elf64): Likewise.
52430 (grub_multiboot_load_elf): Likewise.
52431 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
52432 an ELF32 or ELF64 file.
52433 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
52434
52435 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
52436 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
52437 NULL before calling FS->LABEL.
52438 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
52439 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
52440 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
52441 before calling FS->LABEL.
52442
141a288b 524432005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
52444
52445 * util/i386/pc/grub-install.in (datadir): New variable.
52446 (libdir): Removed.
52447 (pkgdatadir): New variable.
52448 (pkglibdir): Removed.
52449
0d5f8a54 524502005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
52451
52452 * DISTLIST: Added util/i386/pc/grub-install.in.
52453
52454 * util/i386/pc/grub-install.in: New file.
52455
52456 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
52457 (grub_install_SOURCES): Likewise.
52458
52459 * genmk.rb: Added support for scripts.
52460 (Script): New class.
52461 (scripts): New variable.
52462
52463 * Makefile.in (install-local): Install sbin_SCRIPTS by
52464 INSTALL_SCRIPT.
52465 (uninstall): Remove sbin_SCRIPTS.
52466
52467 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
52468 device, try to get a GRUB device by
52469 grub_util_biosdisk_get_grub_dev.
52470 Free DEST_DEV.
52471
52472 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
52473 description for --device-map.
52474
5f968e1e 524752005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52476
52477 Change the semantics of variable hooks. They now return strings
52478 instead of error values.
f19dbdb7 52479
5f968e1e 52480 * util/i386/pc/grub-setup.c: Include grub/env.h.
52481 (setup): Use grub_device_set_root instead of grub_env_set.
52482
52483 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
52484 grub_env_get instead of grub_device_set_root and
52485 grub_device_get_root, respectively.
52486
52487 * kern/main.c (grub_env_write_root): New function.
52488 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
52489 grub_env_set instead of grub_device_set_root.
52490
52491 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
52492 many variables.
52493 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
52494 rather than calling ENV->WRITE_HOOK afterwards.
52495 (grub_env_get): Return the result of ENV->READ_HOOK rather than
52496 passing a pointer of a pointer.
52497 (grub_register_variable_hook): Change the types of "read_hook" and
52498 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
52499 respectively.
52500 Allocate the default empty string on the heap, because this string
52501 may be freed later.
52502
52503 * kern/device.c: Include grub/env.h.
52504 (grub_device_set_root): Removed.
52505 (grub_device_get_root): Likewise.
52506 (grub_device_open): Use grub_env_get instead of
52507 grub_device_get_root.
52508
52509 * include/grub/env.h (grub_env_read_hook_t): New type.
52510 (grub_env_write_hook_t): Likewise.
52511 (grub_env_var): Change the types of "read_hook" and "write_hook"
52512 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
52513 (grub_register_variable_hook): Likewise.
52514
52515 * include/grub/device.h (grub_device_set_root): Removed.
52516 (grub_device_set_root): Likewise.
52517
52518 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
52519 make sure that DIRNAME terminates with '/', so that
52520 grub_fat_find_dir will fail if PATH is not a directory.
52521
52522 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
52523 from DIRNAME.
52524 Use the qualifier auto for print_files and print_files_long.
52525 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
52526 as a regular file.
52527 Put a newline only if there is no error.
52528 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
52529 used.
52530
896f0afd 525312005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52532
52533 * kern/partition.c (grub_partition_probe): Initialize PART to
52534 NULL. Otherwise, when no partition map is registered, this returns
52535 a garbage.
52536
b28b81b2 525372005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
52538
52539 * partmap/apple.c (apple_partition_map_iterate): Check if POS
52540 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
52541 valid.
52542
5f3607e0 525432005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
52544
52545 * commands/ls.c (grub_ls_list_disks): Print the filesystem
52546 information on each device, if it does not have partitions. Print
52547 "Device" instead of "Disk", because this function is not specific
52548 to disk devices.
52549
52550 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
52551 static to ensure that it is put on the memory rather than a
52552 register.
52553
502c87e8 525542005-07-17 Yoshinori Okuji <okuji@enbug.org>
52555
52556 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
52557 (grub_cat_init): Likewise.
52558 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
52559 (options): Likewise.
52560 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
52561 (grub_configfile_init): Likewise.
52562 * font/manager.c (GRUB_MOD_INIT): Likewise.
52563 * commands/help.c (GRUB_MOD_INIT): Likewise.
52564 (grub_help_init): Likewise.
52565 * normal/command.c (grub_command_init): Likewise.
52566 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
52567 * disk/loopback.c (grub_loop_init): Likewise.
52568 (GRUB_MOD_INIT): Likewise.
52569 * commands/ls.c (grub_ls_init): Likewise.
52570 (GRUB_MOD_INIT): Likewise.
52571 (options): Likewise.
52572 * commands/boot.c (grub_boot_init): Likewise.
52573 (GRUB_MOD_INIT): Likewise.
52574 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
52575 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
52576 (GRUB_MOD_INIT): Likewise.
52577 * commands/cmp.c (grub_cmp_init): Likewise.
52578 (GRUB_MOD_INIT): Likewise.
52579
52580 * normal/arg.c: Use <> instead of "" to include header files.
52581 (SHORT_ARG_HELP): New macro.
52582 (SHORT_ARG_USAGE): Likewise.
52583 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
52584 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
52585 descriptions.
52586 (find_short): Check if C is 'h' or 'u' explicitly.
52587 (grub_arg_show_help): Use space characters instead of tabs. Treat
52588 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
52589 are shown with --help and --usage only if they are not used for
52590 the command itself.
52591 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
52592 'h' and 'u'.
52593
52594 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
52595 const into "longarg". Change the type of "shortarg" to int.
52596
f806d18e 525972005-07-17 Yoshinori Okuji <okuji@enbug.org>
52598
52599 * boot/i386/pc/boot.S (boot_drive_check): New label.
52600
52601 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
52602 macro.
52603
52604 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
52605 which do not pass a boot drive correctly. Copied from GRUB Legacy.
52606
e293232b 526072005-07-17 Yoshinori Okuji <okuji@enbug.org>
52608
52609 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
52610 When turning off Gate A20, skip the check and return immediately,
52611 because this is not fatal usually.
52612
ebedfd00 526132005-07-17 Yoshinori Okuji <okuji@enbug.org>
52614
52615 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
52616 be 0x7C00 instead of 0x8000.
52617
52618 * boot/i386/pc/pxeboot.S: Rewritten.
52619
52620 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
52621 EXT_C.
52622 (gate_a20_check_state): Read a byte from 0x108000. Invert the
52623 result.
52624
654fc59f 526252005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
52626
52627 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
52628 robustness. This routine now supports a BIOS call and System
52629 Control Port A to modify the gate A20.
52630
52631 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
52632 Increased to 0x440.
52633
09f9923f 526342005-07-12 Hollis Blanchard <hollis@penguinppc.org>
52635
52636 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
52637 device path and resulting ihandle.
52638 (grub_ofdisk_close): dprintf the ihandle being closed.
52639 (grub_ofdisk_read): dprintf function parameters.
52640 * kern/mm.c (grub_mm_init_region): Likewise.
52641 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
52642 (grub_linux_boot): dprintf the Linux entry point, initrd address and
52643 size, and boot arguments.
52644 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
52645 before loading into memory.
52646 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
52647 before loading into memory.
52648
7ef504d8 526492005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
52650
52651 * kern/mm.c: Added much documentation.
52652 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
52653 8, set to 5 instead of 8.
52654
e0f050c2 526552005-07-10 Yoshinori Okuji <okuji@enbug.org>
52656
52657 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
52658
52659 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
52660 (grub_mkdevicemap_SOURCES): New variable.
52661
52662 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
52663 lib/device.c of GRUB Legacy.
52664
7224189a 526652005-07-10 Yoshinori Okuji <okuji@enbug.org>
52666
52667 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
52668 instead of PATH is NULL.
52669
68c864eb 526702005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
52671
52672 * commands/cmp.c (BUFFER_SIZE): New macro.
52673 (grub_cmd_cmp): Close the right file at the right time. Compare
52674 only data just read. Don't report files of different size as
52675 identical. Dynamically allocate buffers. Move variable
52676 declarations at the beginning of function.
52677
e6f3e614 526782005-07-09 Yoshinori Okuji <okuji@enbug.org>
52679
52680 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
52681 reverse.
52682
f8f1559a 526832004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
52684
52685 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
52686 when backspace is pressed at beginning of line.
52687
39c9d41d 526882005-07-03 Yoshinori Okuji <okuji@enbug.org>
52689
52690 * DISTLIST: Added genfslist.sh.
52691
52692 * normal/main.c (fs_module_list): New variable.
52693 (autoload_fs_module): New function.
52694 (read_fs_list): Likewise.
52695 (grub_normal_execute): Call read_fs_list.
52696
52697 * kern/fs.c (grub_fs_autoload_hook): New variable.
52698 (grub_fs_probe): Added support for auto-loading.
52699
52700 * include/grub/normal.h (struct grub_fs_module_list): New struct.
52701 (grub_fs_module_list_t): New type.
52702
52703 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
52704 (grub_fs_autoload_hook): New prototype.
52705
52706 * genfslist.sh: New file.
f19dbdb7 52707
39c9d41d 52708 * genmk.rb: Added a rule to generate a filesystem list.
52709
121c1d83 527102005-06-30 Marco Gerards <metgerards@student.han.nl>
52711
52712 * configure.ac: Fix the test for cross-compiling.
52713
52714 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
52715 define GRUB_UTIL anymore.
52716
52717 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
52718 so this function works on other systems than just big endian.
52719 (load_modules): Likewise.
52720 (add_segments): Likewise.
52721
e75d76e1 527222005-06-23 Hollis Blanchard <hollis@penguinppc.org>
52723
52724 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
52725 contains `l' modifier, get a long from va_arg().
52726
50b5a0a7 527272005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
52728
52729 * kern/mm.c (grub_free): If the next free block which is being
52730 merged is the first free block, set the first block to the block
52731 being freed.
52732 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
52733
89371b20 527342005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52735
52736 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
52737 `grub_ieee1275_chosen'.
52738
168d6e58 527392005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52740
52741 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
52742 (grub_ieee1275_chosen): New variable.
52743 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
52744 `chosen'.
52745 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
52746 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52747 Rename first argument to `phandle' for consistency.
52748 (grub_ieee1275_get_property_length): Likewise.
52749 (grub_ieee1275_next_property): Likewise. Change type of first argument
52750 to grub_ieee1275_phandle_t.
52751 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
52752 Move export next to declaration.
52753 (grub_ieee1275_chosen): New variable.
52754 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
52755 Correct cosmetic typo.
52756 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
52757 `grub_ieee1275_chosen'.
52758 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
52759 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
52760 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
52761 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
52762 `grub_ieee1275_chosen'.
52763
ca5baa3f 527642005-05-10 Hollis Blanchard <hollis@penguinppc.org>
52765
52766 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
52767 /chosen/bootargs.
52768 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
52769 /chosen/bootargs as "variable=value" pairs.
52770
708b345f 527712005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
52772
52773 * include/grub/misc.h (grub_dprintf): New macro.
52774 (grub_real_dprintf): New prototype.
52775 (grub_strword): Likewise.
52776 (grub_iswordseparator): Likewise.
52777 * kern/misc.c (grub_real_dprintf): New function.
52778 (grub_strword): Likewise.
52779 (grub_iswordseparator): Likewise.
52780
f4c5e67c 527812005-04-30 Hollis Blanchard <hollis@penguinppc.org>
52782
52783 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
52784 (roundup): Remove macro.
52785 (grub_ieee1275_flags): Make static.
52786 (grub_ieee1275_realmode): Remove.
52787 (grub_ieee1275_test_flag): New function.
52788 (grub_ieee1275_set_flag): Likewise.
52789 (find_options): Rename to `grub_ieee1275_find_options'; update
52790 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
52791 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
52792 (cmain): New prototype.
52793 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
52794 `grub_ieee1275_flags' directly.
52795 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
52796 machine/biosdisk.h.
52797 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
52798 Don't include grub/machine/init.h.
52799 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
52800 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52801 Remove prototype.
52802 (grub_ieee1275_realmode): Likewise.
52803 (grub_ieee1275_flag): New enum.
52804 (grub_ieee1275_test_flag): New prototype.
52805 (grub_ieee1275_set_flag): New prototype.
52806 * include/grub/powerpc/ieee1275/init.h: Remove file.
52807 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
52808 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
52809 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
52810 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
52811 comment.
52812 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
52813 `grub_ieee1275_test_flag'.
52814 (grub_ieee1275_encode_devname): Likewise.
52815
ed16607e 528162005-04-21 Hollis Blanchard <hollis@penguinppc.org>
52817
52818 * include/grub/powerpc/ieee1275/ieee1275.h
52819 (grub_ieee1275_encode_devname): New prototype.
52820 (grub_ieee1275_get_filename): Likewise.
52821 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
52822 function.
52823 (grub_set_prefix): Likewise.
52824 (grub_machine_init): Call grub_set_prefix.
52825 * kern/powerpc/ieee1275/openfw.c: Fix typos.
52826 (grub_parse_type): New enum.
52827 (grub_ieee1275_get_devargs): New function.
52828 (grub_ieee1275_get_devname): Likewise.
52829 (grub_ieee1275_parse_args): Likewise.
52830 (grub_ieee1275_get_filename): Likewise.
52831 (grub_ieee1275_encode_devname): Likewise.
52832
be369920 528332005-03-30 Marco Gerards <metgerards@student.han.nl>
52834
52835 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
52836 `grub_loader_unset'.
52837
a5ce3a4a 528382005-03-26 Hollis Blanchard <hollis@penguinppc.org>
52839
52840 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
52841 instead of grub_ieee1275_interpret.
52842 (grub_halt_init): New function.
52843 (grub_halt_fini): Likewise.
52844 (GRUB_MOD_INIT): Correct message grammar.
52845 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
52846 instead of grub_ieee1275_interpret.
52847 (grub_reboot_init): New function.
52848 (grub_reboot_fini): Likewise.
52849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
52850 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
52851 util/i386/pc/misc.c with commands/ieee1275/halt.c,
52852 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
52853 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
52854 function.
52855 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
52856 Add prototype.
52857 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
52858 prototype.
52859 (grub_halt): Likewise.
52860 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
52861 (cmain): Remove __attribute__((unused)).
52862 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
52863 (grub_heap_len): Likewise.
52864 (grub_machine_fini): New function.
52865 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
52866 (grub_halt): Likewise.
52867 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
52868 function.
52869 * util/powerpc/ieee1275/misc.c: New file.
52870
0058f771 528712005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
52872
52873 * DISTLIST: New file.
52874 * gendistlist.sh: Likewise.
f19dbdb7 52875
0058f771 52876 * Makefile.in (COMMON_DISTFILES): Removed.
52877 (BOOT_DISTFILES): Likewise.
52878 (CONF_DISTFILES): Likewise.
52879 (DISK_DISTFILES): Likewise.
52880 (FS_DISTFILES): Likewise.
52881 (INCLUDE_DISTFILES): Likewise.
52882 (KERN_DISTFILES): Likewise.
52883 (LOADER_DISTFILES): Likewise.
52884 (TERM_DISTFILES): Likewise.
52885 (UTIL_DISTFILES): Likewise.
52886 (DISTFILES): Likewise.
52887 (uninstall): Uninstall files in $(pkgdata_DATA).
52888 (DISTLIST): New target.
52889 (distdir): Use the contents of the file DISTLIST to get a list of
52890 distributed files.
52891
46b3b8a5 528922005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
52893
52894 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
52895 descriptor. This is ported from GRUB Legacy.
52896
52897 * gencmdlist.sh: Added an extra semicolon to make it work with
52898 old sed versions. Reported by Robert Bihlmeyer
52899 <robbe@orcus.priv.at>.
52900
5822ff87 529012005-03-08 Yoshinori Okuji <okuji@enbug.org>
52902
52903 Automatic loading of commands is supported.
f19dbdb7 52904
5822ff87 52905 * normal/main.c (read_command_list): New function.
52906 (grub_normal_execute): Call read_command_list.
52907
52908 * normal/command.c (grub_register_command): Return zero or CMD.
52909 Allocate CMD->NAME from the heap.
52910 Initialize CMD->MODULE_NAME to zero.
52911 Find the same name as well. If the same command is found and it is
52912 a dummy command, overwrite members. If it is not a dummy command,
52913 return zero.
52914 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
52915 (grub_command_find): If a dummy command is found, load a module
52916 and retry to find a command only once.
52917
52918 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
52919 make sure that each command is loaded.
52920
52921 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
52922 macro.
52923 (struct grub_command): Remove const from the member `name'.
52924 Add a new member `module_name'.
52925 (grub_register_command): Return grub_command_t.
52926
52927 * commands/help.c (grub_cmd_help): Call grub_command_find to make
52928 sure that each command is loaded.
52929
52930 * genmk.rb (PModule::rule): Specify a module name without the
52931 suffix ".mod" to gencmdlist.sh.
52932
7b1f4b57 529332005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52934
52935 * gencmdlist.sh: New file.
f19dbdb7 52936
7b1f4b57 52937 * genmk.rb (PModule::rule): Generate a rule for a command list.
52938 Clean command.lst.
52939 Generate command.lst from $(COMMANDFILES).
52940
52941 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
52942 (DATA): Added $(pkgdata_DATA).
52943 (install-local): Install files in $(pkgdata_DATA).
52944
062aaf39 529452005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52946
52947 * term/i386/pc/vga.c (debug_command): Removed.
52948 (GRUB_MOD_INIT): Do not register the command "debug".
52949
52950 From Hollis Blanchard:
52951 * commands/configfile.c: New file.
52952 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52953 commands/configfile.c.
52954 (pkgdata_MODULES): Added configfile.mod.
52955 (configfile_mod_SOURCES): New variable.
52956 (configfile_mod_CFLAGS): Likewise.
52957 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52958 commands/configfile.c.
52959 (pkgdata_MODULES): Added configfile.mod.
52960 (configfile_mod_SOURCES): New variable.
52961 (configfile_mod_CFLAGS): Likewise.
52962 * util/grub-emu.c (main): Call grub_configfile_init and
52963 grub_configfile_fini.
52964 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
52965 prototype.
52966 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 52967
cee01aa6 529682005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52969
52970 * normal/arg.c (grub_arg_show_help): Do not show the bug report
52971 address.
52972
52973 * commands/help.c (grub_cmd_help): Do not print newlines after
52974 the last command in print_command_help.
52975
93f3a1d8 529762005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52977
52978 * commands/default.h: New file.
52979 * commands/timeout.h: Likewise.
52980 * normal/context.c: Likewise.
f19dbdb7 52981
93f3a1d8 52982 * util/misc.c: Do not include sys/times.h.
52983 Include sys/time.h and grub/machine/time.h.
52984 (grub_get_rtc): Rewritten with gettimeofday.
52985
52986 * util/grub-emu.c (main): Call grub_default_init and
52987 grub_timeout_init before grub_normal_init, and call
52988 grub_timeout_fini and grub_default_fini after grub_main.
52989
52990 * util/console.c (grub_ncurses_checkkey): Return the read
52991 character or -1.
52992
52993 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
52994 timeouts.
52995
52996 * normal/main.c (read_config_file): Push MENU. If this fails,
52997 print an error and wait for a user input.
52998 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
52999 If a menu is empty or an error occurs, pop MENU.
53000 (grub_normal_execute): Pop and free MENU after grub_menu_run
53001 returns.
53002
53003 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
53004
53005 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
53006 include time.h.
53007 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53008 without GRUB_UTIL.
53009 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
53010 time.h.
53011 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53012 without GRUB_UTIL.
53013
53014 * include/grub/normal.h (struct grub_menu_list): New struct.
53015 (grub_menu_list_t): New type.
53016 (struct grub_context): New struct.
53017 (grub_context_t): New type.
53018 (grub_register_command): Got rid of EXPORT_FUNC.
53019 (grub_unregister_command): Likewise.
53020 (grub_context_get): New prototype.
53021 (grub_context_get_current_menu): Likewise.
53022 (grub_context_push_menu): Likewise.
53023 (grub_context_pop_menu): Likewise.
53024 [GRUB_UTIL] (grub_default_init): Likewise.
53025 [GRUB_UTIL] (grub_default_fini): Likewise.
53026 [GRUB_UTIL] (grub_timeout_init): Likewise.
53027 [GRUB_UTIL] (grub_timeout_fini): Likewise.
53028
53029 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
53030 commands/timeout.c and normal/context.c.
53031 (pkgdata_MODULES): Added default.mod and timeout.mod.
53032 (normal_mod_SOURCES): Added normal/context.c.
53033 (default_mod_SOURCES): New variable.
53034 (default_mod_CFLAGS): Likewise.
53035 (timeout_mod_SOURCES): Likewise.
53036 (timeout_mod_CFLAGS): Likewise.
53037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
53038 conf/i386-pc.rmk.
53039 (pkgdata_MODULES): Added default.mod and timeout.mod.
53040 (normal_mod_SOURCES): Added normal/context.c.
53041 (default_mod_SOURCES): New variable.
53042 (default_mod_CFLAGS): Likewise.
53043 (timeout_mod_SOURCES): Likewise.
53044 (timeout_mod_CFLAGS): Likewise.
53045
53046 * Makefile.in (all-local): Added $(MKFILES).
53047
4ed2e1dd 530482005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
53049
53050 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
53051 (grub_emu_SOURCES): Likewise.
53052 (pkgdata_MODULES): Add `sun.mod'.
53053 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53055 `partmap/sun.c'.
53056 (pkgdata_MODULES): Add `sun.mod'.
53057 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53058 * include/grub/partition.h (grub_sun_partition_map_init): New
53059 prototype.
53060 (grub_sun_partition_map_fini): Likewise.
53061 * partmap/sun.c: New file.
53062 * util/grub-emu.c (main): Initialize and de-initialize the sun
53063 partitionmap support.
53064
4d4e372e 530652005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
53066
53067 This implements an Emacs-like menu entry editor.
f19dbdb7 53068
4d4e372e 53069 * normal/menu_entry.c: New file.
f19dbdb7 53070
4d4e372e 53071 * util/console.c (grub_ncurses_putchar): Translate some Unicode
53072 characters to ASCII.
53073 (saved_char): New variable.
53074 (grub_ncurses_checkkey): Rewritten completely.
53075 (grub_ncurses_getkey): Likewise.
53076 (grub_ncurses_init): Call raw instead of cbreak.
53077
53078 * normal/menu.c (print_entry): Do not put a space.
53079 (init_page): Renamed to ...
53080 (grub_menu_init_page): ... this. All callers changed.
53081 (edit_menu_entry): Removed.
53082 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
53083
53084 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
53085
53086 * kern/misc.c (grub_vprintf): Call grub_refresh.
53087
53088 * normal/menu.c (DISP_LEFT): Renamed to ...
53089 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
53090 * normal/menu.c (DISP_UP): Renamed to ...
53091 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
53092 * normal/menu.c (DISP_RIGHT): Renamed to ...
53093 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
53094 * normal/menu.c (DISP_DOWN): Renamed to ...
53095 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
53096 * normal/menu.c (DISP_HLINE): Renamed to ...
53097 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
53098 * normal/menu.c (DISP_VLINE): Renamed to ...
53099 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
53100 * normal/menu.c (DISP_UL): Renamed to ...
53101 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
53102 * normal/menu.c (DISP_UR): Renamed to ...
53103 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
53104 * normal/menu.c (DISP_LL): Renamed to ...
53105 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
53106 * normal/menu.c (DISP_LR): Renamed to ...
53107 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
53108 * normal/menu.c (TERM_WIDTH): Renamed to ...
53109 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
53110 * normal/menu.c (TERM_HEIGHT): Renamed to ...
53111 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
53112 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
53113 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
53114 * normal/menu.c (TERM_MARGIN): Renamed to ...
53115 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
53116 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
53117 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
53118 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
53119 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
53120 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
53121 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
53122 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
53123 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
53124 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
53125 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
53126 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
53127 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
53128 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
53129 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
53130 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
53131 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
53132 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
53133 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
53134 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
53135 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
53136 All callers changed.
53137
53138 * include/grub/normal.h: New prototype.
53139
53140 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53141 normal/menu_entry.c.
53142 (normal_mod_SOURCES): Likewise.
53143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
53144 (normal_mod_SOURCES): Likewise.
53145
e6b92c8a 531462005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
53147
53148 * include/grub/normal.h (grub_halt_init): New prototype.
53149 (grub_halt_fini): Likewise.
53150 (grub_reboot_init): Likewise.
53151 (grub_reboot_fini): Likewise.
53152
53153 * util/grub-emu.c: Include signal.h.
53154 (main_env): New global variable.
53155 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
53156 catch C-c.
53157 (grub_machine_fini): New function.
53158 (main): Call grub_halt_init and grub_reboot_init before
53159 grub_main, and grub_reboot_fini and grub_halt_fini after it.
53160 Call setjmp with MAIN_ENV to go back afterwards.
53161 Call grub_machine_fini right before return.
53162
53163 * include/grub/util/misc.h: Include setjmp.h.
53164 (main_env): New prototype.
53165
53166 * include/grub/kernel.h (grub_machine_fini): New prototype.
53167 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
53168 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
53169
53170 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
53171 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
53172 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 53173
e6b92c8a 53174 * util/i386/pc/misc.c: New file.
f19dbdb7 53175
e6b92c8a 53176 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53177 util/i386/pc/misc.c, commands/i386/pc/halt.c and
53178 commands/i386/pc/reboot.c.
53179
c642636f 531802005-02-14 Guillem Jover <guillem@hadrons.org>
53181
53182 * include/grub/dl.h (grub_dl_check_header): New prototype.
53183 (grub_arch_dl_check_header): Change return type to grub_err_t,
53184 remove size parameter and export function. Update all callers.
53185 * kern/dl.c (grub_dl_check_header): New function.
53186 (grub_dl_load_core): Use `grub_dl_check_header' instead of
53187 `grub_arch_dl_check_header'. Check ELF type. Check if sections
53188 are inside the core.
53189 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
53190 independent ELF header checks.
53191 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53192 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
53193 `grub_dl_check_header' instead of explicit checks. Check for the
53194 ELF type.
53195 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
53196 `grub_dl_check_header' instead of explicit checks. Remove arch
53197 specific ELF header checks.
53198
e6b92c8a 53199 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
53200 argument SIZE.
53201
5eabe94b 532022005-02-13 Hollis Blanchard <hollis@penguinppc.org>
53203
53204 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
53205 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
53206
1b14a681 532072005-02-12 Hollis Blanchard <hollis@penguinppc.org>
53208
53209 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 53210 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 53211 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 53212 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 53213 * partmap/amiga.c (amiga_partition_map_iterate): Return
53214 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
53215 * partmap/apple.c (apple_partition_map_iterate): Likewise.
53216
aca108aa 532172005-02-01 Guillem Jover <guillem@hadrons.org>
53218
53219 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
53220 help info.
53221
c9f9c556 532222005-01-31 Marco Gerards <metgerards@student.han.nl>
53223
53224 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
53225 Removed prototype.
53226 (grub_rescue_cmd_linux): New prototype.
53227 (grub_rescue_cmd_initrd): Likewise.
53228 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
53229 `bi_rec'.
53230 (grub_linux_release_mem): Release the memory for the initrd.
53231 (grub_load_linux): Renamed from this...
53232 (grub_rescue_cmd_linux): ...To this. Changed all callers.
53233 Changed `entry' not to be static. Loop over memory regions to
53234 find another one when the default fails.
53235 (grub_rescue_cmd_initrd): New function.
53236 (grub_linux_init): Remove function.
53237 (grub_linux_fini): Likewise.
53238 (GRUB_MOD_INIT): Register `initrd'.
53239 (GRUB_MOD_FINI): Unregister `initrd'.
53240 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
53241 Function removed.
53242 (grub_linux_normal_fini): Likewise.
53243 (GRUB_MOD_INIT): Register `initrd'.
53244 (GRUB_MOD_FINI): Unregister `initrd'.
53245
990cf3aa 532462005-01-31 Marco Gerards <metgerards@student.han.nl>
53247
53248 * commands/help.c: New file.
53249 * normal/arg.c (show_help): Renamed to...
53250 (grub_arg_show_help): ... this.
53251 * commands/i386/pc/halt.c: New file.
53252 * commands/i386/pc/reboot.c: Likewise.
53253 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
53254 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
53255 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
53256 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
53257 variables.
53258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53259 `commands/help.c'.
53260 (pkgdata_MODULES): Add `help.mod'.
53261 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
53262 * grub/i386/pc/init.h (grub_reboot): New prototype.
53263 (grub_halt): Likewise.
53264 * include/grub/normal.h (grub_arg_show_help): New prototype.
53265 (grub_help_init): Likewise.
53266 (grub_help_fini): Likewise.
53267 * util/grub-emu.c (main): Initialize and deinitialize the help
53268 command.
53269
53270 * normal/cmdline.c (grub_cmdline_get): Doc fix.
53271
53272 * normal/command.c (grub_command_init): Fixed the description of
53273 the `set' and `unset' commands.
53274
532752005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 53276
53277 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
53278 function.
53279 * commands/ieee1275/halt.c: New file.
53280 * commands/ieee1275/reboot.c: Likewise.
53281 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
53282 `__attribute__ ((unused))'. Some GCS related fixed.
53283 (grub_suspend_init) [GRUB_UTIL]: Function removed.
53284 (grub_suspend_fini): Likewise.
53285 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
53286 and `halt.mod'.
53287 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
53288 (halt_mod_CFLAGS): New variables.
53289 * include/grub/powerpc/ieee1275/ieee1275.h
53290 (grub_ieee1275_interpret): New prototype.
53291
1ab09cc7 532922005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
53293
53294 * include/grub/misc.h (memmove): New prototype.
53295 (memcpy): Likewise.
53296
8b8cbdb2 532972005-01-22 Hollis Blanchard <hollis@penguinppc.org>
53298
53299 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
53300 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
53301
e3741a27 533022005-01-22 Marco Gerards <metgerards@student.han.nl>
53303
53304 * kern/misc.c (grub_strndup): Function rewritten.
53305
776bd780 533062005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
53307
53308 * normal/menu.c (TERM_WIDTH): Macro redefined.
53309 (TERM_TOP_BORDER_Y): Likewise.
53310 (draw_border): Replaced while-loop by a for-loop. Make the number
53311 of lines consistent with the number of lines displayed in
53312 print_entries. Added a margin below the rectangle.
53313 (print_entry): Make the entry fit in the rectangle.
53314 (print_entries): Display the scroll arrows next to the right
53315 border.
53316
78026bce 533172005-01-21 Marco Gerards <metgerards@student.han.nl>
53318
53319 * fs/minix.c (grub_minix_find_file): Reserve more space for
53320 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
53321 `grub_strncpy' to copy `path' into it.
53322
67bbaf0f 533232005-01-21 Marco Gerards <metgerards@student.han.nl>
53324
53325 Add the loopback device, a device via which files can be accessed
53326 as devices.
f19dbdb7 53327
67bbaf0f 53328 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
53329 (pkgdata_MODULES): Add loopback.mod.
53330 (loopback_mod_SOURCES): New variable.
53331 (loopback_mod_CFLAGS): Likewise.
53332 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53333 `disk/loopback.c'.
53334 (pkgdata_MODULES): Add loopback.mod.
53335 (loopback_mod_SOURCES): New variable.
53336 (loopback_mod_CFLAGS): Likewise.
53337 * disk/loopback.c: new file.
53338 * include/grub/normal.h (grub_loop_init): New prototype.
53339 (grub_loop_fini): New prototype.
53340 * util/grub-emu.c (main): Initialize and de-initialize loopback
53341 support.
53342 * include/grub/disk.h (grub_disk_dev_id): Add
53343 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
53344
6f1c18bd 533452005-01-20 Hollis Blanchard <hollis@penguinppc.org>
53346
53347 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
53348 function.
53349 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
53350 (suspend_mod_SOURCES): New variable.
53351 (suspend_mod_CFLAGS): Likewise.
53352 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
53353 New prototype.
53354 * commands/ieee1275/suspend.c: New file.
53355
b38551da 533562005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
53357
53358 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 53359 ((unused))' to `__attribute__ ((used))'.
b38551da 53360 (GRUB_MOD_FINI): Likewise.
53361 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
53362 * genmk.rb (PModule): Assign space to common symbols when linking
53363 modules.
53364
777aff39 533652005-01-20 Marco Gerards <metgerards@student.han.nl>
53366
53367 * include/grub/mm.h (grub_mm_init_region): Change the type of the
53368 `unsigned' arguments to `grub_size_t'.
53369 (grub_malloc): Likewise.
53370 (grub_realloc): Likewise.
53371 (grub_memalign): Likewise.
53372 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
53373 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53374 * util/misc.c (grub_malloc): Likewise.
53375 (grub_realloc): Likewise.
53376 * kern/mm.c (get_header_from_pointer): Change the casts to
53377 `unsigned' into a cast to `grub_size_t'.
53378
53379 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
53380 point to `currnode' when `currnode' is changed.
53381
53382 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
53383 Schottelius <nico-linux@schottelius.org>.
53384
d0ff18e1 533852005-01-09 Hollis Blanchard <hollis@penguinppc.org>
53386
53387 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
53388 (note_path): Remove variable.
53389 (GRUB_IEEE1275_NOTE_NAME): New macro.
53390 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
53391 (grub_ieee1275_note_hdr): New structure.
53392 (grub_ieee1275_note_desc): Likewise.
53393 (grub_ieee1275_note): Likewise.
53394 (load_note): Remove `dir' argument. All callers updated. Remove
53395 `note_img' and `path'. Do not load a file from `note_path'.
53396 Initialize a struct grub_ieee1275_note and write that to `out'.
53397 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
53398
4ca7004c 533992005-01-05 Marco Gerards <metgerards@student.han.nl>
53400
53401 * util/misc.c (grub_util_read_image): Revert last change. It
53402 called `grub_util_read_at', which seeks from the beginning of the
53403 file.
53404
0b412211 534052005-01-04 Hollis Blanchard <hollis@penguinppc.org>
53406
53407 * TODO: Add note about endianness in grub-mkimage.
53408 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
53409 section.
53410 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
53411 (grub_mkimage_SOURCES): New target.
53412 * include/grub/kernel.h (grub_start_addr): Remove variable.
53413 (grub_end_addr): Likewise.
53414 (grub_total_module_size): Likewise.
53415 (grub_kernel_image_size): Likewise.
53416 (GRUB_MODULE_MAGIC): New constant.
53417 (grub_module_info): New structure.
53418 (grub_arch_modules_addr): New prototype.
53419 (grub_get_end_addr): Remove prototype.
53420 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
53421 * include/grub/powerpc/ieee1275/kernel.h: New file.
53422 * include/grub/util/misc.h (grub_util_get_fp_size): New
53423 prototype.
53424 (grub_util_read_at): Likewise.
53425 (grub_util_write_image_at): Likewise.
53426 * kern/main.c (grub_get_end_addr): Remove function.
53427 (grub_load_modules): Call grub_arch_modules_addr instead of using
53428 grub_end_addr. Look for a grub_module_info struct in memory. Use
53429 the grub_module_info fields instead of calling grub_get_end_addr
53430 as loop conditions. Move grub_add_unused_region code here.
53431 (grub_add_unused_region): Remove function.
53432 * kern/i386/pc/init.c: Include grub/cache.h.
53433 (grub_machine_init): Remove call to grub_get_end_addr. Remove
53434 one call to add_mem_region.
53435 (grub_arch_modules_addr): New function.
53436 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
53437 (grub_total_module_size): Likewise.
53438 Include grub/machine/kernel.h.
53439 (grub_arch_modules_addr): New function.
53440 * util/grub-emu.c (grub_end_addr): Remove variable.
53441 (grub_total_module_size): Likewise.
53442 (grub_arch_modules_addr): New function.
53443 * util/misc.c: Include unistd.h.
53444 (grub_util_get_fp_size): New function.
53445 (grub_util_read_at): Likewise.
53446 (grub_util_write_image_at): Likewise.
53447 (grub_util_read_image): Call grub_util_read_at.
53448 (grub_util_write_image): Call grub_util_write_image_at.
53449 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
53450 additional memory in kernel_img for a struct grub_module_info.
53451 Fill in that grub_module_info.
53452 * util/powerpc/ieee1275/grub-mkimage.c: New file.
53453
458786f8 534542005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53455
53456 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
53457 New function.
53458 * include/grub/powerpc/ieee1275/ieee1275.h
53459 (grub_ieee1275_milliseconds): New prototype.
53460 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
53461 Change to 1000.
53462 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
53463 grub_ieee1275_milliseconds.
53464
ac507d1b 534652005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53466
53467 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
53468 variable.
53469 (find_options): New function.
53470 (cmain): Call find_options.
53471 * include/grub/powerpc/ieee1275/ieee1275.h
53472 (grub_ieee1275_realmode): New extern variable.
53473 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
53474 grub_map if grub_ieee1275_realmode is false.
53475
6b8fd1c4 534762004-12-29 Marco Gerards <metgerards@student.han.nl>
53477
53478 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
53479 lines are inserted and make it work like readline. Reported by
53480 Vincent Pelletier <subdino2004@yahoo.fr>.
53481
8514a1e0 534822004-12-28 Marco Gerards <metgerards@student.han.nl>
53483
53484 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
53485
53486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
53487 `kern/powerpc/cache.S'.
53488
924b6140 534892004-12-27 Marco Gerards <metgerards@student.han.nl>
53490
53491 * genmk.rb: Handle the `Program' class in the main loop. Written
53492 by Johan Rydberg <jrydberg@gnu.org>.
53493 (Program): New class.
53494 (programs): New variable.
53495 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
53496 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
53497 instead of "grub/kernel.h". Include <grub/machine/init.h>.
53498 (help_arch): Function removed.
53499 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
53500 `powerpc/libgcc.h' and `loader.h'.
53501 (pkgdata_PROGRAMS): New variable.
53502 (sbin_UTILITIES): Variable removed.
53503 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
53504 (grubof_SOURCES): Variable re-defined so it only includes the
53505 core functionality.
53506 (grubof_CFLAGS): Remove `-DGRUBOF'.
53507 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
53508 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
53509 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
53510 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
53511 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
53512 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
53513 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
53514 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
53515 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
53516 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
53517 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
53518 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
53519 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
53520 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
53521 (pc_mod_CFLAGS): New variables.
53522 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
53523 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
53524 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
53525 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
53526 Moved from here...
53527 * include/grub/i386/pc/init.h (grub_os_area_addr)
53528 (rub_os_area_size): ... to here.
53529 * include/grub/powerpc/ieee1275/ieee1275.h
53530 (grub_ieee1275_entry_fn): Export symbol.
53531 * include/grub/powerpc/ieee1275/init.h: New file.
53532 * include/grub/powerpc/libgcc.h: Likewise.
53533 * include/grub/cache.h: Likewise.
53534 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
53535 <hollis@penguinppc.org>.
53536 * kern/dl.c: Include <grub/cache.h>.
53537 (grub_dl_flush_cache): New function.
53538 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
53539 for this module.
53540 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
53541 (grub_console_init): Removed prototypes.
53542 (grub_machine_init): Don't initialize the modules anymore.
53543 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
53544 static.
53545 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
53546 Macro undef removed.
53547 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
53548 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
53549 relocation `R_PPC_REL32'. Return an error when the relocation is
53550 unknown.
53551 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
53552 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
53553 * util/misc.c (grub_arch_sync_caches): Likewise.
53554
e4b47e0c 535552004-12-19 Marco Gerards <metgerards@student.han.nl>
53556
53557 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
53558 `symlist.c', add `grubof_symlist.c'.
53559 (symlist.c): Variable removed.
53560 (grubof_HEADERS): Variable added.
53561 (grubof_symlist.c): New target.
53562 (kernel_syms.lst): Use `grubof_HEADERS' instead of
53563 `kernel_img_HEADERS'.
53564 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
53565 * kern/powerpc/dl.c: New file.
53566 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
53567 Function removed.
53568 (grub_arch_dl_relocate_symbols): Likewise.
53569 (grub_register_exported_symbols): Likewise.
53570
4ceb3636 535712004-12-13 Marco Gerards <metgerards@student.han.nl>
53572
53573 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
53574 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
53575 to fail instead. Reported by Vincent Pelletier
53576 <subdino2004@yahoo.fr>.
53577
53578 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
53579 it is not allocated. Reported by Vincent Pelletier
53580 <subdino2004@yahoo.fr>.
53581
53582 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
53583 output so the output looks better.
f19dbdb7 53584
3f1578fe 535852004-12-04 Marco Gerards <metgerards@student.han.nl>
53586
53587 Modulize the partition map support and add support for the amiga
53588 partition map.
f19dbdb7 53589
3f1578fe 53590 * commands/ls.c: Include <grub/partition.h> instead of
53591 <grub/machine/partition.h>.
53592 * kern/disk.c: Likewise.
53593 * kern/rescue.c: Likewise.
53594 * loader/i386/pc/chainloader.c: Likewise.
53595 * normal/cmdline.c: Likewise.
53596 * kern/powerpc/ieee1275/init.c: Likewise.
53597 (grub_machine_init): Call `grub_pc_partition_map_init',
53598 `grub_amiga_partition_map_init' and
53599 `grub_apple_partition_map_init'.
53600 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
53601 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
53602 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
53603 `partition.h' and `pc_partition.h'.
53604 (grub_setup_SOURCES): Remove
53605 `disk/i386/pc/partition.c'. Add `kern/partition.c',
53606 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53607 (grub_emu_SOURCES): Likewise.
53608 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
53609 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
53610 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
53611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53612 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
53613 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53614 (grubof_SOURCES): Likewise.
53615 * disk/i386/pc/partition.c: File removed.
53616 * disk/powerpc/ieee1275/partition.c: Likewise.
53617 * include/grub/powerpc/ieee1275/partition.h: Likewise.
53618 * include/grub/i386/pc/partition.h: Likewise.
53619 * kern/partition.c: New file.
53620 * partmap/amiga.c: Likewise.
53621 * partmap/apple.c: Likewise.
53622 * partmap/pc.c: Likewise.
53623 * include/grub/partition.h: Likewise..
53624 * include/grub/pc_partition.h: Likewise.
53625 * util/grub-emu.c: Include <grub/partition.h> instead of
53626 <grub/machine/partition.h>.
53627 (main): Call `grub_pc_partition_map_init',
53628 `grub_amiga_partition_map_init' and
53629 `grub_apple_partition_map_init' and deinitialize afterwards.
53630 * util/i386/pc/biosdisk.c: Include `#include
53631 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53632 `<grub/machine/partition.h>'.
53633 * util/i386/pc/grub-setup.c: Likewise.
53634 * util/i386/pc/biosdisk.c: Likewise.
53635 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
53636 partition information in case of a PC partition.
53637 * util/i386/pc/grub-setup.c: Include `#include
53638 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53639 `<grub/machine/partition.h>'.
53640 (setup): Only access the PC specific partition information in case
53641 of a PC partition.
53642
0ef4ced9 536432004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 53644
0ef4ced9 53645 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
53646 (grub_longjmp): Likewise.
53647 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
53648 20.
53649 * normal/powerpc/setjmp.S: New file.
53650 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53651 `normal/powerpc/setjmp.S'.
53652 (grubof_CFLAGS): Add `-DGRUBOF'.
53653 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
53654 [GRUB_UTIL && !GRUBOF].
f19dbdb7 53655
19950e29 536562004-11-16 Marco Gerards <metgerards@student.han.nl>
53657
53658 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
53659 property named `name'. Correctly handle the error returned by
53660 `grub_ieee1275_finddevice' if a device can not be opened.
53661
a2fea427 536622004-11-02 Hollis Blanchard <hollis@penguinppc.org>
53663
53664 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
53665 `actual' for negativity.
53666 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53667 kern/fshelp.c.
53668
41ea0ea3 536692004-11-01 Marco Gerards <metgerards@student.han.nl>
53670
53671 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
53672 (PAGE_OFFSET): New macro.
53673 (CRTC_ADDR_PORT): Likewise.
53674 (CRTC_DATA_PORT): Likewise.
53675 (START_ADDR_HIGH_REGISTER): Likewise.
53676 (START_ADDR_LOW_REGISTER): Likewise.
53677 (GRAPHICS_ADDR_PORT): Likewise.
53678 (GRAPHICS_DATA_PORT): Likewise.
53679 (READ_MAP_REGISTER): Likewise.
53680 (INPUT_STATUS1_REGISTER): Likewise.
53681 (INPUT_STATUS1_VERTR_BIT): Likewise.
53682 (page): New variable.
53683 (wait_vretrace): New function.
53684 (set_read_map): Likewise.
53685 (set_start_address): Likewise.
53686 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
53687 the right page.
53688 (check_vga_mem): Take the page into account.
53689 (write_char): Likewise.
53690 (write_cursor): Likewise.
53691 (scroll_up): Likewise. Copy the page to the page that is not
53692 shown and switch between both pages.
53693 (grub_vga_putchar): Fix off by one error.
53694 (grub_vga_cls): Wait for the vertical retrace. Take the page into
53695 account.
53696
ad0bd20b 536972004-11-01 Marco Gerards <metgerards@student.han.nl>
53698
53699 Add support for iso9660 (including rockridge).
f19dbdb7 53700
ad0bd20b 53701 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53702 (iso9660_mod_SOURCES): New variable.
53703 (iso9660_mod_CFLAGS): Likewise.
53704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53705 * include/grub/fs.h (grub_iso9660_init): New prototype.
53706 * util/grub-emu.c (main): Call `grub_iso9660_init'.
53707 * fs/iso9660.c: New file.
53708
53709 * include/grub/misc.h (grub_strncat): New prototype.
53710 * kern/misc.c (grub_strncat): New function.
f19dbdb7 53711
ad0bd20b 53712 * fs/hfs.c (grub_hfs_mount): Translate the error
53713 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
53714 * fs/jfs.c (grub_jfs_mount): Likewise.
53715 * fs/ufs.c (grub_ufs_mount): Likewise.
53716
a5477a59 537172004-10-28 Hollis Blanchard <hollis@penguinppc.org>
53718
53719 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
53720 which initialized BAT registers.
53721 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
53722 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53723 Move from here...
53724 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
53725 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53726 ... to here.
53727 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
53728 (grub_mapclaim): Likewise.
53729 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
53730 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
53731 hand.
53732
9304c1f8 537332004-10-19 Hollis Blanchard <hollis@penguinppc.org>
53734
53735 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
53736 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
53737 -ffreestanding and -msoft-float.
53738
86f4ae25 537392004-10-15 Hollis Blanchard <hollis@penguinppc.org>
53740
53741 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
53742 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
53743 set in grub_ieee1275_flags.
53744
38912228 537452004-10-14 Hollis Blanchard <hollis@penguinppc.org>
53746
53747 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
53748 prototype.
53749 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
53750 grub_console_init first.
53751 Change the memory range used for grub_ieee1275_claim and
53752 grub_mm_init_region.
53753 Print an error message if the claim fails.
53754 Include <grub/misc.h>.
53755
d1923dc8 537562004-10-13 Hollis Blanchard <hollis@penguinppc.org>
53757
53758 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
53759 Call grub_children_iterate for device nodes of type `scsi',
53760 `ide', or `ata'.
53761 (grub_ofdisk_open): Remove manual device alias resolution.
53762 Fix memory leak when device cannot be opened.
f19dbdb7 53763 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 53764 (grub_children_iterate): New prototype.
53765 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
53766 New function.
53767 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53768 Return -1 if args.size was -1.
53769
4512e4f3 537702004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53771
53772 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
53773 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
53774 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
53775 Open Firmware's memory for it; claim memory from _start to _end.
53776 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
53777 (_end): New extern.
53778 (_start): Zero BSS from __bss_start to _end.
53779 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53780 New extern.
53781 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
53782
4d61feb0 537832004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53784
ad0bd20b 53785 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
53786 -1 if args.base was -1.
4d61feb0 53787
026fa2f9 537882004-10-08 Hollis Blanchard <hollis@penguinppc.org>
53789
53790 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
53791 escape sequence instead of a literal ^L. Also call
53792 grub_ofconsole_gotoxy.
53793
9f2220ef 537942004-10-03 Hollis Blanchard <hollis@penguinppc.org>
53795
53796 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
53797 void * arguments to grub_addr_t. All callers updated. Also make
53798 the `result' argument optional.
53799 (grub_ieee1275_release): change void * arguments to grub_addr_t.
53800 All callers updated.
53801
8a572cd7 538022004-09-22 Hollis Blanchard <hollis@penguinppc.org>
53803
53804 * commands/ls.c (grub_ls_list_files): Use the string following the
53805 initial ')', if present, as the filesystem path.
53806 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
53807
53808 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
53809
18aa81f2 538102004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
53811
53812 Make the source code of the menu interface more readable.
f19dbdb7 53813
18aa81f2 53814 * normal/menu.c: Include grub/mm.h.
53815 (TERM_WIDTH): New macro.
53816 (TERM_HEIGHT): Likewise.
53817 (TERM_INFO_HEIGHT): Likewise.
53818 (TERM_MARGIN): Likewise.
53819 (TERM_SCROLL_WIDTH): Likewise.
53820 (TERM_TOP_BORDER_Y): Likewise.
53821 (TERM_LEFT_BORDER_X): Likewise.
53822 (TERM_BORDER_WIDTH): Likewise.
53823 (TERM_MESSAGE_HEIGHT): Likewise.
53824 (TERM_BORDER_HEIGHT): Likewise.
53825 (TERM_NUM_ENTRIES): Likewise.
53826 (TERM_FIRST_ENTRY_Y): Likewise.
53827 (TERM_ENTRY_WIDTH): Likewise.
53828 (TERM_CURSOR_X): Likewise.
53829 (draw_border): Use macros instead of magic numbers.
53830 (print_entry): Likewise.
53831 (print_entries): Likewise.
53832 (run_menu): Likewise. Also, handle the key 'e'.
53833 (run_menu_entry): Ignore empty command lines.
53834 (print_message): Added a new argument EDIT. If EDIT is true,
53835 print a different message.
53836 (init_page): Likewise.
53837 (edit_menu_entry): New function. Not implemented yet.
53838
b47efe30 538392004-09-17 Marco Gerards <metgerards@student.han.nl>
53840
53841 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
53842 can be loaded from normal mode.
f19dbdb7 53843
b47efe30 53844 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
53845 `multiboot.mod'.
53846 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
53847 (multiboot_mod_CFLAGS): New variables.
53848 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 53849 * loader/i386/pc/multiboot_normal.c: Likewise.
53850
b47efe30 53851 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
53852 attribute `unused'.
f19dbdb7 53853
b47efe30 53854 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
53855 `fdiro' to read the mode information from instead of `diro'.
53856
53857 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
53858 looking up a symlink.
53859
53860 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
53861 macro.
53862 * normal/command.c (grub_command_execute): Don't parse the
53863 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
53864 flags of the command.
53865
53866 * normal/menu.c (grub_menu_run): Fix typo.
53867
da75ac71 538682004-09-14 Hollis Blanchard <hollis@penguinppc.org>
53869
53870 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
53871
53872 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
53873 `y + 1' instead of `y - 1'.
53874
53875 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 53876
062b24c2 538772004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
53878
53879 From Hollis Blanchard <hollis@penguinppc.org>:
53880 * kern/misc.c (memmove): New alias for grub_memmove.
53881 (memcmp): New alias for grub_memcmp.
53882 (memset): New alias for grub_memset.
f19dbdb7 53883 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 53884 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 53885 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 53886 (grub_ieee1275_get_property): Likewise.
f19dbdb7 53887
8ddad845 538882004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
53889
53890 Added normal mode command `chainloader' as module chain.mod, which
53891 depends on normal.mod and _chain.mod.
f19dbdb7 53892
8ddad845 53893 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
53894 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
53895 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
53896 Deleted prototype.
53897 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
53898 but arguments parsing moved to ...
53899 (grub_chainloader_cmd): ... here. New function.
53900 * include/grub/i386/pc/chainloader.h: New file.
53901 * loader/i386/pc/chainloader_normal.c: Likewise.
53902
2c1f4ce3 539032004-09-11 Marco Gerards <metgerards@student.han.nl>
53904
53905 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
53906 (grub_mkimage_LDFLAGS): Likewise.
53907 (grub_emu_SOURCES): Likewise.
53908 (kernel_img_HEADERS): Added fshelp.h.
53909 * fs/ext2.c: Include <grub/fshelp.h>.
53910 (FILETYPE_REG): New macro.
53911 (FILETYPE_INO_REG): Likewise.
53912 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
53913 Changed all users.
53914 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
53915 all users.
53916 (grub_fshelp_node): New struct.
53917 (grub_ext2_data): Added member `diropen'. Changed member `inode'
53918 to a pointer.
53919 (grub_ext2_get_file_block): Removed function.
53920 (grub_ext2_read_block): New function.
53921 (grub_ext2_read_file): Replaced parameter `data' by `node'.
53922 This function was written.
53923 (grub_ext2_mount): Read the root inode. Create a diropen struct.
53924 (grub_ext2_find_file): Removed function.
53925 (grub_ext2_read_symlink): New function.
53926 (grub_ext2_iterate_dir): Likewise.
53927 (grub_ext2_open): Rewritten.
53928 (grub_ext2_dir): Rewritten.
53929 * include/grub/fshelp.h: New file.
53930 * fs/fshelp.c: Likewise.
53931
3c52136a 539322004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
53933
53934 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
53935 (print_message): Add a missing newline.
53936 (run_menu): Added timeout support.
53937 (run_menu_entry): New local function.
53938 (grub_menu_run): Added support for booting.
53939
53940 * kern/loader.c (grub_loader_is_loaded): New function.
53941
53942 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
53943 (grub_get_rtc): Exported.
53944
53945 * include/grub/i386/pc/time.h: Include grub/symbol.h.
53946 (grub_get_rtc): Exported.
53947
53948 * include/grub/normal.h (struct grub_command_list): Remove
53949 constant from the member `command'.
53950
53951 * include/grub/loader.h (grub_loader_is_loaded): Declared.
53952
53953 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
53954
53955 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
53956
aa033560 539572004-08-28 Marco Gerards <metgerards@student.han.nl>
53958
53959 Add support for the JFS filesystem.
53960
53961 * fs/jfs.c: New file.
53962 * include/grub/fs.h (grub_jfs_init): New prototype.
53963 (grub_jfs_fini): New prototype.
53964 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
53965 (grub_emu_SOURCES): Likewise.
53966 (pkgdata_MODULES): Add jfs.mod.
53967 (jfs_mod_SOURCES): New variable.
53968 (jfs_mod_CFLAGS): Likewise.
53969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
53970 (grubof_SOURCES): Likewise.
53971 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
53972
53973 * fs/fat.c (grub_fat_find_dir): Convert the filename little
53974 endian to the host endian.
53975 (grub_fat_utf16_to_utf8): Move function from there...
53976 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 53977 the endianness of the source string anymore.
aa033560 53978 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
53979
94bc45af 539802004-08-24 Marco Gerards <metgerards@student.han.nl>
53981
53982 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
53983 (grub_boot_fini) [GRUB_UTIL]: Likewise.
53984 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
53985 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 53986
94bc45af 53987 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
53988 (grub_hfs_iterate_dir): Make the function static. Add prototypes
53989 for `node_found' and `it_dir'.
53990 (grub_hfs_dir): Add prototype for `dir_hook'.
53991
53992 * fs/minix.c (grub_minix_get_file_block): Add prototype for
53993 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
53994 and `indir32' to silence a gcc warning.
53995
53996 * include/grub/fs.h (grub_hfs_init): New prototype.
53997 (grub_hfs_fini): Likewise.
f19dbdb7 53998
53999
97543f08 540002004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
54001
54002 Each disk device has its own id now. This is useful to make use
54003 of multiple disk devices.
f19dbdb7 54004
97543f08 54005 * include/grub/disk.h (grub_disk_dev_id): New enum.
54006 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
54007 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
54008
54009 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
54010 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54011
54012 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
54013 GRUB_DISK_DEVICE_OFDISK_ID as an id.
54014
54015 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
54016 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54017
54018 * include/grub/disk.h (struct grub_disk_dev): Added a new member
54019 "id" which is used by the cache manager.
54020
54021 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
54022 of just "GRUB".
54023
64372eb4 540242004-08-18 Marco Gerards <metgerards@student.han.nl>
54025
54026 * fs/hfs.c: New file.
54027 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
54028 (grub_emu_SOURCES): Likewise.
54029 (pkgdata_MODULES): Add hfs.mod.
54030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
54031 (grubof_SOURCES): Likewise.
54032 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
54033
54034 * include/grub/misc.h (grub_strncasecmp): Add prototype.
54035 * kern/misc.c (grub_strncasecmp): Add function.
54036
cc61b58f 540372004-08-14 Marco Gerards <metgerards@student.han.nl>
54038
54039 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
54040 with parentheses.
54041
54042 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
54043 (grub_ext2_dir): In case the directory entry type is unknown, read
54044 it from the inode.
54045
0ef123f6 540462004-08-02 Peter Bruin <pjbruin@dds.nl>
54047
54048 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
54049 grub_load_linux instead of grub_rescue_cmd_linux as second
54050 argument of grub_rescue_register_command.
54051
54052 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
54053
a447c5df 540542004-07-27 Marco Gerards <metgerards@student.han.nl>
54055
54056 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
54057 function.
54058 * commands/boot.c: Remove the check for `GRUB_UTIL'.
54059 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
54060 `loader/powerpc/ieee1275/linux.c',
54061 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
54062 * include/grub/powerpc/ieee1275/ieee1275.h
54063 (grub_ieee1275_release): New prototype.
54064 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
54065 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
54066 normal, boot, linux and linux_normal.
54067 * loader/powerpc/ieee1275/linux.c: New file.
54068 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
54069
5a9e3546 540702004-07-12 Marco Gerards <metgerards@student.han.nl>
54071
54072 * normal/arg.c (grub_arg_parse): Correct error handling after
54073 reallocating the argumentlist (check if `argl' is not null instead
54074 of checking if `args' is not null).
54075 * kern/mm.c (grub_realloc): Return the same pointer when using the
54076 same region, instead of returning the header address.
54077
e15199cb 540782004-07-11 Marco Gerards <metgerards@student.han.nl>
54079
54080 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
54081 one block instead of two when looking for the initial partition.
54082 (grub_partition_probe): Initialize the local variable `p' with 0.
54083 Use base 10 for the grub_strtoul call.
54084 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
54085 need for one local variable.
54086 (grub_strtoul): Don't add the new value to `num', instead of that
54087 just assign it.
54088
020616c2 540892004-07-11 Marco Gerards <metgerards@student.han.nl>
54090
54091 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
54092 (pxeboot_img_SOURCES): New variable.
54093 (pxeboot_img_ASFLAGS): Likewise.
54094 (pxeboot_img_LDFLAGS): Likewise.
54095 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
54096 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
54097 <lode_leroy@hotmail.com>.
54098
6c51eb64 540992004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54100
54101 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
54102 there was no input.
54103
cfb12aff 541042004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54105
54106 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
54107 the history buffer logic.
54108
6eabba74 541092004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54110
54111 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
54112 (FILETYPE_INO_SYMLINK): New macros.
54113 (grub_ext2_find_file): Check if the node is a directory using the
54114 inode stat information instead of using the filetype in the
54115 dirent. Exclude the first character of an absolute symlink.
54116 (grub_ext2_dir): Mask out the filetype part of the mode member of
54117 the inode.
54118
66e19ef8 541192004-05-24 Marco Gerards <metgerards@student.han.nl>
54120
54121 Add support for UFS version 1 and 2. Add support for the minix
54122 filesystem version 1 and 2, both the variants with 14 and 30 long
54123 filenames.
f19dbdb7 54124
66e19ef8 54125 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
54126 fs/minix.c.
54127 (grub_emu_SOURCES): Likewise.
54128 (pkgdata_MODULES): Add ufs.mod and minix.mod.
54129 (ufs_mod_SOURCES): New variable.
54130 (ufs_mod_CFLAGS): Likewise.
54131 (minix_mod_SOURCES): Likewise.
54132 (minix_mod_CFLAGS): Likewise.
54133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
54134 fs/minix.c.
54135 (grubof_SOURCES): Likewise.
54136 * fs/ufs.c: New file.
54137 * fs/minix.c: New file.
54138 * include/grub/fs.h (grub_ufs_init): New prototype.
54139 (grub_ufs_fini): Likewise.
54140 (grub_minix_init): Likewise.
54141 (grub_minix_fini): Likewise.
54142 * util/grub-emu.c (main): Initialize and deinitialize UFS and
54143 minix fs.
54144
cc2e748a 541452004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
54146
54147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
54148 commands/ls.c, commands/terminal.c, commands/boot.c,
54149 commands/cmp.c and commands/cat.c.
54150 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
54151
54152 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
54153 "env.h"
54154
4b13b216 541552004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54156
54157 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
54158 and grub_, respectively. Because the conversion is trivial and
54159 mechanical, I omit the details here. Please refer to the CVS
54160 if you need more information.
54161
6a142551 541622004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54163
54164 * include/pupa: Renamed to ...
54165 * include/grub: ... this.
54166 * util/i386/pc/pupa-mkimage.c: Renamed to ...
54167 * util/i386/pc/grub-mkimage.c: ... this.
54168 * util/i386/pc/pupa-setup.c: Renamed to ...
54169 * util/i386/pc/grub-setup.c: ... this.
54170 * util/pupa-emu.c: Renamed to ...
54171 * util/grub-emu.c: ... this.
54172
e56cdf21 541732004-03-29 Marco Gerards <metgerards@student.han.nl>
54174
54175 Add support for the newworld apple macintosh (PPC). This has been
54176 tested on the powerbook 2000 only. It only adds support for
54177 generic ieee1275 functions, console and disk support. This should
54178 be easy to port to other architectures with support for Open
54179 Firmware.
f19dbdb7 54180
e56cdf21 54181 * configure.ac: Accept the powerpc as host_cpu. In the case of
54182 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
54183 specific tests are only executed while building for the i386.
54184 Inverse test for crosscompile.
54185 * genmk.rb (Utility): Allow assembler files.
54186 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
54187 * conf/powerpc-ieee1275.rmk: New file.
54188 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
54189 * disk/powerpc/ieee1275/partition.c: Likewise.
54190 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
54191 * include/pupa/powerpc/ieee1275/console.h: Likewise.
54192 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
54193 * include/pupa/powerpc/ieee1275/time.h: Likewise.
54194 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
54195 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
54196 * include/pupa/powerpc/ieee1275/loader.h
54197 * include/pupa/powerpc/setjmp.h: Likewise.
54198 * include/pupa/powerpc/types.h: Likewise.
54199 * kern/powerpc/ieee1275/init.c: Likewise.
54200 * kern/powerpc/ieee1275/openfw.c: Likewise.
54201 * term/powerpc/ieee1275/ofconsole.c: Likewise.
54202
54203 These files were written by Johan Rydberg
54204 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 54205
e56cdf21 54206 * boot/powerpc/ieee1275/cmain.c: New file.
54207 * boot/powerpc/ieee1275/crt0.S: Likewise.
54208 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
54209 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
54210
8c8cc205 542112004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
54212
54213 * Makefile.in: Update copyright.
54214 * genmodsrc.sh: Likewise.
54215 * gensymlist.sh: Likewise.
54216 * term/i386/pc/vga.c: Indent correctly.
54217
54218 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
54219 bugreporting address.
54220 * util/i386/pc/pupa-setup.c (usage): Likewise,
54221 (main): Call pupa_ext2_init and pupa_ext2_fini.
54222
f19dbdb7 54223 * fs/fat.c (log2): Renamed to ...
8c8cc205 54224 (fat_log2): ... this.
54225 All callers changed.
54226 * kern/misc.c (memcpy): Alias to pupa_memmove.
54227 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
54228 lvalue cast.
54229 * util/console.c (pupa_ncurses_fini): Return 0.
54230
54231 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
54232 Move fail label here.
54233 [__GNU__]: Don't warn when using stat.
54234 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
54235 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
54236 long int. Use strtol instead of strtoul.
f19dbdb7 54237
db1771cf 542382004-03-14 Marco Gerards <metgerards@student.han.nl>
54239
54240 * commands/boot.c: New file.
54241 * commands/cat.c: Likewise.
54242 * commands/cmp.c: Likewise.
54243 * commands/ls.c: Likewise.
54244 * commands/terminal.c: Likewise.
54245 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
54246 (pupa_register_command): Changed interface to match the new
54247 argument parser.
54248 (pupa_command_execute): Changed (almost rewritten) so it uses
54249 pupa_split_command. Added support for setting variables using the
54250 syntax `foo=bar'.
54251 (rescue_command): Changed to work with the new argument parser.
54252 (terminal_command): Moved from here to commands/terminal.c.
54253 (set_command): New function.
54254 (unset_command): New function.
54255 (insmod_command): New function.
54256 (rmmod_command): New function.
54257 (lsmod_command): New function.
54258 (pupa_command_init): Don't initialize the command terminal
54259 anymore. Initialize the commands set, unset, insmod, rmmod and
54260 lsmod.
54261 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
54262 (kernel_img_HEADERS): Add arg.h and env.h.
54263 (pupa_mkimage_LDFLAGS): Add kern/env.c.
54264 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
54265 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
54266 normal/arg.c.
54267 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
54268 terminal.mod.
54269 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
54270 (boot_mod_SOURCES): New variable.
54271 (terminal_mod_SOURCES): Likewise.
54272 (ls_mod_SOURCES): Likewise.
54273 (cmp_mod_SOURCES): Likewise.
54274 (cat_mod_SOURCES): Likewise.
54275
54276 * normal/arg.c: New file.
54277 * kern/env.c: Likewise.
54278 * include/pupa/arg.h: Likewise.
54279 * include/pupa/env.h: Likewise.
54280 * font/manager.c (font_command): Changed to match argument parsing
54281 interface changes.
54282 (PUPA_MOD_INIT): Likewise.
54283 * hello/hello.c (pupa_cmd_hello): Likewise.
54284 (PUPA_MOD_INIT): Likewise.
54285 * include/pupa/disk.h: Include <pupa/device.h>.
54286 (pupa_print_partinfo): New prototype.
54287 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
54288 (pupa_dl_get_prefix): Likewise.
54289 * include/pupa/misc.h: Include <pupa/err.h>.
54290 (pupa_isgraph): New prototype.
54291 (pupa_isdigit): Likewise.
54292 (pupa_split_cmdline): Likewise.
54293 * include/pupa/normal.h: Include <pupa/arg.h>.
54294 (pupa_command): Changed the prototype of the member `func' to
54295 match the argument parsing interface. Added member `options'.
54296 (pupa_register_command): Updated to match function.
54297 (pupa_arg_parse): New prototype.
54298 (pupa_hello_init) [PUPA_UTIL]: New prototype.
54299 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
54300 (pupa_ls_init) [PUPA_UTIL]: Likewise.
54301 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
54302 (pupa_cat_init) [PUPA_UTIL]: Likewise.
54303 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
54304 (pupa_boot_init) [PUPA_UTIL]: Likewise.
54305 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
54306 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
54307 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
54308 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
54309 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
54310 * kern/disk.c: Include <pupa/file.h>.
54311 (pupa_print_partinfo): New function.
54312 * kern/dl.c: Include <pupa/env.h>.
54313 (pupa_dl_dir): Variable removed.
54314 (pupa_dl_load): Use the environment variable `prefix' instead of
54315 the variable pupa_dl_dir.
54316 (pupa_dl_set_prefix): Function removed.
54317 (pupa_dl_get_prefix): Likewise.
54318 * kern/i386/pc/init.c: Include <pupa/env.h>.
54319 (pupa_machine_init): Use the environment variable `prefix' instead of
54320 using pupa_dl_set_prefix to set the prefix.
54321 * kern/main.c: Include <pupa/env.h>.
54322 (pupa_set_root_dev): Use the environment variable `prefix' instead of
54323 using pupa_dl_get_prefix to get the prefix.
54324 * kern/misc.c: Include <pupa/env.h>.
54325 (pupa_isdigit): New function.
54326 (pupa_isgraph): Likewise.
54327 (pupa_ftoa): Likewise.
54328 (pupa_vsprintf): Added support for printing values of the type
54329 `double'. Make it possible to format variable output when using
54330 formatting like `%1.2%f'.
54331 (pupa_split_cmdline): New function.
54332 * kern/rescue.c: Include <pupa/env.h>.
54333 (next_word): Removed function.
54334 (pupa_rescue_cmd_prefix): Likewise.
54335 (pupa_rescue_cmd_set): New function.
54336 (pupa_rescue_cmd_unset): New function.
54337 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
54338 split the command line instead of splitting it here. Added
54339 support for setting variables using the syntax `foo=bar'. Don't
54340 initialize the prefix command anymore. Initialized the set and
54341 unset commands.
54342 * normal/cmdline.c: Include <pupa/env.h>.
54343 (pupa_tab_complete): Added prototypes for print_simple_completion,
54344 print_partition_completion, add_completion, iterate_commands,
54345 iterate_dev, iterate_part and iterate_dir. Moved code to print
54346 partition information from here to kern/disk.c.
fe6b695a 54347 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 54348 * normal/main.c: Include <pupa/env.h>.
54349 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
54350 instead of using pupa_dl_get_prefix to get the prefix.
54351 * term/i386/pc/vga.c: Include <pupa/arg.h>.
54352 (check_vga_mem): Cast pointers to `void *' to silence a gcc
54353 warning.
54354 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
54355 (pupa_vga_setcolor): Declare unused variables with `__attribute__
54356 ((unused))' to silence a gcc warning.
54357 (pupa_vga_setcolor): Likewise.
54358 (debug_command): Changed to match argument parsing
54359 interface changes.
54360 * util/pupa-emu.c: Include <pupa/env.h>.
54361 (options): Added 0's for unused fields to silence a gcc warning.
54362 (argp): Likewise.
54363 (main): Use the environment variable `prefix' instead of using
54364 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
54365 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
54366 and terminal.
54367
54368 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
54369 * util/misc.c: Include <malloc.h>.
54370 (pupa_malloc): Rewritten so errors are correctly reported.
54371 (pupa_realloc): Likewise.
54372 (pupa_memalign): Likewise.
54373 (pupa_mm_init_region): Declare unused variables with
54374 `__attribute__ ((unused))' to silence a gcc warning.
54375 * normal/i386/setjmp.S: Remove tab at the end of the file to
54376 silence a gcc warning.
54377 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
54378 variables with `__attribute__ ((unused))' to silence a gcc
54379 warning.
54380 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
54381 local variable i unsigned to silence a gcc warning.
54382
54383 * kern/term.c: Include <pupa/misc.h>.
54384 (pupa_more_lines): New variable.
54385 (pupa_more): Likewise.
54386 (pupa_putcode): When the pager is active pause at the end of every
54387 screen.
54388 (pupa_set_more): New function.
54389 * include/pupa/term.h (pupa_set_more): New prototype.
54390
54391
3b1139cb 543922004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
54393
54394 Now this project is GRUB 2 rather than PUPA. The location of
54395 the CVS repository was moved to GRUB's.
f19dbdb7 54396
3b1139cb 54397 * configure.ac: Use bug-grub as the reporting address.
54398 Use GRUB instead of PUPA.
54399 Change the version number to 1.90.
54400
8367695c 544012004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
54402
54403 * genkernsyms.sh: Updated copyright information.
54404 * genmk.rb: Likewise.
54405 * genmodsrc.sh: Likewise.
54406 * gensymlist.sh: Likewise.
54407 * boot/i386/pc/boot.S: Likewise.
54408 * boot/i386/pc/diskboot.S: Likewise.
54409 * disk/i386/pc/biosdisk.c: Likewise.
54410 * disk/i386/pc/partition.c: Likewise.
54411 * font/manager.c: Likewise.
54412 * fs/ext2.c: Likewise.
54413 * fs/fat.c: Likewise.
54414 * include/pupa/boot.h: Likewise.
54415 * include/pupa/device.h: Likewise.
54416 * include/pupa/disk.h: Likewise.
54417 * include/pupa/dl.h: Likewise.
54418 * include/pupa/elf.h: Likewise.
54419 * include/pupa/err.h: Likewise.
54420 * include/pupa/file.h: Likewise.
54421 * include/pupa/font.h: Likewise.
54422 * include/pupa/fs.h: Likewise.
54423 * include/pupa/kernel.h: Likewise.
54424 * include/pupa/loader.h: Likewise.
54425 * include/pupa/misc.h: Likewise.
54426 * include/pupa/mm.h: Likewise.
54427 * include/pupa/net.h: Likewise.
54428 * include/pupa/normal.h: Likewise.
54429 * include/pupa/rescue.h: Likewise.
54430 * include/pupa/setjmp.h: Likewise.
54431 * include/pupa/symbol.h: Likewise.
54432 * include/pupa/term.h: Likewise.
54433 * include/pupa/types.h: Likewise.
54434 * include/pupa/i386/setjmp.h: Likewise.
54435 * include/pupa/i386/types.h: Likewise.
54436 * include/pupa/i386/pc/biosdisk.h: Likewise.
54437 * include/pupa/i386/pc/boot.h: Likewise.
54438 * include/pupa/i386/pc/console.h: Likewise.
54439 * include/pupa/i386/pc/init.h: Likewise.
54440 * include/pupa/i386/pc/kernel.h: Likewise.
54441 * include/pupa/i386/pc/linux.h: Likewise.
54442 * include/pupa/i386/pc/loader.h: Likewise.
54443 * include/pupa/i386/pc/memory.h: Likewise.
54444 * include/pupa/i386/pc/multiboot.h: Likewise.
54445 * include/pupa/i386/pc/partition.h: Likewise.
54446 * include/pupa/i386/pc/time.h: Likewise.
54447 * include/pupa/i386/pc/vga.h: Likewise.
54448 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
54449 * include/pupa/util/getroot.h: Likewise.
54450 * include/pupa/util/misc.h: Likewise.
54451 * include/pupa/util/resolve.h: Likewise.
54452 * kern/device.c: Likewise.
54453 * kern/disk.c: Likewise.
54454 * kern/dl.c: Likewise.
54455 * kern/err.c: Likewise.
54456 * kern/file.c: Likewise.
54457 * kern/fs.c: Likewise.
54458 * kern/loader.c: Likewise.
54459 * kern/main.c: Likewise.
54460 * kern/misc.c: Likewise.
54461 * kern/mm.c: Likewise.
54462 * kern/rescue.c: Likewise.
54463 * kern/term.c: Likewise.
54464 * kern/i386/dl.c: Likewise.
54465 * kern/i386/pc/init.c: Likewise.
54466 * kern/i386/pc/lzo1x.S: Likewise.
54467 * kern/i386/pc/startup.S: Likewise.
54468 * loader/i386/pc/chainloader.c: Likewise.
54469 * loader/i386/pc/linux.c: Likewise.
54470 * loader/i386/pc/multiboot.c: Likewise.
54471 * normal/cmdline.c: Likewise.
54472 * normal/command.c: Likewise.
54473 * normal/main.c: Likewise.
54474 * normal/menu.c: Likewise.
54475 * normal/i386/setjmp.S: Likewise.
54476 * term/i386/pc/console.c: Likewise.
54477 * term/i386/pc/vga.c: Likewise.
54478 * util/console.c: Likewise.
54479 * util/genmoddep.c: Likewise.
54480 * util/misc.c: Likewise.
54481 * util/pupa-emu.c: Likewise.
54482 * util/resolve.c: Likewise.
54483 * util/unifont2pff.rb: Likewise.
54484 * util/i386/pc/biosdisk.c: Likewise.
54485 * util/i386/pc/getroot.c: Likewise.
54486 * util/i386/pc/pupa-mkimage.c: Likewise.
54487 * util/i386/pc/pupa-setup.c: Likewise.
54488
e6eced71 544892004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
54490
54491 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
54492 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
54493 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
54494 reading and reset it after reading.
54495 (pupa_ext2_close): Return PUPA_ERR_NONE.
54496
54497 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
54498 Correct value.
54499 (struct linux_kernel_header): Add kernel_version and
54500 initrd_addr_max.
54501 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
54502 pupa_file_read succeeds.
54503 (pupa_rescue_cmd_initrd): Implement.
54504
5aded270 545052003-12-03 Marco Gerards <metgerards@student.han.nl>
54506
54507 * fs/ext2.c (pupa_ext2_label): New function.
54508 (pupa_ext2_fs): Added label.
54509 * fs/fat.c (pupa_fat_label): New function.
54510 (pupa_fat_fs): Added label.
54511 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
54512
54513 * kern/misc.c (pupa_strndup): New function.
54514 * include/pupa/misc.h (pupa_strndup): New prototype.
54515
54516 * include/pupa/normal.h: Include <pupa/err.h>.
54517 (pupa_set_history): New prototype.
54518 (pupa_iterate_commands): New prototype.
54519 * normal/cmdline.c: Include <pupa/machine/partition.h>,
54520 <pupa/disk.h>, <pupa/file.h>.
54521 (hist_size): New variable.
54522 (hist_lines): Likewise.
54523 (hist_end): Likewise.
54524 (hist_used): Likewise.
54525 (pupa_set_history): New function.
54526 (pupa_history_get): Likewise.
54527 (pupa_history_add): Likewise.
54528 (pupa_history_replace): Likewise.
54529 (pupa_tab_complete): Likewise.
54530 (pupa_cmdline_run): Added tab completion and history buffer. Tab
54531 completion shows partitionnames while completing partitions, this
54532 feature was suggested by Jeff Bailey.
54533 * normal/command.c (pupa_iterate_commands): New function.
54534 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
54535 (pupa_normal_init): Initialize history buffer.
54536 (PUPA_MOD_INIT): Likewise.
54537 (pupa_normal_fini): Free the history buffer.
54538 (PUPA_MOD_FINI): Likewise.
54539
54540 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
54541 key.
54542
54543 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
54544 * configure.ac [i386]: Check for regparam bug.
54545 (NESTED_FUNC_ATTR) [! i386]: Defined.
54546
1f7315a3 545472003-11-17 Marco Gerards <metgerards@student.han.nl>
54548
54549 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
54550 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
54551 (pupa_emu_SOURCES): New variable.
54552 (pupa_emu_LDFLAGS): Likewise.
54553 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
54554 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
54555 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
54556 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54557 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
54558 (pupa_jmp_buf): New typedef.
54559 (pupa_setjmp) [PUPA_UTIL]: New macro.
54560 (pupa_longjmp) [PUPA_UTIL]: Likewise.
54561 * include/pupa/term.h (struct pupa_term): New member `refresh'.
54562 (pupa_refresh): New prototype.
54563 * include/pupa/util/getroot.h: New file.
54564 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
54565 it.
54566 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
54567 (pupa_rescue_cmd_cat): Likewise.
54568 (pupa_rescue_cmd_ls): Likewise.
54569 (pupa_rescue_cmd_testload): Likewise.
54570 (pupa_rescue_cmd_lsmod): Likewise.
54571 * normal/cmdline.c (pupa_cmdline_get): Likewise.
54572 * normal/menu.c (run_menu): Likewise.
54573 * kern/term.c (pupa_cls): Likewise.
54574 (pupa_refresh): New function.
54575 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
54576 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54577 * util/console.c: New file.
f19dbdb7 54578
1f7315a3 54579 * util/i386/pc/getroot.c: New file.
54580 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
54581 (pupa_putchar): New function.
54582 (pupa_refresh): Likewise.
54583 (xgetcwd): Function moved to ...
54584 (strip_extra_slashes): Likewise.
54585 (get_prefix): Likewise.
f19dbdb7 54586 * util/i386/pc/getroot.c: ... here.
1f7315a3 54587 (find_root_device): Function moved and renamed to...
54588 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
54589 Changed all callers.
54590 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
54591 and renamed to...
54592 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
54593 Changed all callers.
54594 * util/misc.c (pupa_memalign): New function.
54595 (pupa_mm_init_region): Likewise.
54596 (pupa_register_exported_symbols): Likewise.
54597 (pupa_putchar): Function removed.
54598 * util/pupa-emu.c: New file.
54599
9a5c1ade 546002003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
54601
54602 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
54603 (_multiboot_mod_SOURCES): New variable.
54604 (_multiboot_mod_CFLAGS): Likewise.
54605 * loader/i386/pc/multiboot.c: New file.
54606 * include/pupa/i386/pc/multiboot.h: Likewise.
54607 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
54608 (pupa_multiboot_real_boot): New function.
54609 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
54610 (pupa_multiboot_real_boot): New prototype.
54611 (pupa_rescue_cmd_multiboot): Likewise
54612 (pupa_rescue_cmd_module): Likewise.
54613
54614 * kern/loader.c (pupa_loader_set): Continue when
54615 pupa_loader_unload_func() fails.
54616 (pupa_loader_unset): New function.
54617 * include/pupa/loader.h (pupa_loader_unset): New prototype.
54618
54619 * kern/misc.c (pupa_stpcpy): New function.
54620 * include/pupa/misc.h (pupa_stpcpy): New prototype.
54621
8e72a9c0 546222003-11-12 Marco Gerards <metgerards@student.han.nl>
54623
54624 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
54625 for available extensions.
54626
54627 * include/pupa/i386/pc/time.h: New file.
54628 * kern/disk.c: Include <pupa/machine/time.h>.
54629 (PUPA_CACHE_TIMEOUT): New macro.
54630 (pupa_last_time): New variable.
54631 (pupa_disk_open): Flush the cache when there was a timeout.
54632 (pupa_disk_close): Reset the timer.
54633 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
54634 pupa_currticks.
54635 * util/misc.c: Include <sys/times.h>
54636 (pupa_get_rtc): New function.
54637
c4adbd32 546382003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
54639
54640 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
54641 as blocks.
54642 (pupa_ext2_get_file_block): Use blocks member.
54643
54644 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
54645 first block. Return -1 instead of pupa_errno on error.
54646
bfd30f06 546472003-10-27 Marco Gerards <metgerards@student.han.nl>
54648
54649 * README: In the pupa-mkimage example use _chain instead of chain
54650 and ext2 instead of fat.
54651 * TODO: Replace ext2fs with jfs as an example. Add an item for
54652 adding journal playback for ext2fs.
54653 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
54654 (pkgdata_MODULES): Added ext2.mod.
54655 (ext2_mod_SOURCES): New variable.
54656 (ext2_mod_CFLAGS): Likewise.
54657 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
54658 * include/pupa/misc.h (pupa_strncpy): New prototype.
54659 (pupa_strcat): Likewise.
54660 (pupa_strncmp): Likewise.
54661 * kern/misc.c (pupa_strcat): Enable function.
54662 (pupa_strncpy): New function.
54663 (pupa_strncmp): Likewise.
54664 * fs/ext2.c: New file.
f19dbdb7 54665
bfd30f06 54666 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
54667 when the read failed before retrying.
54668 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
54669 (_FILE_OFFSET_BITS): Likewise.
54670 * configure.ac: Added AC_SYS_LARGEFILE.
54671
98d15063 546722003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54673
54674 * genmk.rb (PModule#rule): Make sure to get only symbol names
54675 from the output of nm.
59cad637 54676 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 54677
18d9c7cd 546782003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54679
54680 I forgot to check in these changes for a long time. This adds
54681 incomplete support for VGA console, and this is still very
54682 buggy. Also, a lot of consideration is required for I18N,
54683 UNICODE, and VGA font issues. Therefore, assume that this is
54684 such that "better than nothing".
f19dbdb7 54685
18d9c7cd 54686 * font/manager.c: New file.
54687 * include/pupa/font.h: Likewise.
54688 * include/pupa/i386/pc/vga.h: Likewise.
54689 * term/i386/pc/vga.c: Likewise.
54690 * util/unifont2pff.rb: Likewise.
54691
54692 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
54693 (pkgdata_MODULES): Added vga.mod and font.mod.
54694 (vga_mod_SOURCES): New variables.
54695 (vga_mod_CFLAGS): Likewise.
54696 (font_mod_SOURCES): Likewise.
54697 (font_mod_CFLAGS): Likewise.
54698
54699 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
54700
54701 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 54702 (struct pupa_term): Added init and fini.
18d9c7cd 54703 Changed the argument of putchar to pupa_uint32_t.
54704
54705 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
54706 (pupa_console_real_putchar): New prototype.
54707 (pupa_console_putchar): Removed.
54708 (pupa_console_checkkey): Exported.
54709 (pupa_console_getkey): Likewise.
54710
54711 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
54712 characters.
54713
54714 * kern/term.c (pupa_term_set_current): Rewritten.
54715 (pupa_putchar): Likewise.
54716 (pupa_putcode): New function.
54717
54718 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
54719 (pupa_console_real_putchar): ... this.
54720 (pupa_vga_set_mode): New function.
54721 (pupa_vga_get_font): Likewise.
54722
54723 * normal/command.c: Include pupa/term.h.
54724 (terminal_command): New function.
54725 (pupa_command_init): Register the command "terminal".
54726
54727 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
54728 (DISP_UP): Likewise.
54729 (DISP_RIGHT): Likewise.
54730 (DISP_DOWN): Likewise.
54731 (DISP_HLINE): Likewise.
54732 (DISP_VLINE): Likewise.
54733 (DISP_UL): Likewise.
54734 (DISP_UR): Likewise.
54735 (DISP_LL): Likewise.
54736 (DISP_LR): Likewise.
54737
54738 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 54739
977329f5 547402003-02-08 NIIBE Yutaka <gniibe@m17n.org>
54741
54742 * util/resolve.c (pupa_util_resolve_dependencies): BUG
54743 FIX. Reverse the path_list.
54744
54745 * include/pupa/normal.h: Export pupa_register_command and
54746 pupa_unregister_command.
54747
54748 * hello/hello.c (pupa_cmd_hello): New module.
54749 * conf/i386-pc.rmk: Added hello.mod.
54750
1f5ab428 547512003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
54752
54753 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 54754
1f5ab428 54755 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
54756 (compress_kernel): New variable.
54757 (generate_image): Heavily modified to support compressing a
54758 large part of the core image.
54759
54760 * util/misc.c (pupa_util_read_image): Fix a file descriptor
54761 leak.
54762 (pupa_util_load_image): New function.
54763
54764 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
54765 (pupa_compressed_size): New variable.
54766 (codestart): Enable Gate A20 here.
54767 Decompress the compressed part of the core image.
54768 Rearrange the code to put functions and variables which are
54769 required for initialization in the non-compressed part.
54770 Include lzo1x.S.
54771
54772 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
54773 here.
54774
54775 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
54776
f19dbdb7 54777 * include/pupa/i386/pc/kernel.h
1f5ab428 54778 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
54779 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
54780 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54781 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54782 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
54783
54784 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
54785
54786 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
54787 (Utility#rule): Likewise.
54788
54789 * configure.ac: Check if LZO is available.
54790
ce5bf700 547912003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
54792
54793 * include/pupa/normal.h: New file.
54794 * include/pupa/setjmp.h: Likewise.
54795 * include/pupa/i386/setjmp.h: Likewise.
54796 * normal/cmdline.c: Likewise.
54797 * normal/command.c: Likewise.
54798 * normal/main.c: Likewise.
54799 * normal/menu.c: Likewise.
54800 * normal/i386/setjmp.S: Likewise.
f19dbdb7 54801
ce5bf700 54802 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
54803 (pupa_rescue_cmd_initrd): Likewise.
54804
54805 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
54806 Likewise.
54807
54808 * kern/i386/pc/startup.S (translation_table): New variable.
54809 (translate_keycode): New function.
54810 (pupa_console_getkey): Call translate_keycode.
54811
54812 * kern/rescue.c (attempt_normal_mode): New function.
54813 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
54814 it failed, print a message.
54815
54816 * kern/mm.c (pupa_real_malloc): Print more information when a
54817 free magic is broken.
54818 (pupa_free): If the first free header is not free actually, set
54819 it to P.
54820
54821 * kern/main.c (pupa_load_normal_mode): Just load the module
54822 "normal".
54823 (pupa_main): Don't print the message
54824 "Entering into rescue mode..." here.
54825
54826 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
54827 Declared.
54828 (pupa_rescue_cmd_initrd): Likewise.
54829 (pupa_rescue_cmd_initrd): Likewise.
54830
54831 * include/pupa/symbol.h (FUNCTION): Specify the type.
54832 (VARIABLE): Likewise.
54833
54834 * include/pupa/err.h (pupa_err_t): Added
54835 PUPA_ERR_UNKNOWN_COMMAND.
54836
54837 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
54838 (pupa_dl_get_prefix): Likewise.
54839
54840 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
54841 Added _chain.mod and _linux.mod instead of chain.mod and
54842 linux.mod.
54843 (chain_mod_SOURCES): Renamed to ...
54844 (_chain_mod_SOURCES): ... this.
54845 (chain_mod_CFLAGS): Renamed to ...
54846 (_chain_mod_CFLAGS): ... this.
54847 (linux_mod_SOURCES): Renamed to ...
54848 (_linux_mod_SOURCES): ... this.
54849 (linux_mod_CFLAGS): Renamed to ...
54850 (_linux_mod_CFLAGS): ... this.
54851 (normal_mod_SOURCES): New variable.
54852 (normal_mod_CFLAGS): Likewise.
54853 (normal_mod_ASFLAGS): Likewise.
54854
548552003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
54856
54857 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
54858 possible.
54859
fe6b695a 54860 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 54861 recursively.
54862 (pupa_dl_unref): Unrefer depending modules recursively.
54863 Don't call pupa_dl_unload implicitly, because PUPA can crash if
54864 a module is unloaded before one depending on that module is
54865 unloaded.
54866 (pupa_dl_unload): Unload depending modules explicitly,
54867 if possible.
54868
c04da074 548692003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
54870
54871 * include/pupa/i386/pc/linux.h: New file.
54872 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 54873
c04da074 54874 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
54875 Removed.
54876 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
54877 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
54878 of PUPA_CHAINLOADER_BOOT_SECTOR.
54879
54880 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
54881 (pupa_linux_prot_size): New variable.
54882 (pupa_linux_tmp_addr): Likewise.
54883 (pupa_linux_real_addr): Likewise.
54884 (pupa_linux_boot_zimage): New function.
54885 (pupa_linux_boot_bzimage): Likewise.
54886
54887 * kern/i386/pc/init.c (struct mem_region): New structure.
54888 (MAX_REGIONS): New macro.
54889 (mem_regions): New variable.
54890 (num_regions): Likewise.
54891 (pupa_os_area_addr): Likewise.
54892 (pupa_os_area_size): Likewise.
54893 (pupa_lower_mem): Likewise.
54894 (pupa_upper_mem): Likewise.
54895 (add_mem_region): New function.
54896 (compact_mem_regions): Likewise.
54897 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
54898 the size of the conventional memory and that of so-called upper
54899 memory (before the first memory hole).
54900 Instead of adding each found region to free memory, use
54901 add_mem_region and add them after removing overlaps.
54902 Also, add only 1/4 of the upper memory to free memory. The rest
54903 is used for loading OS images. Maybe this is ad hoc, but this
54904 makes it much easier to relocate OS images when booting.
54905
54906 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
54907 (pupa_enter_rescue_mode): Don't register initrd and module.
54908
54909 * kern/mm.c: Include pupa/dl.h.
54910
54911 * kern/main.c: Include pupa/file.h and pupa/device.h.
54912
54913 * kern/loader.c (pupa_loader_load_module_func): Removed.
54914 (pupa_loader_load_module): Likewise.
54915
54916 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
54917 ``.o''.
54918
54919 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
54920 (pupa_linux_tmp_addr): Likewise.
54921 (pupa_linux_real_addr): Likewise.
54922 (pupa_linux_boot_zimage): Likewise.
54923 (pupa_linux_boot_bzimage): Likewise.
54924
54925 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
54926 (pupa_upper_mem): Likewise.
54927 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
54928 module is too dangerous.
54929
54930 * include/pupa/loader.h (pupa_os_area_addr): Declared.
54931 (pupa_os_area_size): Likewise.
54932 (pupa_loader_set): Remove the first argument. Loader doesn't
54933 manage modules or initrd any longer.
54934 (pupa_loader_load_module): Removed.
54935
54936 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
54937 (linux_mod_SOURCES): New variable.
54938 (linux_mod_CFLAGS): Likewise.
54939
a13f9237 549402003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
54941
54942 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
54943 the length of a blocklist correctly.
54944
54945 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
54946 Use ioctl only if the OS file is a block device.
54947 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
54948 not very useful for normal files.
54949
54950 * kern/main.c (pupa_set_root_dev): New function.
54951 (pupa_load_normal_mode): Likewise.
54952 (pupa_main): Call those above.
54953
54954 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
54955 pupa_uint16_t.
54956
54957 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
54958
a5ffe966 549592003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
54960
54961 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
54962 (setup): Configure the installed partition information and the
54963 dl prefix.
54964
54965 * loader/i386/pc/chainloader.c (my_mod): New variable.
54966 (pupa_chainloader_unload): New function.
54967 (pupa_rescue_cmd_chainloader): Refer itself.
54968 (PUPA_MOD_INIT): Save its own module in MY_MOD.
54969
54970 * kern/i386/pc/startup.S (install_partition): Removed.
54971 (version_string): Likewise.
54972 (config_file): Likewise.
54973 (pupa_install_dos_part): New variable.
54974 (pupa_install_bsd_part): Likewise.
54975 (pupa_prefix): Likewise.
54976 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
54977
54978 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
54979 and pupa/misc.h.
54980 (make_install_device): New function.
54981 (pupa_machine_init): Set the dl prefix.
54982
54983 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
54984 (buf): Renamed to ...
54985 (linebuf): ... this.
54986 (pupa_rescue_cmd_prefix): New function.
54987 (pupa_rescue_cmd_insmod): Likewise.
54988 (pupa_rescue_cmd_rmmod): Likewise.
54989 (pupa_rescue_cmd_lsmod): Likewise.
54990 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
54991 rmmod and lsmod.
54992
54993 * kern/mm.c (pupa_memalign): If failed even after invalidating
54994 disk caches, unload unneeded modules and retry.
54995
54996 * kern/misc.c (pupa_memmove): New function.
54997 (pupa_memcpy): Removed.
54998 (pupa_strcpy): New function.
54999 (pupa_itoa): Made static.
55000
55001 * kern/dl.c (pupa_dl_iterate): New function.
55002 (pupa_dl_ref): Likewise.
55003 (pupa_dl_unref): Likewise.
55004 (pupa_dl_unload): Return if succeeded or not.
55005 (pupa_dl_unload_unneeded): New function.
55006 (pupa_dl_unload_all): Likewise.
55007 (pupa_dl_init): Renamed to ...
55008 (pupa_dl_set_prefix): ... this.
55009 (pupa_dl_get_prefix): New function.
55010
55011 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
55012 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
55013 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
55014 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
55015 (pupa_install_dos_part): Declared.
55016 (pupa_install_bsd_part): Likewise.
55017 (pupa_prefix): Likewise.
55018 (pupa_boot_drive): Likewise.
55019
55020 * include/pupa/types.h: Fix a typo.
55021
55022 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
55023 pupa_memmove.
55024 (pupa_memmove): Declared.
55025 (pupa_strcpy): Likewise.
55026
55027 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
55028 pupa_mod_init takes one argument, its own module.
55029 (pupa_dl_unload_unneeded): Declared.
55030 (pupa_dl_unload_all): Likewise.
55031 (pupa_dl_ref): Likewise.
55032 (pupa_dl_unref): Likewise.
55033 (pupa_dl_iterate): Likewise.
55034 (pupa_dl_init): Renamed to ...
55035 (pupa_dl_set_prefix): ... this.
55036 (pupa_dl_get_prefix): Declared.
55037
55038 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 55039 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 55040 unloaded.
55041 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
55042 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
55043
55044 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
55045 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
55046
012d7999 550472003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55048
55049 * util/i386/pc/pupa-setup.c (setup): Define the internal
55050 function find_first_partition_start at the top level, because GCC
55051 3.0.x cannot compile internal functions in deeper scopes
55052 correctly.
55053 (find_root_device): Use lstat instead of stat.
55054 Don't follow symbolic links.
55055 Fix the path-constructing code.
55056
55057 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
55058 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
55059 by a BLKGETSIZE ioctl first, because block devices don't fill
55060 the member st_mode of the structure stat on Linux.
55061 [__linux__] (linux_find_partition): Use a temporary buffer
55062 REAL_DEV for the working space. Copy it to DEV before returning.
55063 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
55064 buffer cache consistent.
55065 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
55066 strncmp. The previous value was merely wrong.
55067 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
55068
55069 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
55070 FAT size is 12. The previous value was merely wrong.
55071
55072 * kern/main.c (pupa_main): Don't split the starting message from
55073 newlines.
55074
55075 * kern/term.c (pupa_putchar): Put CR after LF instead of before
55076 LF, because BIOS goes crazy about character attributes in this
55077 case.
55078
1cc73a62 550792003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55080
55081 * include/i386/pc/util/biosdisk.h: New file.
55082 * util/i386/pc/biosdisk.c: Likewise.
55083 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 55084
1cc73a62 55085 * Makefile.in (INCLUDE_DISTFILES): Added
55086 include/pupa/i386/pc/util/biosdisk.h.
55087 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
55088 directory util/i386/pc.
55089 (install-local): Added a rule for sbin_UTILITIES.
55090 (uninstall): Likewise.
55091
55092 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
55093
55094 * util/misc.c (xrealloc): New function.
55095 (pupa_malloc): Likewise.
55096 (pupa_free): Likewise.
55097 (pupa_realloc): Likewise.
55098 (pupa_stop): Likewise.
55099 (pupa_putchar): Likewise.
55100
55101 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
55102
55103 * include/pupa/util/misc.h (xrealloc): Declared.
55104
55105 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
55106 macro.
55107 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
55108 (PUPA_BOOT_MACHINE_BPB_END): ... this.
55109
55110 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
55111 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55112
55113 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
55114 way should be implemented.
55115 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55116
55117 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
55118 the size of NAME for safety.
55119 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
55120 0x88.
55121
55122 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
55123 (pupa_setup_SOURCES): Likewise.
55124
55125 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
55126
08b70fe8 551272002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55128
55129 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
55130 bunch of pushl's from pusha, because this destroys the return
55131 value.
55132
62ddcc8f 551332002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55134
55135 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
55136 This means that any missing prototypes could be fatal. Also, you
55137 must take care when writing assembly code. See the comments at
55138 the beginning of startup.S, for more details.
f19dbdb7 55139
62ddcc8f 55140 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
55141 compilation mechanism.
55142 (pupa_chainloader_real_boot): Likewise.
55143 (pupa_biosdisk_rw_int13_extensions): Likewise.
55144 (pupa_biosdisk_rw_standard): Likewise.
55145 (pupa_biosdisk_check_int13_extensions): Likewise.
55146 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
55147 (pupa_biosdisk_get_diskinfo_standard): Likewise.
55148 (pupa_get_memsize): Likewise.
55149 (pupa_get_mmap_entry): Likewise.
55150 (pupa_console_putchar): Likewise.
55151 (pupa_console_setcursor): Likewise.
55152 (pupa_getrtsecs): Use pushl instead of push.
55153
55154 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
55155 memory instead of the stack for a mmap entry, because some
55156 BIOSes may ignore the maximum size and overflow.
55157
55158 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
55159
55160 * genmk.rb (PModule#rule): Compile automatically generated
55161 sources with module-specific CFLAGS as well as other sources.
55162
9962ed99 551632002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55164
55165 * configure.ac: Check ld.
55166 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
55167 respectively, before checking endianness and sizes.
55168
55169 * Makefile.in (LD): New variable.
f19dbdb7 55170
abdfc3c5 551712002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55172
55173 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
55174
6a161fa9 551752002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55176
55177 * Changelog: New file.
55178