]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
[grub2.git] / ChangeLog
CommitLineData
1f6af2a9
РП
12014-06-21 Роман Пехов <roman_pekhov>
2
3 * grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
4
fa335308
GW
52014-06-21 Glenn Washburn <development@efficientek.com>
6
7 * util/grub-install.c: Fix handling of --disk-module.
8
15bd333e
SR
92014-06-21 Stephane Rochoy <sheda>
10
11 * grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
12 EFI system table.
13
3f3ec8ef
SR
142014-06-21 Stephane Rochoy <sheda>
15
16 * grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
17 EFI system table physical address.
18
87de66d9
TW
192014-06-21 Trevor Woerner <trevor.woerner@linaro.org>
20
21 * util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.
22
2c2c5c72
VS
232014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
26
480c8985
VS
272014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
30 check.
31
4b8b9135
VS
322014-04-20 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.
35
36 Reported by: Yves Blusseau <blusseau@zetam.org>.
37
5a6db38d
PK
382014-04-20 Piotr Krysiuk <piotras@gmail.com>
39
40 * grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
41 GDT in conventional memory.
42
3a310e84
CW
432014-04-10 Colin Watson <cjwatson@ubuntu.com>
44
45 * util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
46 UUID. Other parts of grub-mkconfig tolerate these, they were
47 previously allowed here up to commit
48 55e706c918922def17f5012c23cfe88c4c645208, and they can arise in
49 practice when the system has active LVM snapshots.
50 Fixes Ubuntu bug #1287436.
51
c4badfe8
CW
522014-04-10 Colin Watson <cjwatson@ubuntu.com>
53
54 * grub-core/disk/lvm.c (grub_lvm_detect): Search for
55 "logical_volumes" block a little more accurately.
56
a72fc329
VS
572014-04-06 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * grub-core/lib/syslinux_parse.c: Fix timeout quoting.
60
6f6d4aa0
VS
612014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * include/grub/libgcc.h: Remove ctzsi2 and ctzdi2. They're no longer
64 pulled from libgcc.
65
8063ce19
VS
662014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
67
68 Replace few instances of memcmp/memcpy in the code that should be
69 grub_memcmp/grub_memcpy.
70
97060667
VS
712014-04-03 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe
74 device names.
75
4afd0107
TF
762014-03-31 Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
77
78 btrfs: fix get_root key comparison failures due to endianness
79
80 * grub-core/fs/btrfs.c (get_root): Convert
81 GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.
82
24024dac
CW
832014-03-31 Colin Watson <cjwatson@ubuntu.com>
84
85 Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.
86
87 Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
88 no longer to be forgiving of trailing spaces on grub-probe output
89 lines, which among other things means that util/grub.d/10_linux.in
90 no longer detects LVM. To fix this, make grub-probe's output
91 delimiting more consistent. As a bonus, this improves the coverage
92 of the -0 option.
93
94 Fixes Debian bug #735935.
95
96 * grub-core/disk/cryptodisk.c
97 (grub_util_cryptodisk_get_abstraction): Add a user-data argument.
98 * grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
99 Likewise.
100 * include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
101 Update prototype.
102 * include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
103 * util/grub-install.c (push_partmap_module, push_cryptodisk_module,
104 probe_mods): Adjust for extra user-data arguments.
105 * util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
106 probe_abstraction): Use configured delimiter. Update callers.
107
9b35fe81
CW
1082014-03-31 Colin Watson <cjwatson@ubuntu.com>
109
110 * util/grub-probe,c (options): Make -0 work again (broken by
111 conversion to argp).
112 (main): Simplify logic.
113
46b74dd3
VS
1142014-03-26 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * grub-core/lib/relocator.c: Fix the case when end of leftover is used.
117
68f17b2b
FW
1182014-03-26 Fu Wei <fu.wei@linaro.org>
119
120 * grub-core/loader/arm64/linux.c: Remove redundant "0x".
121
86402b4e
VS
1222014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
125 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.
126
127 Suggested by: Markus Müller.
128
bec35dad
VS
1292014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
132 if E820 failed to return any regions.
133
dfc5ccfa
VS
1342014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
137 tables for low memory calculations.
138
4a70fed8
VS
1392014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
142 location to 640K.
143
f94b2b4e
VS
1442014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
147 region.
148
d0949e37
VS
1492014-02-20 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
152 exclusively.
153
9585647a
PFS
1542014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
155
156 Add bootpath parser for open firmware.
157
158 It enables net boot even when there is no bootp/dhcp server.
159
160 * grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath
161 and call it at grub_ieee1275_net_config_real.
162 * grub-core/kern/ieee1275/init.c: Add bootpath to
163 grub_ieee1275_net_config.
164 * include/grub/ieee1275/ieee1275.h: Likewise.
165
166
e4dbf247
PFS
1672014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
168
169 Add grub_env_set_net_property function.
170
171 * grub-core/net/bootp.c: Remove set_env_limn_ro.
172 * grub-core/net/net.c: Add grub_env_set_net_property.
173 * include/grub/net.h: Likewise.
174
006c78f3
VS
1752014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * util/grub-mkrescue.c: Build fix for argp.h with older gcc.
178
511ece7c
VS
1792014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * util/grub-mkfont.c: Build fix for argp.h with older gcc.
182
9abbaae7
VS
1832014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
186 7 seconds to recover if last poweroff was bad.
187
d6b94c5e
VS
1882014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * grub-core/disk/ahci.c: Properly handle transactions with no
191 transferred data.
192
07ea8daa
VS
1932014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * grub-core/disk/ahci.c: Add safety cleanups.
196
3142b2fe
VS
1972014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * grub-core/disk/ahci.c: Allocate and clean space for all possible 32
200 slots to avoid pointing to uninited area.
201
4686e163
VS
2022014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/disk/ahci.c: Do not enable I/O decoding and keep
205 enabling busmaster for the end.
206
ba424f37
VS
2072014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * util/grub-mkfont.c: Downgrade warnings about unhandled features
210 to debug.
211
3beabdc8 2122014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7f64fb59
VS
213
214 * grub-core/term/at_keyboard.c: Tolerate missing keyboard.
215
ba584da1
PFS
2162014-01-29 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
217
218 * .gitignore: add missing files and .exe variants.
219
35f2d96c
MG
2202014-01-26 Mike Gilbert <floppym@gentoo.org>
221
222 grub-install: support for partitioned partx loop devices.
223
224 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
225 /dev/loopX as being the parent of /dev/loopXpY.
226
9afe2053
VS
2272014-01-26 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * grub-core/term/serial.c (grub_serial_register): Fix invalid free.
230 Ensure that pointers are inited to NULL and that pointers are not
231 accessed after free.
5ae584c0
AB
232
2332014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
234
235 * include/grub/crypto.h: Replace __attribute__ ((format (printf)) with
236 __attribute__ ((format (__printf__)) to fix compilation under MinGW-w64.
237 * include/grub/emu/misc.h: ... and here.
238 * include/grub/err.h: ... and here.
239 * util/import_gcry.py: ... and here (in files g10lib.h).
240
1440b7eb
AB
2412014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
242
243 * util/grub-mkimage.c: Make prefix argument mandatory.
244
61c8482b
VS
2452014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
246
247 Fix several translatable strings.
248
249 Suggested by: D. Prévot.
250
95cd131e
VS
2512014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * util/grub-install.c: List available targets.
254
d0805930
CW
2552014-01-23 Colin Watson <cjwatson@ubuntu.com>
256
257 * util/grub-install.c (write_to_disk): Add an info message.
258
eec4237a
AB
2592014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
260
261 * Makefile.am: Allow adding extra files to generated Windows ZIP
262 archive by setting GRUB_WINDOWS_EXTRA_DIST.
263
36387ece
AB
2642014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
265
266 * configure.ac: Look for DejaVuSans also in /usr/share/fonts/truetype.
443b3222 267 Show detected font path in summary.
36387ece 268
6f65e36c
PFS
2692014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
270
271 * grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
272 interval gradually.
273 * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
274 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
275 * grub-core/net/tftp.c (tftp_open): Likewise.
276 * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
277
d99d2f84
PFS
2782014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
279
280 * grub-core/net/net.c (receive_packets): Change stop condition to avoid
281 infinite loops.
282
283 In net/net.c there is a while (1) that only exits if there is a stop
284 condition and more then 10 packages or if there is no package received.
285
286 If GRUB is idle and enter in this loop, the only condition to leave is
287 if it doesn't have incoming packages. In a network with heavy traffic
288 this never happens.
289
049f6382
CW
2902014-01-19 Colin Watson <cjwatson@ubuntu.com>
291
292 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
293 EPERM when modifying kern.geom.debugflags. It is only a problem for
294 such things as installing GRUB to the MBR, in which case there'll be
295 an error later anyway, not for opening files during tests.
296
01504547
AB
2972014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
298
299 * grub-core/Makefile.am: Build grub_emu_init.[ch] from MODULE_FILES
300 instead of MOD_FILES.
301 * grub-core/genemuinit.sh: Simplify stripping of suffix so it works
302 both with and without .exe.
303 * grub-core/genemuinitheader.sh: Same.
304
b204b718
VS
3052014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * util/grub-install.c: Fix a typo.
308
41155a57
VS
3092014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/normal/main.c (read_config_file): Buffer config file.
312 Reduces boot time.
313
e0a85094
AB
3142014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
315
316 * acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
317 symbolic link to directory. It fails in Msys shell on Windows 2003.
318
0b47c57a
VS
3192014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * Makefile.am (default_payload.elf): Add modules
322 multiboot cbmemc linux16 gzio echo help.
323
3242014-01-18 Mike Gilbert <floppym@gentoo.org>
6ba98355
MG
325
326 * Makefile.util.def: Link grub-ofpathname with zfs libs.
327
6c519b5c
VS
3282014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/commands/macbless.c: Rename FILE and DIR to avoid
331 conflicts.
332
333 Reported by: Andrey Borzenkov.
334
f371dd5d
AB
3352014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
336
337 * include/grub/misc.h: Move macros for compiler features to ...
338 * include/grub/compiler.h: ... new file.
339 * include/grub/list.h: Include <grub/compiler.h> instead of <grub/misc.h>.
340 * grub-core/commands/fileXX.c: Include <grub/misc.h>.
341 * grub-core/efiemu/prepare.c: Include <grub/misc.h>.
342 * grub-core/loader/i386/xen_file.c: Include <grub/misc.h>.
343 * grub-core/loader/i386/xen_fileXX.c: Include <grub/misc.h>.
344 * grub-core/video/capture.c: Include <grub/misc.h>.
345 * include/grub/command.h: Include <grub/misc.h>.
346 * include/grub/dl.h: Include <grub/misc.h>.
347 * include/grub/procfs.h: Include <grub/misc.h>.
348
1ecf96fc
AB
3492014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
350
351 * configure.ac: Add support for BUILD_EXEEXT and use it ...
352 * Makefile.am: ... here.
353 * Makefile.util.def: ... and here.
354 * grub-core/Makefile.am: ... and here.
355
5ef569df
AB
3562014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
357
358 * include/grub/osdep/hostfile_windows.h: Use _W64 instead of
359 FILE_OFFSET_BITS to differentiate between native MinGW and Mingw W64.
360
3abb9563
VS
3612014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/term/terminfo.c: Recognize keys F1-F12.
364
9b9c4686 3652014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
dcecae1a
AB
366
367 * configure.ac: Add support for BUILD_LDFLAGS.
368 * Makefile.am: Use BUILD_LDFLAGS for build time programs here ...
369 * grub-core/Makefile.am: ... and here.
370 * INSTALL: Mention BUILD_LDFLAGS.
371
ae80f312
VS
3722014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * util/grub-mount.c: Extend GCC warning workaround to grub-mount.
375
7e7293d7
VS
3762014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * grub-core/kern/efi/efi.c: Ensure that the result starts with /
379 and has no //.
380
5acc8020
VS
3812014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * NEWS: Add few missing entries.
384
ff66b8e7
CW
3852014-01-17 Colin Watson <cjwatson@ubuntu.com>
386
387 * util/grub.d/00_header.in (make_timeout): Use && rather than test
388 -a.
389 * util/grub.d/10_windows.in: Likewise.
390 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): Use || rather
391 than test -o.
392 * util/grub.d/30_os-prober.in: Use && rather than test -a, and ||
393 rather than test -o.
394
3952014-01-17 Colin Watson <cjwatson@ubuntu.com>
09a836e5
CW
396
397 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
398 redundant preprocessor conditional.
399
ccd21a65
CW
4002014-01-08 Colin Watson <cjwatson@ubuntu.com>
401
402 * Makefile.util.def (grub-macbless): Change mansection to 8.
403
4d21c101
LL
4042014-01-07 Leif Lindholm <leif.lindholm@linaro.org>
405
406 * grub-core/loader/arm64/linux.c: correctly set device path end length.
407
e7cfa8d5
AB
4082014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
409
410 * util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
411 arm64 to comply with EFI specification. Also use grubaa64.efi for
412 consistency.
413 * util/grub-mkrescue.c: Change to use bootaa64.efi too.
414
94cee4a4
AB
4152014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
416
417 * include/grub/osdep/hostfile_windows.h: Do not redefine fseeko/ftello
418 on MinGW-64 when compiling for 32 bits.
419
668add25
AB
4202013-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
421
422 * grub-core/Makefile.core.def: strip .eh_frame section for arm64-efi.
423
0e309454
VS
4242013-12-30 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * NEWS: Add few missing entries. Correct existing ones.
427
093dec73
VS
4282013-12-28 Vladimir Serbinenko <phcoder@gmail.com>
429
430 Don't abort() on unavailable coreboot tables if not running on coreboot.
431
989af025
AB
4322013-12-28 Andrey Borzenkov <arvidjaar@gmail.com>
433
434 * grub-core/kern/emu/misc.c: Remove unused error.h; fixes compilation
435 on mingw.
436
8442d3e9
CW
4372013-12-28 Colin Watson <cjwatson@ubuntu.com>
438
439 * NEWS: The cmosclean command in fact dates back to 1.99. Remove
440 mention of it from 2.02.
441
645ff636 4422013-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5bda44d7
VS
443
444 * grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
445
446 As these functions are used on pre-ARMv6 CPUs as well we don't want
447 to make assembler assume that architecture is higher than default one.
448
30a33846
CW
4492013-12-27 Colin Watson <cjwatson@ubuntu.com>
450
451 * NEWS: First draft of 2.02 entry.
452
51f941a0
CW
4532013-12-27 Colin Watson <cjwatson@ubuntu.com>
454
455 * INSTALL (Cross-compiling the GRUB): Fix some spelling mistakes.
456 * docs/grub.texi (Getting the source code): Likewise.
457
a6e7719b
AB
4582013-12-25 Andrey Borzenkov <arvidjaar@gmail.com>
459
460 * grub-core/osdep/windows/platform.c (get_platform): Fix EFI
461 detection.
462
e8f07821
VS
4632013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * configure.ac: Set version to 2.02~beta2.
466
dc3286ad
VS
4672013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
470
46f8d358
AB
4712013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
472
473 * util/grub-probe.c: Improve help message and simplify list handling.
474
09c47900
VS
4752013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
476
477 Fix buffer overflow in grub_efi_print_device_path.
478
4d6c6953
VS
4792013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
480
481 Show SATA device path.
482
faf4a65e
VS
4832013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
484
485 Revert grub-file usage in grub-mkconfig.
486
e5fa26e5
VS
4872013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
488
489 Make newly-created files other than grub.cfg world-readable.
490
569766e4
AB
4912013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
492
493 * util/grub.d/00_header.in: Improve compatibility with old config.
494
41272068
VS
4952013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
496
497 Make rijndael.c respect aliasing rules.
498
499 Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
500
f7c7c4d4
VS
5012013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
502
503 Make grub_util_device_is_mapped_stat available in grub-emu core.
504
57bc5d43
VS
5052013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
506
507 Add -Qn to TARGET_CFLAGS if it's supported.
508 Fixes compilation on cygwin.
509
510 Reported by: Andrey Borzenkov.
511 Suggested by: Andrey Borzenkov.
512
6a7957f9
VS
5132013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
514
515 Save TARGET_CC version in modinfo.sh.
516
517 Suggested by: Andrey Borzenkov.
518
e88f0420
VS
5192013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
520
521 Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
522 follow the same algorithm to avoid method mismatch. Don't assume
523 DMRAID- UUID to mean full disk but instead check that mapping is linear.
524
da986226
VS
5252013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
526
527 Declare GRUB_EFI_VENDOR_APPLE_GUID.
528
fba31b5f
VS
5292013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
530
531 Dump type and vendor specific data when printing device path.
532
3d369a01
CW
5332013-12-23 Colin Watson <cjwatson@debian.org>
534
535 Update some documentation to refer to Git rather than Bazaar.
536
537 * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
538 than Bazaar.
539 * po/README: Likewise. Fix spelling mistake.
540
5b83ef97
CW
5412013-12-23 Colin Watson <cjwatson@ubuntu.com>
542
543 Don't distribute config.h.
544
545 * Makefile.am (platform_HEADERS): Move to ...
546 (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
547 failure when building from a distributed tarball.
548
16f7455b
CW
5492013-12-23 Colin Watson <cjwatson@ubuntu.com>
550
551 * configure.ac: Fix spelling.
552 * grub-core/commands/parttool.c: Fix grammar.
553 * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
554 Embedding Partition".
555
808e97c4
VS
5562013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
557
558 ARM64 support for grub-mkrescue.
559
e388db90
VS
5602013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
561
562 Install modinfo.sh to keep build information around.
563
cef39403
VS
5642013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
565
566 * grub-core/modinfo.sh.in: Add build config information.
567
a4d61002
VS
5682013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
569
570 ARM64 grub-file and grub-mkconfig support.
571
0c930a84
VS
5722013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
573
574 Remove leftover options defines.
575
74fa9ac1
VS
5762013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
579
62956fe7
VS
5802013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * grub-core/loader/arm64/linux.c: Add missing bracket.
583
26063216
VS
5842013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
585
586 Add arm64-efi recognition to grub-file.
587
4cd0b55f
VS
5882013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
589
590 Fix ia64-efi recognition in grub-file.
591
95b56e3a
VS
5922013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
593
594 Recognize raspberry pi kernel in grub-file.
595
bbc52c22
VS
5962013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
597
598 Enable cache on ARM U-Boot port.
599
600 Without it the port is reidiculously slow.
601
943981ff
VS
6022013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
603
604 Fix ARM cache maintainance.
605
606 More code was converted from ASM to C for easier handling.
607
adabfb54
VS
6082013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
611 algorithm on v5.
612
613 Suggested by: Leif Lindholm.
614
77ec462a
AB
6152013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
616
617 * util/grub-mkconfig.in: Fix Xen platform conditions.
618
3bf2db89
AB
6192013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
620
621 * util/grub-mkrescue.c: Split single help message string in several
622 strings used in previous shell version.
623
30a9ab95
LL
6242013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
625
626 Add arm64 Linux loader.
627
c415eaa9
LL
6282013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
629
630 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
631
313fb3ce
VS
6322013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
633
634 Add module loading and parsing boot time checkpoints.
635
37f617c0
VS
6362013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
639 platforms.
640
3deedfc0
LW
6412013-12-22 Lars Wendler <polynomial-c@gentoo.org>
642
643 * util/grub-mkconfig.in: Skip non-executable files.
644
5ad9f728
VS
6452013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
646
647 Workaround buggy timer in raspberry pie by using our own timer
648 implementation.
649
eeb84997
VS
6502013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
653 Increase to 16 MiB to allow loading the whole memdisk.
654
0d8b81f8
VS
6552013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
656
657 Fix ARM Linux Loader on non-FDT platforms.
658
bf082198
VS
6592013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * configure.ac: Choose link format based on host_os on emu.
662
0b602bf9
VS
6632013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
666
96650a82
VS
6672013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * grub-core/kern/emu/main.c: Build fix for emu.
670
ca3e2088
VS
6712013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
672
673 Build fixes for argp.h with older gcc.
674
27db1a9b
VS
6752013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
678 in strings.
679
680 Suggested by: David Prévot.
681
8a913e66
VS
6822013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
685
ae558c2c
VS
6862013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
687
688 Enable -Wformat=2 if it's supported.
689
bbac6789
VS
6902013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
693 -Wmissing-declarations if supported.
694
ab216512
VS
6952013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
698 u32 as both HFS and HFS+ have 32-bit inodes.
699
0d4aa91d
VS
7002013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * include/grub/misc.h (grub_strtol): Fix overflow.
703
a997af68
VS
7042013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
707 as return type in both conditionals.
708
36bcaf29
VS
7092013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
712 to use uint8_t for color.
713
74763e96
VS
7142013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * util/misc.c (grub_util_get_image_size): Check for overflow.
717
80b29fc9
VS
7182013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
721 for size.
722
6e327fcd
VS
7232013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
726 for pointer difference.
727
62ce03cf
VS
7282013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * util/import_gcry.py: Skip sample keys.
731
f4d70fd0
VS
7322013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
733
734 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
735
93bf55e6
VS
7362013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * configure.ac: Remove duplicate warning arguments.
739
579ee114
VS
7402013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
741
742 Add missing static qualifiers.
743
ee5283d6
VS
7442013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
745
746 Add missing includes.
747
5dbde526
VS
7482013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
749
750 Inline printf templates when possible to enable format checking.
751
d88ae4f0
VS
7522013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * include/grub/crypto.h: Don't discard const attribute.
755
17b43559
VS
7562013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
759 was intended.
760
76a2a430
VS
7612013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * grub-core/lib/crypto.c: Don't discard const attribute.
764
0d26164e
VS
7652013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/lib/disk.c: Fix potential overflow.
768
2622b1e8
VS
7692013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/lib/arg.c: Don't discard const attribute.
772
05126706
VS
7732013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * grub-core/kern/dl.c: Don't discard const attribute.
776
2f9c4804
VS
7772013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/kern/disk.c: Fix potential overflow.
780
0438ebf1
VS
7812013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * conf/Makefile.common: Don't include non-existing directory
784 grub-core/lib/libgcrypt-grub/include.
785
065adc34
VS
7862013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
787
788 Clarify several translatable messages.
789
496a6b30
DP
7902013-12-21 David Prévot <david@tilapin.org>
791
792 Correct some translatable strings.
793
971038be
CW
7942013-12-21 Colin Watson <cjwatson@ubuntu.com>
795
796 * util/grub-mkrescue.c: Rephrase mkrescue description.
797
bfdfeb25
VS
7982013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
7992013-12-21 Colin Watson <cjwatson@ubuntu.com>
800
801 Clarify several translatable messages.
802
d642d761
CW
8032013-12-20 Colin Watson <cjwatson@ubuntu.com>
804
805 Be more verbose about some configure failures.
806
3bc1b2da
CW
8072013-12-20 Colin Watson <cjwatson@ubuntu.com>
808
809 Fix various build problems on GNU/Hurd.
810
811 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
812 !defined (__GNU__).
813 (xgetcwd): Likewise.
814 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
815 [__GNU__]: Add prototype.
816 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
817 long int using %ld rather than %d.
818
871aa709
VS
8192013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * util/grub-install.c: Inform user about install platform.
822
2fa5a58c
VS
8232013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * configure.ac: Set version to 2.02~beta1.
826
ee281fd0
AP
8272013-12-18 Allen Pais <allen.pais@oracle.com>
8282013-12-18 Bob Picco <bob.picco@oracle.com>
829
830 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
831
2e238b37
VS
8322013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
833
834 Make grub_zlib_decompress handle incomplete chunks.
835
836 Fixes squash4.
837
2984035e
VS
8382013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
841 on i386-multiboot.
842
b9f03772
AN
8432013-12-18 Aleš Nesrsta <starous@volny.cz>
844
845 * grub-core/disk/usbms.c: Retry on unknown errors.
846 Reuse the same tag on retries.
847
e3ef0d30
AN
8482013-12-18 Aleš Nesrsta <starous@volny.cz>
849
850 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
851
852 Avoid confusing them with already completed transfers.
853
72c9a507
VS
8542013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
855
856 Remove xen VFB.
857
858 Due to XEN bug it prevents Linux boot. Remove it at least, until
859 workaround is found.
860
84455670
VS
8612013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * po/exclude.pot: Add 2 missing excludes.
864
64dd5fdc
VS
8652013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
866
867 Add missing license section in macbless.mod and macho.mod.
868
a29f317a
VS
8692013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
870
871 Allow compilation without thumb-interwork as long as no thumb is
872 involved or only thumb2 is used.
873
063f2a04
VS
8742013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
875
876 Use -Wl,--no-relax rather than -mno-relax for uniformity.
877
113f7869
VS
8782013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * INSTALL: Update comment as to why sparc64 clang isn't usable.
881
eba2afed
VS
8822013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
883
884 Add __attribute__ ((sysv_abi)) only if it's really needed.
885
886 Some compilers don't support it.
887
1962ed95
VS
8882013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
891
c2be6f7e
VS
8922013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
893
894 Remove -Wold-style-definition.
895
896 Not very useful and interaction of it with regexp depends on GCC
897 version.
898
7a7f5238
VS
8992013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
900
901 Make grub_util_get_windows_path_real static.
902
9246d5c8
VS
9032013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * grub-core/commands/fileXX.c: Silence cast-align.
906 * grub-core/loader/i386/xen_fileXX.c: Likewise.
907
b3aea1bc
VS
9082013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
911 rather than LL suffix.
912
bc8dd119
VS
9132013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
914
e8c360ca
VS
915 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
916
9172013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/loader/arm/linux.c: Use common initrd functions.
bc8dd119 920
57a691b7
VS
9212013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
922
923 Decrease number of strings to translate.
924
74fa9417
VS
9252013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
928
636977b0
VS
9292013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
930
931 Mark strings for translation and add remaining ones to exclude list.
932
ee4450eb
VS
9332013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * util/grub-file.c (main): Fix sizeof usage.
936
9372013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
a43b3e5d
VS
938
939 Silence spurious warning.
940
ee4450eb 9412013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
81294aff
VS
942
943 Remove check_nt_hiberfil as it's been superseeded by file command.
944
a99c0a32
VS
9452013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * docs/osdetect.cfg: Add isolinux config to detected OSes.
948
8f5add13
VS
9492013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
950
951 Implement syslinux parser.
952
8ff35d0a
VS
9532013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
956
ba144760
VS
9572013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
958
959 Support cpuid --pae.
960
daaa89db
VS
9612013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
962
963 Use AT keyboard on Yeeloong 3A.
964
25a7863d
VS
9652013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
966
967 Add Yeeloong 3A reboot and halt.
968
184c61dd
VS
9692013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
970
971 Add Radeon Yeeloong 3A support.
972
fd4650a5
VS
9732013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
974
975 Add bonito 3A support.
976
3e88fbfa
VS
9772013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
980
1123bed9
VS
9812013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
984
ebda165f
VS
9852013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/loader/macho.c: Fix compilation on non-i386.
988
fe7c20bf
VS
9892013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
990
991 Add missing format_arg attribute to check that printf with translated
992 messages has proper arguments.
993
f4dab3d1
VS
9942013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
995
996 Use grub_xasprintf to format translated error messages containing
997 64-bit quantity.
998
24d5934d
JM
9992013-12-17 Jon McCune <jonmccune@google.com>
1000
1001 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
1002
d6c2782a
VS
10032013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 Unify message for unsupported relocation.
1006
50d2e959
VS
10072013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 Mark miscompile error for translation.
1010
18e76955
VS
10112013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 Use %I64 and not %ll when using OS printf if compiling for windows.
1014
d218ec97
VS
10152013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 Update Mac code to match new register_efi prototype.
1018
b8765fa0
VS
10192013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 Implement better integration with Mac firmware.
1022
1f032575
VS
10232013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * grub-core/loader/multiboot_mbi2.c: Implement special value for
1026 load_addr.
1027
14829755
VS
10282013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 Include serial module in default_payload.elf.
1031
d45067a2
VS
10322013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 Add explicit thumb interwork bx in asm files.
1035
1036 Shouldn't matter for armv >= 5 but let's be safe.
1037
30861754
VS
10382013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 Implement Truecrypt ISO loader.
1041
e14d409b
VS
10422013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * grub-core/lib/arg.c: Ensure at least a single space between commands.
1045
ec824e0f
VS
10462013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 Implement grub_file tool and use it to implement generating of config
1049 in separate root.
1050
296f7606
VS
10512013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 Change to v1 xen grants.
1054
2c384f1e
VS
10552013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
1058
1059 GRUB relied on %ebx being preserved across hypercall which isn't true.
1060
d16ff589
VS
10612013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
1064
1065 GRUB relied on %rdi being preserved across hypercall which isn't true.
1066
71669c3b
VS
10672013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 Implement XEN VFB support.
1070
60d1dd3d
VS
10712013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 Remove grub_bios_interrupt on coreboot.
1074
1075 It's not used currently and cannot be used safely currently.
1076
a8201050
VS
10772013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 Update exclude.pot and mark few strings for translation.
1080
6cc89597
VS
10812013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
1084
1085 Reported by: Jon McCune
1086
840a2c05
AB
10872013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1088
1089 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1090 Add verbose information which firmware directories were tried.
1091
35248820
AB
10922013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1093
1094 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
1095 function to optionally redirect all three standard descriptors.
1096 Redefine grub_util_exec, grub_util_exec_redirect and
1097 grub_util_exec_redirect_null to use it.
1098 * include/grub/emu/exec.h: Define it.
1099 * include/grub/osdep/exec_unix.h: Delete, it is unused.
1100 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1101 Use grub_util_exec_redirect_all to redirect error to NULL.
1102
2a123f4c
VS
11032013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/tests/sleep_test.c: Silence spurious warning.
1106
316c8d9a
VS
11072013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
1110 linker trying to "fixup" the code.
1111
8fcce8d5
VS
11122013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * grub-core/kern/x86_64/xen/startup.S: Align stack.
1115
6f1f6a0c
VS
11162013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 Add support for converting PE+ to Elf64.
1119
66a07ce2
VS
11202013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
1123
cc6fb517
VS
11242013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 Remove practice of assigning random const pointers to device id.
1127
1128 This is not required as cache code already checks driver id as well.
1129
f009f07c
VS
11302013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
1133 with mingw.
1134
9fdec226
VS
11352013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * include/grub/efi/api.h: Don't use call wrappers when compiled with
1138 mingw or cygwin as API already matches.
1139
d87cb3ae
VS
11402013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
1143
3e38c31a
VS
11442013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
1147 not on long.
1148
f4171ebd
VS
11492013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 Handle X86_64_PC64 relocation.
1152
1153 Those are generated by some cygwin compilers.
1154
252a289c
VS
11552013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 Determine the need for mingw-related stubs at compile time rather than
1158 using not very significant $target_os.
1159
23d2abc3
VS
11602013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
1163 may not work with ELF.
1164
4f979ccb
VS
11652013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 Use unix functions for temporary files and special files on cygwin.
1168
37378f74
VS
11692013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 Define functions explicitly rather than using --defsym in tests
1172 whenever possible. Respect locality in remaining cases.
1173
6a09d83e
VS
11742013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
1177
e477187b
AB
11782013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
1179
1180 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
1181 unlikely errors when getting EFI variables and make exhaustive search
1182 for all BootNNNN variables to find matching one.
1183
80b865bd
IC
11842013-12-15 Ian Campbell <ijc@hellion.org.uk>
1185
1186 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
1187
04b02857
VS
11882013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 New functional test for sleep function.
1191
1192 This test allows to check sleep without qemu. Keep qemu version as
1193 well as functional test won't notice if all clocks are going too fast
1194 or too slow.
1195
39711101
VS
11962013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 Add explicit sysv_abi on amd64 asm routines.
1199
d99af4f0
VS
12002013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
1203 num_table_entries.
1204
71043684
VS
12052013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
1208 functions.
1209
111bf5db
VS
12102013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
1213 appropriate.
1214
24ca71c9
VS
12152013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
1218
48ba5c0c
VS
12192013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
1222 appropriate.
1223
8ae67045
VS
12242013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
1227
1228 In case of quick removal of loopback and adding another one it may
1229 get same ID, confusing the cache system.
1230
ed559310
VS
12312013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
1234 appropriate.
1235
8fa26279
VS
12362013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
1239 than converting to long.
1240
6f5f3337
VS
12412013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
1244
e7c418c5
VS
12452013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
1248 than almost useless pointer.
1249
7e47e27b
VS
12502013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 Add gcc_struct to all packed structures when compiling with mingw.
1253
1254 Just "packed" doesn't always pack the way we expect.
1255
ae8159b9
VS
12562013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
1259
74e7ad66
VS
12602013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * util/grub-pe2elf.c: Fix handling of .bss.
1263
814442ba
VS
12642013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 Implement windows flavour of EFI install routines.
1267
5f5bb107
VS
12682013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
1271
a24725cc
VS
12722013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 Change grub_install_register_efi interface to pass GRUB device.
1275
1276 This allows grub_install_register_efi to request partition info
1277 directly.
1278
38933cee
VS
12792013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
1282
6d3cfe50
VS
12832013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 Do not use TCHAR string functions as they are not available on cygwin.
1286
4bad23a1
VS
12872013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 Workaround windows bug when querying EFI system partition parameters.
1290
6a5fe132
VS
12912013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
1294 by using bitfields.
1295
bc8fcf4b
VS
12962013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
1299
60b967be
VS
13002013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 Make i386-* other than i386-pc compileable under cygwin.
1303
6dc33377
VS
13042013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 Fix definition of grub_efi_hard_drive_device_path. Take care that
1307 existing code would work even if by some reason bogus definition is
1308 used by EFI implementations.
1309
f2c6ff15
VS
13102013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
1313
6b8a1625
VS
13142013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
1317 invocation.
1318
954c723a
VS
13192013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * util/config.c: Remove trailing newline from distributor in simple
1322 parsing.
1323
607a39f9
VS
13242013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * include/grub/efi/api.h: Rename protocol and interface to avoid
1327 conflict.
1328
df6fedca
VS
13292013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1330
ba584da1 1331 * .gitignore: add .exe variants. add missing files. remove few outdated
df6fedca
VS
1332 entries.
1333
f684d7e1
VS
13342013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/osdep/exec.c: Use unix version on cygwin.
1337
0df77d79
VS
13382013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 Implement multiboot2 EFI BS specification.
1341
dafff9ce
VS
13422013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * grub-core/normal/charset.c: Fix premature line wrap and crash.
1345 Crash happened only in some cases like a string starting at the
1346 half of the screen of same length.
1347
6644d973
VS
13482013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
1351 with EFI counterpart.
1352
44bbfa33
VS
13532013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 Propagate the EFI commits to x86-efi specific parts.
1356
3e3dff24
VS
13572013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * grub-core/commands/efi/lssal.c: Fix terminating condition.
1360
316dda71
VS
13612013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 Introduce grub_efi_packed_guid and use it where alignment is not
1364 guaranteed.
1365
219401b8
VS
13662013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 * include/grub/efi/api.h (grub_efi_device_path): Define length as
1369 unaligned u16 rather than u8[2].
1370
30d00537
VS
13712013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
1374 for relocation range.
1375
979742bc
VS
13762013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
1379 non-function pcrel21b relocation. It happens with .text.unlikely
1380 section.
1381
16c8f785
LL
13822013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1383
1384 * make MAX_USABLE_ADDRESS platform-specific
1385 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
1386
3f1423e7
LL
13872013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1388
1389 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
1390
dd73313c
JM
13912013-12-09 Jon McCune <jonmccune@google.com>
1392
1393 * Add --no-rs-codes flag to optionally disable reed-solomon codes
1394 in grub-install and grub-bios-setup for x86 BIOS targets.
1395
eaf01c25
VS
13962013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 Add missing compile and link options for sparc64-emu.
1399
7a148da6
VS
14002013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 Implement sparc64 trampolines (needed for sparc64-emu).
1403
21eee750
VS
14042013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
1407 range of R_SPARC_HI22.
1408 Implement R_SPARC_LM22.
1409
7b54b626
VS
14102013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
1413 Do not explicitly check for symbol table as it's already checked in
1414 platform-independent layer.
1415
9a945e2a
VS
14162013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
1419 on ia64 as __clear_cache is a dummy on ia64.
1420
4f4ea1b4
VS
14212013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1424 Do not explicitly check for symbol table as it's already checked in
1425 platform-independent layer.
1426
fe4ae213
CW
14272013-12-09 Colin Watson <cjwatson@ubuntu.com>
1428
1429 * util/grub-mkconfig.in: Add missing newline to output.
1430
78b2b0a1
VS
14312013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
1434 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
1435
d14772c4
VS
14362013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
1439 compilation with GCC <= 4.2.
1440 * grub-core/kern/emu/argp_common.c: Likewise.
1441
388f3cd0
VS
14422013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
1445 right platform rather than leaking to sparc64-emu.
1446
11e4167a
VS
14472013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
1450 But ensure that the variables in question are indeed unsigned.
1451
fa7eb63d
VS
14522013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
1455
50b3a68d
VS
14562013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 Remove grub_memalign on emu.
1459
fbbfb6ab
VS
14602013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
1463 truncate incomplete lines but instead flushes them.
1464
a19293cb
VS
14652013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
1468 and implement windows variant.
1469
d5c14e1e
VS
14702013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 Fix mips-emu compilation.
1473
b75db69a
VS
14742013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * configure.ac: Check for freetype library usability.
1477
c311ced5
VS
14782013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 Make arm-emu work.
1481
c8fd2ddf
VS
14822013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
1485
c50e5f45
AB
14862013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1487
1488 * docs/grub.texi (Environment): Update color_normal and color_highlight
1489 defaults (light-gray instead of white).
1490
bb05e313
AB
14912013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1492
1493 * grub-core/normal/main.c (INIT): Set default color to light-gray
1494 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
1495 and apparently BIOS defaults.
1496
f23bc651
VS
14972013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 Transform -C option to grub-mkstandalone to --core-compress available
1500 in all grub-install flavours.
1501
4c4ea9c7
VS
15022013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 Merge GRUBFS and GRUB_FS variables.
1505
92e9352d
AB
15062013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1507
1508 Revert commit 69ca97c820, it caused failures when using OS device name
1509 in grub-install. Instead just strip off parenthesis in grub-install
1510 if (hdX) was passed.
1511
f585c905
AB
15122013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1513
1514 * util/grub-install.c (push_partmap_module): Add helper to convert
1515 partmap names to module names and use it in probe_mods(). Fixes
1516 failure to find partmap modules in diskfilter case.
1517
5ff24907
VS
15182013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * configure.ac: Make unifont mandatory on coreboot.
1521
0277eab7
VS
15222013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * configure.ac: Skip unifont 6.3 pcf and bdf.
1525
4861b6c8
VS
15262013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * Makefile.am: Remove partial font files if generation failed.
1529
3100cdc7
AB
15302013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1531
1532 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
1533 strings.
1534 * include/grub/util/misc.h: Define it ...
1535 * util/grub-install.c (device_map_check_duplicates): ... and use it.
1536
ad73cc33
AB
15372013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1538
1539 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
1540 ${grub_probe}.
1541
41822625
VS
15422013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 Don't add -mlong-calls when compiling with clang.
1545
896f483d
VS
15462013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * configure.ac: Fix a typo.
1549
8c534b85
VS
15502013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 Revamp relocation handling.
1553
1554 Move more code to common dl.c. Add missing veneers for arm and arm64.
1555 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
1556
a846dd4b
VS
15572013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
1560
aa437b58
MG
15612013-12-05 Mike Gilbert <floppym@gentoo.org>
1562
1563 * INSTALL: Raise minimum python version to 2.6.
1564 * gentpl.py: Use python3-style print function.
1565
b0f311f4
VS
15662013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * util/grub-install.c: Mention Boot* variable.
1569
59b38922
CW
15702013-12-05 Colin Watson <cjwatson@ubuntu.com>
1571
1572 * grub-core/osdep/linux/hostdisk.c
1573 (grub_util_find_partition_start_os): Initialise start to avoid
1574 spurious compiler warning.
1575
0480665b
CW
15762013-12-05 Colin Watson <cjwatson@ubuntu.com>
1577
1578 On Linux, read partition start offsets from sysfs if possible, to
1579 cope with block device drivers that don't implement HDIO_GETGEO.
1580 Fixes Ubuntu bug #1237519.
1581
1582 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
1583 function.
1584 (sysfs_partition_start): Likewise.
1585 (grub_util_find_partition_start_os): Try sysfs_partition_start
1586 before HDIO_GETGEO.
1587
bbeee1c4
LL
15882013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
1589
1590 * grub-core/kern/fdt.c: Update struct size when adding node.
1591
e5ed2f69
VS
15922013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 Handle unaligned .bss on sparc64.
1595
1596 Current code improperly assumes that both __bss_start and _end are
1597 aligned to 8-bytes. Eliminating this assumption and explicitly align
1598 modules.
1599
4a73746a
VS
16002013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
1603 so it doesn't land in the middle of loaded image.
1604
382b500e
VS
16052013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * configure.ac: Move all warning options that may be absent in
1608 gcc >= 3.1 to optional.
1609
1610 Note: while this allows to compile with older GCC, official requirements
1611 remain the same and no support for older GCC.
1612
3a82f8bb
CW
16132013-12-04 Colin Watson <cjwatson@ubuntu.com>
1614
1615 Copying the themes directory in grub-shell isn't
1616 parallel-test-friendly and breaks on the second test when the source
1617 directory is read-only (as in "make distcheck"). Instead, add a
1618 hidden --themes-directory option to grub-mkrescue et al, and use it
1619 in grub-shell.
1620
e3046431
VS
16212013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
1624 as it's no longer necessarry.
1625
bdb6090d
VS
16262013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * configure.ac: Allow compilation with older GCC for ARM.
1629
b73b70eb
VS
16302013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
1633 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
1634 ppc.
1635
8a3f0a24
VS
16362013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
1639
6f07c4e4
VS
16402013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 Pass font config to config.h and not by TARGET_CFLAGS as adding
1643 arguments doesn't work if TARGET_CFLAGS is specified on command
1644 line.
1645
60d5e9cb
VS
16462013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * configure.ac: Add -Wvla if compiler supports it.
1649
cd15c394
VS
16502013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
1653 Remove variable length arrays.
1654 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
1655
bb6e299c
VS
16562013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
1659
85eb579a
VS
16602013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 * include/grub/types.h: Declare all byteswaps as inline functions
1663 except compile-time ones.
1664
1665 Solves variable shadowing in constructions like
1666 cpu_to_le (le_to_cpu(x) + 1).
1667
47f88cc9
VS
16682013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * grub-core/kern/efi/efi.c: Remove variable length arrays.
1671
40b5739f
VS
16722013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
1675 minutes.
1676
234d9346
VS
16772013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
1680 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1681
0c0eab52
CW
16822013-12-03 Colin Watson <cjwatson@ubuntu.com>
1683
1684 * grub-core/Makefile.core.def (setjmp): Distribute
1685 lib/arm64/setjmp.S.
1686
44d48847 16872013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
1688
1689 Add a new timeout_style environment variable and a corresponding
1690 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
1691 controls hidden-timeout handling more simply than the previous
1692 arrangements, and pressing any hotkeys associated with menu entries
1693 during the hidden timeout will now boot the corresponding menu entry
1694 immediately.
1695
1696 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
1697 generates a warning, and if it shows the menu it will do so as if
1698 the second timeout were not present. Other combinations are
1699 translated into reasonable equivalents.
1700
10955cda
CW
1701 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
1702
9e4e6ddf
VS
17032013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * util/config.c: Add missing pointer adjustment.
1706 Reported by: qwertial
1707
5037aa9a
AB
17082013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1709
1710 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
1711 directly, not via `cpu' link, to fix libgrub.pp generation.
1712
8a952d20
VS
17132013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
1714
1715 New port arm64-efi.
1716
be0d4555
AB
17172013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1718
1719 * docs/grub.texi (sleep): Document exit codes.
1720
d74b9a1d
VS
17212013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 Ensure that -mno-unaligned-access or some equivalent option is used.
1724
35de6d4b
VS
17252013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
1728 -march=armv3.
1729
ce55ed03
VS
17302013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
1733
8ddf84bf
CW
17342013-11-29 Colin Watson <cjwatson@ubuntu.com>
1735
1736 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
1737 builds, since we don't have an EPS version of font_char_metrics.png.
1738 Add leading dot to image extension per the Texinfo documentation.
1739
fd0df6d0
CW
17402013-11-29 Colin Watson <cjwatson@ubuntu.com>
1741
1742 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
1743 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
1744 * util/grub-gen-widthspec.c: Likewise.
1745 * util/grub-mkfont.c: Likewise.
1746
69ca97c8
AB
17472013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
1748
1749 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
1750 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
1751 failed to install on (hdX).
1752 * util/grub-setup.c (get_device_name): Remove, not needed after
1753 above change.
1754
eec893ae
VS
17552013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
1758
621e167f
VS
17592013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * util/grub-fstest.c: Remove variable length arrays.
1762
d54f647a
VS
17632013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * grub-core/osdep/linux/ofpath.c: Check return value of read.
1766
c8a0f1b2
VS
17672013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1770 computing crc32 rather than handling with md fundtions directly.
1771
726409a5
VS
17722013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1775 checking fwstart.img rather than md fundtions directly.
1776
422e6e88
VS
17772013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * util/grub-mkrescue.c (main): Check that fread succeeded.
1780
af1faca3
VS
17812013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * conf/Makefile.common: Remove -mexplicit-relocs and
1784 -DUSE_ASCII_FALLBACK on yeeloong.
1785
1786 -DUSE_ASCII_FALLBACK is already added by font snippets.
1787 -mexplicit-relocs isn't needed is compiler/assemblera are
1788 configured properly.
1789 If they're not we shouldn't attempt to fix it by ourselves.
1790 Binary compare between before and after shows no difference.
1791
469021b4
VS
17922013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
1795 sources in dependencies directly.
1796
1797 This was the only instance of "library" in core config. A bug was
1798 reported that -fno-stack-protector wasn't passed to it. Instead of
1799 figuring out why it failed just remove this construction used
1800 needlessly.
1801
83c256ba
VS
18022013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * grub-core/osdep/unix/password.c (grub_password_get): Check that
1805 fgets succeeded.
1806
b67422d3
FL
18072013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
1808
1809 * docs/grub.texi (ls): Fix command description in case of a device name
1810 passed as argument.
1811
2d76b4d8
VS
18122013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 Eliminate variable length arrays in grub_vsnprintf_real.
1815
1816 A bit tricky because this function has to continue to work without
1817 heap for short strings. Fixing prealloc to 32 arguments is reasonable
1818 but make all stack references use 32-bit offset rather than 8-bit one.
1819 So split va_args preparsing to separate function and put the prealloc
1820 into the caller.
1821
4f954122
VS
18222013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
1825 Fixes build for windows.
1826
b1f742c1
VS
18272013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * gentpl.py: Don't generate platform-dependent conditionals for
1830 platform-independent targets.
1831
16ef26fd
CW
18322013-11-27 Colin Watson <cjwatson@ubuntu.com>
1833
1834 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
1835 references to mdadm from otherwise generic code.
1836 (grub_util_exec_pipe): Likewise.
1837 (grub_util_exec_pipe_stderr): Likewise.
1838 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
1839 This function calls vgs, not mdadm; adjust variable names
1840 accordingly.
1841
cf8c80ff 18422013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
1843
1844 Generate Makefile.*.am directly from gentpl.py, eliminating the use
1845 of Autogen. The Autogen definitions files remain intact as they
1846 offer a useful abstraction.
1847
5c7206e4
CW
18482013-11-27 Colin Watson <cjwatson@ubuntu.com>
1849
1850 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
1851 into no-ops, and use it in programs that copy files but do not need
1852 to take special care to sync writes (grub-mknetdir, grub-rescue,
1853 grub-mkstandalone).
1854
fc3f2b72
CW
18552013-11-26 Colin Watson <cjwatson@ubuntu.com>
1856
1857 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
1858 than hardcoding /usr/local/bin/xorriso.
1859
1e4b3587
VS
18602013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 Add PCI command activation to all PCI drivers as required for coreboot
1863 and maybe some other firmwares.
1864
9208367d
VS
18652013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
1868 and non-Apple variants of efiemu compile.
1869
67b9b7af
AB
18702013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
1871
1872 * configure.ac: Add explicit check for linking format of
1873 efiemu64; save it as EFIEMU64_LINK_FORMAT.
1874 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
1875 hardcoding linking format.
1876
bee1b5ce
VS
18772013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
1880 and not pkgdatadir.
1881
07e3b047
CW
18822013-11-25 Colin Watson <cjwatson@ubuntu.com>
18832013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 Add a --locale-directory option to grub-install and related tools.
1886
1887 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
1888 --locale-directory option.
1889 (enum grub_install_options): Add
1890 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1891 * util/grub-install-common.c (grub_install_help_filter): Handle
1892 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1893 (grub_install_parse): Likewise.
1894 (get_localedir): New function to check for a user-provided option
1895 before trying grub_util_get_localedir.
1896 (copy_locales): Use get_localedir rather than
1897 grub_util_get_localedir. Handle differing locale directory layouts.
1898 (grub_install_copy_files): Likewise.
1899
61e1b9a4
VS
19002013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
1903 Don't rely on PATH_MAX.
1904
c98dd165
VS
19052013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/genmoddep.awk: Use more portable && rather than and.
1908
ff1c277e
VS
19092013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
1912 an object after data. While it doesn't seem right solution, it
1913 works well enough and OSX isn't main compilation platform.
1914
c8f7614b
VS
19152013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
1918 While it doesn't seem right solution, it works well enough and
1919 OSX isn't main compilation platform.
1920
246a434f
VS
19212013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * configure.ac: Add -static to LDFLAGS when using apple linker to
1924 prevent it from pulling in dynamic linker.
1925
5c066a81
VS
19262013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 Apple assembly doesn't handle symbol arithmetic well. So define an
1929 offset symbol in boot.S and use it.
1930
78f961ef
VS
19312013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 Apple assembly doesn't handle symbol arithmetic well. So instead
1934 of getting addres of kernel_sector + 4 define kernel_sector_high.
1935 It also makes code more readable.
1936
09bc0a57
VS
19372013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 With Apple assembly in .macro environvemnt you have to use $$ instead
1940 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
1941 to $$x on Apple and to $x on everything else.
1942
b700a427
VS
19432013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
1946 OBJCONV.
1947
4480b95d
VS
19482013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
1951 and non-Apple. This instruction is shorter and faster,
1952 so no reason not to use it on both.
1953
e77c81f6
VS
19542013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
1957 .text when compiling for Apple.
1958
971dbee5
VS
19592013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/term/arc/console.c: Add missing cast to silence warning.
1962
6f2e82be
VS
19632013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
1966 %dx restore the probe worked on non-existant drive. Reorganize the
1967 code a little bit to free 2 bytes necessary for push/pop.
1968
9eec9699
VS
19692013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1972 Add missing cast to silence warning.
1973
5ae5c54c
KPA
19742013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
1975
1976 * util/grub-install.c (update_nvram): Support --no-nvram flag
1977 for EFI targets.
1978
7b04fe6c
VS
19792013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
1982
e67566ce
VS
19832013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * util/garbage-gen.c: Add missing include of sys/time.h.
1986
f93ddcfd
VS
19872013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 Don't add -mflush-func if it's not supported by compiler.
1990
1bba40f5
VS
19912013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 Move common BIOS/coreboot memory map declarations to
1994 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
1995
f65e14dc
AB
19962013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
1997
1998 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
1999
14a94bba
VS
20002013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * INSTALL: Document why older clang versions aren't appropriate.
2003
8109c5d4
VS
20042013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * INSTALL: Document about clang for mips.
2007
a92b5cb8
VS
20082013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
2011 clang.
2012
4a23e2fe
VS
20132013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 Add *-xen to the list of grub-install-common platforms.
2016
a3ba7410
VS
20172013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
2020 3 last commits.
2021
e1c22419
VS
20222013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
2025
189090ce
VS
20262013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
2029 with -mcmodel=large.
2030
1a5b7b40
VS
20312013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
2034 range-checking for 32-bit quantities.
2035
9cf12b20
VS
20362013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * configure.ac: Compile with -fPIC when compiling with clang on
2039 mips.
2040
63a45330
VS
20412013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
2044 when compiling with clang.
2045
4a0aaad0
VS
20462013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 clang emits calls to abort () under some unknown conditions.
2049 Export abort () when compiling with clang.
2050
095bb1bf
VS
20512013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * docs/grub-dev.texi: Document stack and heap sizes.
2054
3937bd96
VS
20552013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * include/grub/i386/pc/memory.h: Decrease
2058 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
2059 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
2060 The binary doesn't change (checked). It's more to better reflect actual
2061 usage.
2062
ddb3efc9
VS
20632013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
2066 at compile time that enough of scratch size is available.
2067
4e42521d
VS
20682013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
2071 Previously we misaligned stack by 8 in startup.S and compensated
2072 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
2073 right behaviour is to align stack in startup.S and keep it aligned
2074 in callwrap.S. startup.S part was committed few commits before. This
2075 takes care of callwrap.S.
2076 Reported by: Gary Lin.
2077
054efe54
VS
20782013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
2081 .data and .bss. May happen if compiler and assembly use different
2082 alignment.
2083
a0e1befb
VS
20842013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 On MIPS handle got16 relocations to local symbols in an ABI-compliant
2087 way.
2088
c36c73f6
VS
20892013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 Add support for a new magic symbol _gp_disp on mips to handle PIC
2092 binaries.
2093
6f4a19f5
VS
20942013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 Use $t9 for indirect calls from asm to C as PIC ABI requires.
2097
0d8f04cd
VS
20982013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
2101 when rest of GRUB is compiled for hisher stepping. Instead use
2102 .set mips3/.set mips1 around cache and sync opcodes.
2103
49060520
VS
21042013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
2107 do essentially the same thing, do it in similar way.
2108
c6a823e2
CW
21092013-11-21 Colin Watson <cjwatson@ubuntu.com>
2110
2111 * util/grub-mkrescue.c (main): If a source directory is not
2112 specified, read platform-specific files from subdirectories of
2113 pkglibdir, not pkgdatadir.
2114
b7f9aedf
CW
21152013-11-21 Colin Watson <cjwatson@ubuntu.com>
2116
2117 * grub-core/normal/progress.c: Remove unused file.
2118
7dd0a303
VS
21192013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
2122 array.
2123
ca120e31
VS
21242013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
2127 than grub.cfg.
2128
48eb35cd
VS
21292013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * coreboot.cfg: Add missing file.
2132
7f20dbbc
VS
21332013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * Makefile.am: Allow STRIP to be empty when creating windowszip.
2136
55e706c9
AK
21372013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
2138
2139 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
2140 selectively skipping systems.
2141
4e7d433d
CW
21422013-11-19 Colin Watson <cjwatson@ubuntu.com>
2143
2144 * Makefile.util.def (grub-mkimage): Add
2145 grub-core/osdep/aros/config.c to extra_dist.
2146 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
2147 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
2148 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
2149 grub-core/gnulib-no-gets.diff.
2150
7d44ff7d
VS
21512013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 Add automated filesystem checking based on scripts I've used now for
2154 quite some time locally. Most of the test require root so they are
2155 skipped when run without necessarry privelegies.
2156
a8c3e5e3
CW
21572013-11-19 Colin Watson <cjwatson@ubuntu.com>
2158
2159 * util/grub-install.c (main): Adjust info messages to match
2160 installed paths of grub-bios-setup and grub-sparc64-setup.
2161
4402db3e
CW
21622013-11-19 Colin Watson <cjwatson@ubuntu.com>
2163
2164 * util/grub-install-common.c (copy_locales): Consistently use
2165 grub_util_get_localedir () rather than LOCALEDIR.
2166 (grub_install_copy_files): Likewise.
2167
7960d3e1
JT
21682013-11-19 Josh Triplett <josh@joshtriplett.org>
2169
2170 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
2171 16-byte boundary, as required by the x86-64 ABI, before calling
2172 grub_main. In some cases, GCC emits code that assumes this
2173 alignment, which crashes if not aligned. The EFI firmware is also
2174 entitled to assume that stack alignment without checking.
2175
d53f4900
JT
21762013-11-18 Josh Triplett <josh@joshtriplett.org>
2177
2178 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
2179 4k page boundaries as expected by firmware rather than 1k
2180 boundaries.
2181 (grub_mmap_malign_and_register): Likewise.
2182
bb2b275b
VS
21832013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
2186 fragmentation 512M is enough.
2187
45bf8b3a
VS
21882013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
2191 pointer to 32K. This is the size of cache element which is the most
2192 common allocation >1K. This way the pointer is always around blocks
2193 of 32K and so we keep performance while decreasing fragmentation.
2194
39ff43c5
VS
21952013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
2198 current memory when allocating large chunks. This significantly
2199 decreases memory fragmentation.
2200
60870be8
CW
22012013-11-18 Colin Watson <cjwatson@ubuntu.com>
2202
2203 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
2204 but for symmetry).
2205 * tests/lzocompress_test.in: Skip if lzop is not installed.
2206 * tests/xzcompress_test.in: Skip if xz is not installed.
2207
a1f00cc5
CW
22082013-11-18 Colin Watson <cjwatson@ubuntu.com>
2209
2210 * util/grub-mkrescue.c (main): Fix typo.
2211
74e632fe
VS
22122013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
2215 clock frequency to 200 MHz,
2216
efb8de49
VS
22172013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * tests/util/grub-shell.in: Increase console size to 1024x1024.
2220
b7526e78
VS
22212013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * Makefile.am (default_payload.elf): Add pata to loaded modules.
2224 Load config file from (cbfsdisk)/etc/grub.cfg.
2225
b40ce651
VS
22262013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * util/grub-install-common.c (grub_install_copy_files): Fix module
2229 destination directory.
2230
1e8e2e78
CW
22312013-11-18 Colin Watson <cjwatson@ubuntu.com>
2232
2233 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
2234 files have not been built.
2235
3bf4088b
CW
22362013-11-18 Colin Watson <cjwatson@ubuntu.com>
2237
2238 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
2239 Handle errors from mkstemp.
2240 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
2241
35c2851c
VS
22422013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
2245 on primary master on pseries.
2246
ea7c1a7d
VS
22472013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
2250 already loaded. This saves memory needed for tests,
2251
96adefdb
VS
22522013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
2255 work again.
2256
5e3cb8a7
VS
22572013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
2260 work again.
2261
256ee7ac
VS
22622013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
2265 master since with some combinations of qemu and firmware only primary
2266 IDE channel is available.
2267
f8b4c3b6
VS
22682013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
2271 low-memory platforms where we don't have enough memory for them.
2272 * grub-core/tests/videotest_checksum.c: Likewise.
2273
4bf70320
VS
22742013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
2277 already loaded. This saves memory needed for tests,
2278
a284320e
VS
22792013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 Fix handling of install lists.
2282
2df8f43d
VS
22832013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
2286
6f1bc8bc
VS
22872013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 On i386-ieee1275 we run in paged mode. So we need to explicitly map
2290 the devices before accessing them.
2291
04f39f6d
VS
22922013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
2295 as file argument.
2296
35d4761c
VS
22972013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
2300
33d02a42
VS
23012013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
2304 (grub_file_close): Free file->name.
2305
7bbb60cf
VS
23062013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/commands/verify.c (free_pk): Plug memory leak.
2309 (grub_load_public_key): Likewise.
2310 (grub_verify_signature_real): Likewise.
2311 (grub_cmd_verify_signature): Likewise.
2312
da93d675
VS
23132013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
2316 memory leak.
2317
59c943ec
VS
23182013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
2321 (grub_longjmp): Restore r31.
2322 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
2323
4336b5d8
VS
23242013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
2327 modules to be in line with make_image_abs.
2328
44ce3a93
VS
23292013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
2332
2333 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
2334
7d400406
IC
23352013-11-17 Ian Campbell <ijc@hellion.org.uk>
2336
2337 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
2338
77dae919
VS
23392013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
2342 to leave some memory to firmware.
2343
0ab8e025
VS
23442013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
2347 of loading gfxterm as gfxterm is embed in kernel on some platforms.
2348 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
2349 Load gfxmenu.
2350
b80c2d6d
VS
23512013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
2354 now needs full arguments.
2355
6aa6077b
VS
23562013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 * util/grub-mkrescue.c (main): Add trailing \n in
2359 .disk_label.contentDetails to be in line with previous shell script.
2360
66c00cb1
VS
23612013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
2364
3a129dba
VS
23652013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * util/grub-install-common.c (grub_install_parse): Recognize
2368 --compress=none like shell script did.
2369
8df6eff6
VS
23702013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * include/grub/misc.h: Replace check for __sparc64__ with one for
2373 __sparc__ as __sparc64__ isn't actually defined.
2374
889ebe92
VS
23752013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
2378 counterpart of fixing the naming of escc ports.
2379
d4d55b29
VS
23802013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * util/grub-install-common.c (platforms): Fix the order of entries and
2383 remove useless field val.
2384
55e2c84f
VS
23852013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * util/grub-install.c: Add new option --no-bootsector to skip
2388 installing of bootsector. Accept --grub-setup=/bin/true as
2389 backwards-compatible synonym.
2390
cd46aa6c
VS
23912013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2392
2393 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
2394 order of qsort arguments (number of elements vs. element size).
2395
23962013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
2399 the function of these files exceeds what can be sanely handled in shell
2400 in posix-comaptible way. Also writing it in C extends the functionality
2401 to non-UNIX-like OS and minimal environments.
2402
9ef81064
VS
24032013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
2406 compiling to thumb2.
2407 * grub-core/kern/arm/cache_armv7.S: Likewise.
2408 * grub-core/lib/arm/setjmp.S: Likewise.
2409
11a77932
LL
24102013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2411
2412 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
2413 in grub_uboot_syscall
2414
080603f0
VS
24152013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 Decrease stack usage in lexer.
2418
2419 We have only 92K of stack and using over 4K per frame is wasteful
2420
2421 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
2422 as macros so that compiler would remove useless structure on stack.
2423 Better solution would be to fix flex not to put this structure on
2424 the stack but flex is external program.
2425
4f84ae0e
VS
24262013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 Decrease stack usage in signature verification.
2429
2430 We have only 92K of stack and using over 4K per frame is wasteful
2431
2432 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
2433 rather than stack.
2434 (grub_verify_signature_real): Likewise.
2435
e6a6182d
VS
24362013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 Decrease stack usage in mdraid 0.9x.
2439
2440 We have only 92K of stack and using over 4K per frame is wasteful
2441
2442 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
2443 rather than stack.
2444
1a454efe
VS
24452013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 Decrease stack usage in BtrFS.
2448
2449 We have only 92K of stack and using over 4K per frame is wasteful
2450
2451 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
2452 rather than stack.
2453
7b5d51d8
VS
24542013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 Decrease stack usage in JFS.
2457
2458 We have only 92K of stack and using over 4K per frame is wasteful
2459
2460 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
2461 stack. Note: this function is recursive.
2462 (grub_jfs_read_inode): Read only part we care about.
2463
593865b9
LL
24642013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2465
2466 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
2467 handling
7b5d51d8 2468
31c0cd43
AB
24692013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2470
2471 * configure.ac: Restore -nostdlib for libgcc symbols tests.
2472
c2fdb331
AB
24732013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2474
2475 * docs/grub.texi (Environment): Document cmdpath.
2476
9e18dfe2
AB
24772013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2478
2479 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2480 Remove "unused" attribute from arguments, they are used.
2481
59ba9d14
CW
24822013-11-15 Colin Watson <cjwatson@debian.org>
2483
2484 * .gitignore: Only ignore grub-mk* at the top level.
2485
23012db9
CW
24862013-11-15 Colin Watson <cjwatson@ubuntu.com>
2487
2488 * util/grub-reboot.in (usage): Fix a typo.
2489
6fcec439
VS
24902013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 Replace libgcc version of ctz with our own.
2493
2494 On upcoming arm64 port libgcc ctz* are not usable in standalone
2495 environment. Since we need ctz* for this case and implementation is
2496 in C we may as well use it on all concerned platforms.
2497
a9f25a08
VS
24982013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * configure.ac: Probe for linking format rather than guessing it based
2501 on target_os.
2502
c7995256
VS
25032013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
2506 "1" prior to handoff.
2507
2508 Reported by: M A Young.
2509
e1aa5b66
VS
25102013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
2513 \0 to all files.
2514
2515 Reported by: M A Young.
2516
da5ed5cf
VS
25172013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
2520 compilation on NetBSD.
2521
5757a93e
VS
25222013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * acinclude.m4: Don't add -P on initial nm test.
2525
2526 Note: even though this patch postdates Andrey's it bears 14 Nov as
2527 date due to timezone difference.
2528
a5986276
AB
25292013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
2530
2531 * grub-core/Makefile.core.def (signature_test): Add missing
2532 tests/signatures.h.
2533
0de172a0
CW
25342013-11-14 Colin Watson <cjwatson@ubuntu.com>
2535
2536 * util/grub-install_header: Set localedir here, since this file is
2537 where it's used.
2538 * util/grub-install.in: Remove setting of localedir.
2539 * util/grub-mkrescue.in: Likewise.
2540
da45f43c
VS
25412013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
2544
20aea949
VS
25452013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * configure.ac: Move nm checks to the end.
2548 Call grub_PROG_NM_WORKS.
2549 * acinclude.m4: New check grub_PROG_NM_WORKS.
2550 Use $TARGET_CFLAGS -c when compiling test binary.
2551
1326b9ae
CW
25522013-11-14 Colin Watson <cjwatson@ubuntu.com>
2553
2554 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
2555 unused variables.
2556
1fe26ab4
MG
25572013-11-14 Matthew Garrett <mjg@redhat.com>
2558
2559 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
2560 cmdpath to firmware directory.
2561
83e9c273
VS
25622013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
2565 at the start of second iteration.
2566
ec525c18
VS
25672013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2570
93fcc7ad
VS
25712013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * Makefile.am (default_payload.elf): New target for easier coreboot
2574 build.
2575
57ffe934
VS
25762013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
2579 clang (not necessarry with -no-integrated-as).
2580 * include/grub/symbol.h [__arm__]: Likewise.
2581
2312f06c
VS
25822013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * configure.ac: Use -no-integrated-as on arm with clang.
2585 * INSTALL: Mention ARM compilation with clang.
2586
2416415c
VS
25872013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
2590 -mthumb-interwork.
2591
5da55172
CW
25922013-11-14 Colin Watson <cjwatson@ubuntu.com>
2593
2594 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
2595 code for indirect block handling.
2596
2597 Saves 185 bytes on compressed image.
2598
da770328
PFS
25992013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2600
2601 Fix make clean.
2602
2603 * Makefile.am: Remove build-grub-* in make clean.
2604
f02e6b56
PFS
26052013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2606
2607 New files to gitignore.
2608
2609 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
2610 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
2611
035a26c1
LL
26122013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2613
2614 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
2615
bc8a6137
LL
26162013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2617
2618 * .gitignore: fix rules for .dep* and add *.a post git migration
2619
6fe506b0
CW
26202013-11-13 Colin Watson <cjwatson@ubuntu.com>
2621
2622 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
2623 to match INSTALL.
2624
81a2e438
CW
26252013-11-13 Colin Watson <cjwatson@ubuntu.com>
2626
2627 * grub-core/kern/misc.c: Don't redirect divisions in the
2628 GRUB_UTIL case.
2629 * include/grub/misc.h: Likewise.
2630
9b45c073
CW
26312013-11-13 Colin Watson <cjwatson@ubuntu.com>
2632
2633 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
2634 systems that require checking the return value of write.
2635
11b2a9b7
CW
26362013-11-13 Colin Watson <cjwatson@ubuntu.com>
2637
2638 * util/grub-install.in (efi_quiet): Fix inverted logic: make
2639 efibootmgr quiet when --debug is not used, rather than when it is.
2640
d743d22d
CW
26412013-11-13 Colin Watson <cjwatson@ubuntu.com>
2642
2643 * gentpl.py (define_macro_for_platform_dependencies): Remove
2644 first (and thus unused) of two definitions for this function.
2645 (platform_dependencies): Likewise.
2646
11da14b5
CW
26472013-11-13 Colin Watson <cjwatson@ubuntu.com>
2648
2649 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
2650 functions, we only need to check this for the target, not the host.
2651 * configure.ac (grub_apple_cc): Likewise.
2652
2bdd0719
VS
26532013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
2656 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
2657 asm to stay in arm even if surrounding is thumb.
2658
5e77d9cf
VS
26592013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
2662 helper functions are needed for thumb.
2663
7d511625
VS
26642013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
2667 level / 3 division explicitly unsigned. Saves few bytes.
2668
81023dbd
VS
26692013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2672
b2e9294f
VS
26732013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
2676 division.
2677
16a22c38
VS
26782013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
2681 grub_uboot_boot_data to asm part.
2682
c9cd02c9
VS
26832013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
2686 literal load.
2687 (grub_uboot_syscall): Save/restore r9 and align stack.
2688
81498615
VS
26892013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2692
ea57de18
VS
26932013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
2696 occurencies with END.
2697
d0d1e3da
CW
26982013-11-13 Colin Watson <cjwatson@ubuntu.com>
2699
2700 * util/grub-editenv.c (help_filter, argp): Document how to delete
2701 the whole environment block.
2702 Reported by Dan Jacobson. Fixes Debian bug #726265.
2703
3809f016
CW
27042013-11-13 Colin Watson <cjwatson@ubuntu.com>
2705
2706 * docs/grub.texi (Internationalisation, Supported kernels): Fix
2707 sectioning.
2708
46d8a203
JT
27092013-11-13 Josh Triplett <josh@joshtriplett.org>
2710
2711 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
2712 increment/decrement.
2713
513eeb61
VS
27142013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
2717 compiling with clang.
2718
bc379c1a
VS
27192013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
2722 ".".
2723
27242013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 2725
16057d6b
VS
2726 Redirect all divisions to grub_divmod64.
2727
f649a6a8
VS
27282013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
2731
ef28ee8b
VS
27322013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 Add missing includes of loader.h.
2735
300f48c5
VS
27362013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * configure.ac: Allow disabling themes.
2739
2d357558
LS
27402013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
2741
2742 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
2743
0c62a5b2
VS
27442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
2747 until it becomes operational.
2748
b0720b49
VS
27492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/Makefile.core.def (legacy_password_test): Disable
2752 on platforms where no legacycfg is compiled.
2753 * grub-core/tests/lib/functional_test.c: Tolerate failure to
2754 load legacy_password_test.
2755
d5bab2c0
VS
27562013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2759
3ea0ccb3
VS
27602013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * grub-core/efiemu/prepare.c: Remove variable length arrays.
2763
08772054
VS
27642013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
2767 strict-aliasing warning.
2768 (fsync): Silence cast warning.
2769
1dcb2715
VS
27702013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/commands/verify.c: Remove variable length arrays.
2773 Load gcry_dsa/gcry_rsa automatically.
2774
61c22fdf
VS
27752013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/tests/signature_test.c: New test.
2778
431e57a7
VS
27792013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
2782 API.
2783
b521bb81
VS
27842013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/tests/legacy_password_test.c (vectors): Make static.
2787 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
2788
7d06b24e
VS
27892013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
2792
3bbeade4
VS
27932013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * grub-core/fs/proc.c: Allow \0 in proc files.
2796
ba82db7a
VS
27972013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
2800
801564c8
VS
28012013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
2804
ac8cac1d
VS
28052013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * grub-core/fs/ext2.c: Remove variable length arrays.
2808
4b85f122
VS
28092013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
2812 length arrays.
2813
c35fcdc0
VS
28142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
2817 * grub-core/disk/cryptodisk.c: Likewise.
2818 * grub-core/disk/geli.c: Likewise.
2819 * grub-core/disk/luks.c: Likewise.
2820
15decd26
VS
28212013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * grub-core/tests/legacy_password_test.c: New test.
2824 * grub-core/commands/legacycfg.c: Remove variable length arrays.
2825
9c6482b8
VS
28262013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
2829
41f26e0e
VS
28302013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * grub-core/tests/pbkdf2_test.c: New test.
2833
2def6616
VS
28342013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
2837
9e34a34e
VS
28382013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * grub-core/io/lzopio.c: Remove variable length arrays.
2841
5ccaf904
VS
28422013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * include/grub/crypto.h: Add maximums on hash size and cipher block
2845 size.
2846
44a387e0
VS
28472013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
2850
a388e255
VS
28512013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/tests/xnu_uuid_test.c: New test.
2854
a1ef7718
VS
28552013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
2858 covers it).
2859
65ddb300
VS
28602013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/commands/hashsum.c: Remove variable length arrays.
2863
31747dd5
VS
28642013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
2867 condition.
2868 * tests/grub_func_test.in: Increase memory allocation.
2869
6a74c4df
VS
28702013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
2873 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
2874 sys/mount.h.
2875
394c3e0a
VS
28762013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
2879 (grub_util_get_fd_size_os): ...this.
2880 (grub_hostdisk_flush_initial_buffer): New empty function.
2881
60d31116
VS
28822013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * grub-core/gensyminfo.sh.in: Handle the case of portable output
2885 without --defined-only.
2886
8445b011
VS
28872013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
2890 rip-relative addressing in prologue.
2891
8506a641
VS
28922013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
2895 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
2896
66acd9d6
VS
28972013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2900 Add missing semicolon.
2901
348d0535
VS
29022013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
2905
0d2d30bb
VS
29062013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * configure.ac: Check for lzma.h for enabling liblzma and allow
2909 manual disabling.
2910
631187be
VS
29112013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 Add missing includes of loader.h.
2914
e756ec82
FZ
29152013-11-11 Fam Zheng <famcool@gmail.com>
2916
2917 * util/grub.d/30_os-prober.in: Add minix entry.
2918
87d62d7d
VS
29192013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
2922 right buffer for temporary load.
2923
5460cfeb
VS
29242013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
2927
89977306
VS
29282013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
2931 payload.
2932
3617c59b
VS
29332013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
2936 not Types.h.
2937 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
2938 environment.
2939 (LzmaDec_InitDicAndState): Make static.
2940
881c6a10
VS
29412013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
2944
2024ade2
VS
29452013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
2948
2949 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
2950
674ad4f6
VS
29512013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * docs/grub-dev.texi: Replace bzr references with git ones.
2954
5b99970e
AB
29552013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2956
2957 * docs/grub.texi (Simple configuration): Remove reference to
2958 grub-reboot from saved default entry description - grub-default
2959 does not use it anymore.
2960
3c2304d5
VS
29612013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * configure.ac: Make efiemu test cflags match the cflags efiemu is
2964 compiled with.
2965
80cfd940
AB
29662013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2967
2968 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
2969
33690255
VS
29702013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 Fix grub_machine_fini bitrot.
2973
2974 Reported by: Glenn Washburn.
2975
c61471fc
VS
29762013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
2979
54da019f
VS
29802013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
2983 -DELF.
2984 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
2985 instead of ELF*.
2986
29872013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
2988
2989 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
2990 Add -march=core2 when testing compile of efiemu64.
2991
2992 Thanks Andrey Borzenkov for spotting this.
2993
9612ebc0
VS
29942013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
2997 XEN PV environment and load kernels.
2998
1a46a3a4
VS
29992013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
3002 * grub-core/loader/multiboot_mbi2.c: Likewise.
3003
2df12551
VS
30042013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
3007 handling.
3008
3c980381
VS
30092013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
3012
3013 Tested by: Denis 'GNUtoo' Carikli.
3014
800f63d3
VS
30152013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
3018
9f8acdaa
VS
30192013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3020
5620eb53
VS
3021 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
3022 Use to get rounded angle rather than truncated.
3023
30242013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
3027 RTS/CTS flow control.
3028
2dc1eb6c
VS
30292013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
3032 divisions.
3033
b9563c94
VS
30342013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
3037 Use grub_fatal rather than divide by zero.
3038 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
3039
d6d8e9a9
VS
30402013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
3043 truncate.
3044 (grub_fixed_fsf_divide): Likewise.
3045
d06de6c8
VS
30462013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
3049 division by-zero and senseless negative divisions.
3050
6af7d49b
VS
30512013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
3054 division by-zero and senseless negative divisions.
3055 (circprog_set_property): Don't accept negative num_ticks.
3056
bcfa6d72
VS
30572013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
3060 division by-zero and senseless negative divisions.
3061
dd7f792c
VS
30622013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * configure.ac: Use elf_*_fbsd on kfreebsd.
3065
d061fda7
VS
30662013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/tests/div_test.c: New test.
3069
4db22500
VT
30702013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3071
3072 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
3073 * grub-core/gfxmenu/gui_canvas.c: Likewise.
3074 * grub-core/gfxmenu/view.c: Likewise.
3075 * grub-core/video/fb/video_fb.c: Introduce new functions:
3076 grub_video_set_area_status, grub_video_get_area_status,
3077 grub_video_set_region, grub_video_get_region.
3078 * grub-core/video/bochs.c: Likewise.
3079 * grub-core/video/capture.c: Likewise.
3080 * grub-core/video/video.c: Likewise.
3081 * grub-core/video/cirrus.c: Likewise.
3082 * grub-core/video/efi_gop.c: Likewise.
3083 * grub-core/video/efi_uga.c: Likewise.
3084 * grub-core/video/emu/sdl.c: Likewise.
3085 * grub-core/video/radeon_fuloong2e.c: Likewise.
3086 * grub-core/video/sis315pro.c: Likewise.
3087 * grub-core/video/sm712.c: Likewise.
3088 * grub-core/video/i386/pc/vbe.c: Likewise.
3089 * grub-core/video/i386/pc/vga.c: Likewise.
3090 * grub-core/video/ieee1275.c: Likewise.
3091 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
3092 * include/grub/video.h: Likewise.
3093 * include/grub/video_fb.h: Likewise.
3094 * include/grub/fbfill.h: Updated render_target structure.
3095 grub_video_rect_t viewport, region, area
3096 int area_offset_x, area_offset_y, area_enabled
3097 * include/grub/gui.h: New helper function
3098 grub_video_bounds_inside_region.
3099 * docs/grub-dev.texi: Added information about new functions.
3100
c6b755df
VS
31012013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
3104 for alignment.
3105
e2a68100
VS
31062013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
3109 missing attribute.
3110 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
3111
c4f11a2a
VS
31122013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
3115 simple division on arm and ia64.
3116
e0a7bffa
VS
31172013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
3120 link with libgcc.
3121
38b864ea
VS
31222013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
3125
12359faf
VS
31262013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
3129 prefix symbol, not @.
3130
9fdc64a9
VS
31312013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * INSTALL: Add note about older gcc and clang.
3134
665c575b
VS
31352013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
3138
47dcf7b1
VS
31392013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
3142 NULL pointer dereference.
3143
d59849b2
VS
31442013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
3147 clang.
3148
7a3f4a18
VS
31492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
3152 warnings.
3153
7f084087
VS
31542013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
3157 function.
3158 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
3159 * grub-core/disk/geli.c (ascii2hex): Likewise.
3160
d5524ca8
VS
31612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * configure.ac: Run linker tests without -Werror.
3164 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
3165 Change all occurences of -static-libgcc resp -lgcc to
3166 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
3167
390cd7ca
VS
31682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
3171
60375a88
VS
31722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 Allow compiling with clang (not really supported though).
3175
3176 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
3177 unconditionally.
3178 * configure.ac: Add -no-integrated-as when using clangfor asm files.
3179 Add -mrtd -mregparm=3 on i386 when not using clang.
3180 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
3181
dd07e0c4
VS
31822013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
3185 bindings.
3186 * grub-core/lib/reed_solomon.c: Likewise.
3187 * include/grub/i386/gdb.h: Likewise.
3188 * include/grub/i386/pc/int.h: Likewise.
3189 * include/grub/i386/pc/pxe.h: Likewise.
3190 * include/grub/ieee1275/ieee1275.h: Likewise.
3191
9d3ae8ec
VS
31922013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 Import libgcrypt 1.5.3.
3195
c12936c5
VS
31962013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * configure.ac: Don't add -Wcast-align on x86.
3199
cdc17f60
VS
32002013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * configure.ac: Add -freg-struct-return on all platforms that
3203 support it.
3204
b35ec299
VS
32052013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * acinclude.m4: Use -Werror on parameter tests.
3208 * configure.ac: Likewise.
3209
05f3a0d7
VS
32102013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
3213
c966a489
VS
32142013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * configure.ac: Check that -malign-loops works rather than assuming that
3217 either -falign-loops or -malign-loops work.
3218
bb0c57ec
VS
32192013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * configure.ac: Remove -fnested-functions. We don't need it anymore.
3222
24f4e57c
VS
32232013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * configure.ac: Prevent cflags leaking to subsequent tests by always
3226 resetting cflags to target_cflags in target tests.
3227
ac319fbc
VS
32282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
3231 function.
3232
4bfe934c
VS
32332013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
3236
40a5bfde
VS
32372013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
3240
a67c755e
VS
32412013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/normal/cmdline.c (grub_cmdline_get):
3244 Remove nested functions.
3245
87a04a2d
VS
32462013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * tests/test_sha512sum.in: Make it work on emu.
3249
c03995d2
VS
32502013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
3253 functions.
3254 (grub_bidi_line_logical_to_visual): Likewise.
3255
ec0ebb3f
VS
32562013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 Remove vestiges of -Wunsafe-loop-optimisations.
3259
3260 * conf/Makefile.common (CFLAGS_GNULIB): Remove
3261 -Wno-unsafe-loop-optimisations.
3262 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
3263 pragma.
3264 * grub-core/io/gzio.c: Likewise.
3265 * grub-core/script/parser.y: Likewise.
3266 * grub-core/script/yylex.l: Likewise.
3267 * util/grub-mkfont.c: Likewise.
3268
6ab537e3
VS
32692013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * util/grub-mkfont.c (process_cursive): Remove nested function.
3272
e6c368d4
VS
32732013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
3276 (grub_boot_time): Likewise.
3277
4f1cfd22
VS
32782013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * include/grub/symbol.h (FUNCTION): Use @function rather than
3281 "function".
3282 (VARIABLE): Likewise.
3283
6d5a4cee
VS
32842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
3287
f06c2172
VS
32882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
3291 (parse_dhcp_vendor): Likewise.
3292
7cb24eb5
VS
32932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
3296
f30c692c
VS
32972013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/gettext/gettext.c (main_context), (secondary_context):
3300 Define after defining type and not before.
3301
8b66bb5d
VS
33022013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
3305 type.
3306 (grub_gcm_decrypt): Likewise.
3307 (algo_decrypt): Likewise.
3308 (grub_zfs_decrypt_real): Transform error type.
3309
5d17fd0f
VS
33102013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3311
3312 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
3313
ac35a0f7
VS
33142013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
3317 (grub_usbms_cbi_reset): Likewise.
3318 (grub_usbms_bo_reset): Likewise.
3319 (grub_usbms_reset): Likewise.
3320 (grub_usbms_attach): Likewise.
3321 (grub_usbms_transfer_cbi): Likewise.
3322
3ee08697
VS
33232013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
3326 "checksum = checksum;".
3327
70bb6c85
VS
33282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
3331 entry_type.
3332
c7f34744
VS
33332013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
3336 BIOS disk check.
3337
3f63b4d8
VS
33382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
3341 type.
3342 (grub_ehci_fini_hw): Likewise.
3343 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3344
dac6ce73
VS
33452013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
3348 return grub_usb_err_t for cosistency. All users updated.
3349
5701750c
VS
33502013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
3353 assigning to itself.
3354
9e236169
GLD
33552013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
33562013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3357
3358 Issue separate DNS queries for ipv4 and ipv6
3359
3360 Adding multiple questions on a single DNS query is not supportted by
3361 most DNS servers. This patch issues two separate DNS queries
3362 sequentially for ipv4 and then for ipv6.
3363
3364 Fixes: https://savannah.gnu.org/bugs/?39710
3365
3366 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
3367 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
3368 * (grub_net_dns_lookup): Now using separated dns packages.
3369 * (grub_cmd_nslookup): Add error condition.
3370 * (grub_cmd_list_dns): Print DNS option.
3371 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
3372 --prefer-ipv4, and --prefer-ipv6.
3373 * include/grub/net.h (grub_dns_option_t): New enum.
3374 * (grub_net_network_level_address): option added.
3375
339eacce
VT
33762013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
3377
3378 * grub-core/video/fb/video_fb.c: Merge two blit functions
3379 into one.
3380
810f991b
VS
33812013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 * grub-core/term/terminfo.c: Add sequences for home and end.
3384
386571a2
VS
33852013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
3388 graphics console.
3389
3fe63754
VS
33902013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
3393 add mode 0x12.
3394
76681e71
VS
33952013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
3398 e-mail by Per Öberg.
3399
46522fb7
VS
34002013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
3403 name.
3404
e7d09ac4
AB
34052013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
3406
3407 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
3408 emu platforms.
3409 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
3410
67508925
VS
34112013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * docs/grub.texi: Document usage of menuentry id.
3414
0c62124e
VS
34152013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
3418
9b5d4eed
PL
34192013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
3420
3421 * grub-core/commands/i386/nthibr.c: New command.
3422
79054c1d
VS
34232013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
3426
44d47bbe
VS
34272013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
3430 coordinate.
3431
323de05b
VS
34322013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 Support GRUB_DISABLE_SUBMENU config.
3435
3436 Inspired by patch from Prarit Bhargava.
3437
5a01722e
VS
34382013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * docs/grub.texi: Mention RSA support.
3441
1106c3f0
VS
34422013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * grub-core/commands/verify.c: Add RSA support.
3445
a1dcc2cb
VS
34462013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
3449 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
3450 device is known to be ATAPI.
3451
ee7fb780
MF
34522013-11-03 Mike Frysinger <vapier>
3453
3454 * configure.ac: Don't add target-prefix.
3455
5ade4a42
VS
34562013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
3459 variables.
3460
6cd66043
VS
34612013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
3464 if language is English.
3465
090d7c81
VS
34662013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
3469
dd614590
VS
34702013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * configure.ac: Don't add -m32/-m64 on emu.
3473
a8686589 34742013-11-02 neil
3475
3476 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
3477 broken linux headers.
3478
fb9f12a0
VS
34792013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
3482
e25f8e1f
VS
34832013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
3486 Reed-Solomon recovery if more than half of redundancy info is 0.
3487
4685200f
VS
34882013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * util/grub-mount.c: Handle symlinks to directories.
3491
1397f0b5
VS
34922013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
3495 find_file recursively for symlink.
3496
8b3e6eb6
VS
34972013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * tests/util/grub-shell.in: Copy themes.
3500
a0c9d5c6
VS
35012013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
3504
5cf9459c
VS
35052013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * configure.ac: Use 0x8000 for address instead of 8000.
3508
e7b66a28
VS
35092013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
3512 signature.
3513
203f53fb
VS
35142013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
3517 variable.
3518
02663ee9
VS
35192013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
3522
f169f65e
VS
35232013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
3526 file_progress_read_hook.
3527 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
3528
2855a0fc
VS
35292013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
3532 and double.
3533
bf0f3a8c
VS
35342013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
3537
cb72aa18
VS
35382013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 Rewrite blocklist functions in order to get progress when
3541 reading large extents and decrease amount of blocklist hook calls.
3542
896f9135
VS
35432013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
3546 of SI suffixes.
3547
89295a06
VS
35482013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 Support --base-clock for serial command to handle weird cards with
3551 non-standard base clock.
3552
eb03ede0
VS
35532013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
3556 strncpy.
3557 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
3558 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
3559 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
3560 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
3561 + strcpy rather than strncpy.
3562
8fbe5c7d
VS
35632013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
3566 (check_pool_label): Likewise. Fixes overflow.
3567 (nvlist_find_value): Fix comparison.
3568
e54b8f53
VS
35692013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * include/grub/misc.h (grub_strcat): Removed. All users changed to
3572 more appropriate functions.
3573
fa9b3dca
VS
35742013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
3577 realloc.
3578
9a021c55
VS
35792013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * util/grub-mkrescue.in: Do not use UUID search on EFI.
3582
80e8b13a
VS
35832013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
3586 on core size.
3587
b61599ac
VS
35882013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
3591
a602dc54
VS
35922013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
3595 (initialize_tables): reset tl and td to NULL after freeing.
3596
93c12075
VS
35972013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
3600
1ca4b75e
VS
36012013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
3604 of supported tags.
3605
329550c4
VS
36062013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
3609
00bfa988
VS
36102013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * grub-core/loader/multiboot.c: Add support for multiboot kernels
3613 quirks.
3614
81afc5cc
VS
36152013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
3618 a page in protected space.
3619
cb3c4a47
VS
36202013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
3623 allocate space for zero-sized modules.
3624
954f7bf5
VS
36252013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
3628
526d3d25
FL
36292013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
3630
3631 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
3632
74124c34
VS
36332013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
3636 safeguards. Fixes a crash with i386/pc/console.c.
3637
5177391e
VS
36382013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
3641 and grub_hostfs_init.
3642
64db14b0
VS
36432013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
3646 windows method on other platforms without good stat as well.
3647
effe2036
VS
36482013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
3651
82591fa6 36522013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 3653
82591fa6
VS
3654 Make / in btrfs refer to real root, not the default volume.
3655 Modify mkrelpath to work even if device is mounted with subvolid option.
3656
36572013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
3658
3659 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
3660 extra_dist.
3661 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
3662 extra_dist.
3663
30fd7198
VS
36642013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
3667 fails.
3668
8d179dae
BC
36692013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
3670
3671 * docs/autoiso.cfg: New file.
3672
3bc9c8cf
VS
36732013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
3676 COND_GRUB_PE2ELF conditions.
3677
8b46b0ea
VS
36782013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
3681 "vnd", "rd" and "fd" disks.
3682
442b86de
VS
36832013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 Move grub_disk_write out of kernel into disk.mod.
3686
04dea7e6
VS
36872013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
3690 handling.
3691
36922013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
3693
3694 * grub-core/kern/misc.c (grub_abort): Make static
3695
04dea7e6 36962013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
3697
3698 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
3699 transform invalid unicode codepoints.
3700
04dea7e6 37012013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
3702
3703 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3704 \0 checking.
3705
03dcac7f
VS
37062013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
3709
c81acb7f
VS
37102013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 Consolidate cpuid code.
3713
c1bee646
VS
37142013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 Move cpuid code to cpuid.h and TSC code to tsc.c.
3717
f37bf9c7
GS
37182013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3719
3720 * util/grub.d/00_header.in: Don't use LANG if it's not set.
3721
4021132b
GS
37222013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3723
3724 * util/grub-mkconfig.in: Replace $0 with $self.
3725 * util/grub-reboot.in: Likewise.
3726 * util/grub-set-default.in: Likewise.
3727
3ace8d75
BC
37282013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3729
3730 * docs/osdetect.cfg: New file.
3731
1e6ad6a6
BC
37322013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3733
3734 * tests/util/grub-shell.in: Add new --debug option.
3735
188929eb
BC
37362013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3737
3738 * tests/test_unset.in: New test.
3739
7994a09a
BC
37402013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3741
3742 * tests/test_sha512sum.in: New test.
3743
2a8a7585
VS
37442013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
3747 * include/grub/misc.h: Remove strncat.
3748 * grub-core/lib/posix_wrap/string.h: Likewise.
3749
cf8d6bbd
VS
37502013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
3753 Try to handle more than 0xFFFF packets.
3754 Reported by: Bernhard Übelacker <bernhardu>.
3755 He also spotted few overflows in first version of this patch.
3756
6d1fc99a
VS
37572013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * tests/date_unit_test.c: New test.
3760
10bafa1c
VS
37612013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
3764 of first three years after start of validity of unixtime.
3765
b1c6d037
VS
37662013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
3769 division as the one making more sense.
3770 (update_screen): Likewise.
3771 (complete): Likewise.
3772
5f4028d4
VS
37732013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
3776
a2856736
VS
37772013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 Make char and string width grub_size_t rather than grub_ssize_t.
3780
0a7e52b2
VS
37812013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
3784 unsigned.
3785 (grub_history_replace): Likewise.
3786
42829573
VS
37872013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
3790 appropriate.
3791
3523b8d8
VS
37922013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
3795 appropriate.
3796
d43c6489
VS
37972013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
3800 Use unsigned divisions rather than signed variants.
3801
f690f8b0
VS
38022013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * grub-core/video/readers/png.c (grub_png_convert_image): Use
3805 unsigned arithmetics.
3806 Add missing break.
3807
74ff2c05
VS
38082013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
3811
fb56391e
VS
38122013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
3815 rather than signed one.
3816 (recovery): Likewise.
3817
40f29060
VS
38182013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
3821
c64577a5
VS
38222013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
3825 than signed.
3826
c16535a8
JM
38272013-10-25 Jon McCune <jonmccune@google.com>
3828
3829 * docs/grub.texi: Cleanup security documentation around signatures.
3830
6673d8e7
VS
38312013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
3834
a105d375
VS
38352013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
3838 than int.
3839
af81ed88
VS
38402013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
3843 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
3844 functions when compiling for kernel.
3845
ea899a57
VS
38462013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
3849 unsigned long long when using %llu.
3850
c6dc6fa1
VS
38512013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
3854 terminal after updating progress.
3855
ad2dc003
VS
38562013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
3859 argument. We don't disable Gate A20 in this code.
3860
b46684ae
VS
38612013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
3864 Conceptually based on change in branch "vbe-on-coreboot".
3865
f70d5c07
RM
38662013-10-24 Robert Millan <rmh@gnu.org>
3867
3868 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
3869 numeric constants with their symbolic equivalent.
3870 Taken from branch "vbe-on-coreboot".
3871
bca274b4
VS
38722013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * docs/grub.texi: Fix ordering and use pxref rather than xref.
3875
238f0489
VS
38762013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
3879 divmod64 for offset division.
3880
863c590b
PFS
38812013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3882
3883 Rename .bzrignore to .gitignore. Add "*.o" rule.
3884
3885 * .bzrignore: Renamed to...
3886 * .gitignore: ...this.
3887
84a0e969
PFS
38882013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3889
3890 Add new progress module that displays the load progress of files.
3891
3892 * grub-core/lib/progress.c: New file.
3893 * grub-core/Makefile.core.def (progress): New module.
3894 * grub-core/kern/file.c (grub_file_open): File name added.
3895 * (grub_file_read): Progress hook added.
3896 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
3897 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
3898 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
3899 * include/grub/file.h (struct grub_file): Add progress module members.
3900 * include/grub/term.h (struct grub_term_output): Likewise.
3901 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
3902 Terminal velocity added.
3903 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
3904 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
3905 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
3906 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
3907 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
3908 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
3909 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
3910 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
3911 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
3912 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
3913 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
3914 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
3915
0d711431
VS
39162013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 Verify signatures of signatures unless --skip-sig is specified.
3919
f8401f76
VS
39202013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3923 \0 checking.
3924
3925 Saves 70 bytes on compressed image.
3926
ac1feb61
VS
39272013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
3930 check.
3931
3932 Saves 10 bytes on compressed image.
3933
00f72e89
VS
39342013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * grub-core/kern/misc.c (grub_isprint): Move to ...
3937 * include/grub/misc.h (grub_isprint): ... here. Make inline.
3938
3939 Saves 20 bytes on compressed image due to remving exporting.
3940
067e6ae7
VS
39412013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
3944
3945 Saves 5 bytes on compressed image.
3946
64a6c791
VS
39472013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
3950 function get_utf8.
3951
3952 Saves 379 bytes on compressed image.
3953
979d9f52
VS
39542013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
3957
1437da54
VS
39582013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
3961
3962 Saves 40 bytes on compressed image.
3963
d9ee2269
VS
39642013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
3967 mask rather than 64-bit type.
3968
3969 Saves 20 bytes on compressed image.
3970
63efa602
VS
39712013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
3974 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
3975
47601ffe
VS
3976 Saves 273 bytes on compressed image.
3977
2cc679ad
VS
39782013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
3981 variable length arrays.
3982
3983 Saves 50 bytes on compressed image.
3984
2e4659b8
VS
39852013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
3988
2a40badf
VS
39892013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * grub-core/fs/ufs.c: Remove variable length arrays.
3992
1ba6b9b9
VS
39932013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
3996
f3e39341
VS
39972013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * grub-core/fs/zfs.c: Remove variable length arrays.
4000 Reduces zfs.mod by 160 bytes (208 compressed).
4001
71523935
VS
40022013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
4005
28153eb8
VS
40062013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/net/arp.c: Remove variable length arrays.
4009 * grub-core/net/bootp.c: Likewise.
4010 * grub-core/net/dns.c: Likewise.
4011 * grub-core/net/icmp6.c: Likewise.
4012 * grub-core/net/net.c: Likewise.
4013
88ce4cd7
VS
40142013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * grub-core/fs/ntfs.c: Remove variable length arrays.
4017 Increases ntfs.mod by 64 bytes (but decreases by 3 when
4018 compressed).
4019
66123940
VS
40202013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * grub-core/fs/hfs.c: Remove variable length arrays.
4023 Reduces hfs.mod by 8 bytes (52 compressed).
4024
0927e5bd
VS
40252013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 4028 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
4029 compressed).
4030
9c12ac97
VS
40312013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 4034 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
4035 compressed).
4036
97ec2d71
VS
40372013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 4040 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
4041 compressed).
4042
156e4ea0
VS
40432013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * grub-core/fs/xfs.c: Remove variable length arrays.
4046 Reduces xfs.mod by 40 bytes (43 compressed).
4047
3b502c29
VS
40482013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * grub-core/fs/fshelp.c: Remove variable length arrays.
4051 Reduces fshelp.mod by 116 bytes (23 compressed).
4052
c7037f1d
VS
40532013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 * grub-core/normal/completion.c: Remove variable length arrays.
4056 * grub-core/normal/menu_entry.c: Likewise.
4057
4058 Reduces normal.mod by 496 bytes.
4059
a07e6ad0
VS
40602013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
4063 by 356 bytes (158 compressed).
4064
2359bf88
VS
40652013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
4068 by 364 bytes (169 compressed).
4069
d28e1163
VS
40702013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
4073 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
4074 * include/grub/types.h (grub_unaligned_uint64_t): New type.
4075
e89c2d48
VS
40762013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
4079 bitmasks to small structures of size chosen to fit in registers.
4080
7abdac8e
VS
40812013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * conf/Makefile.common: Use -freg-struct-return on i386. This
4084 decreases code size and improves performance.
4085
518864c0
VS
40862013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
4089
bbd2b539
VS
40902013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
4093 "(null)" string.
4094 Simplify expressions to save around 256 bytes in kernel.img.
4095 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
4096
99519c15
VS
40972013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
4100 Use GRUB_UTIL_FD_O_* rather than O_*.
4101
20285765
VS
41022013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 Add haiku-specific functions.
4105
887c0bb6
VS
41062013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
4109
cd78a56f
VS
41102013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 Move stat () and device mode checking into OS-dependent files as
4113 long as performance doesn't suffer.
4114
a4012f07
VS
41152013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 Split make_system_path_relative_to_its_root into separate file
4118 relpath.c from getroot.c as it's common between unix and haiku
4119 but otherwise haiku doesn't use any functions from unix getroot.c.
4120
31de274d
VS
41212013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
4124 New function.
4125 (grub_util_is_special_file): Likewise.
4126
40346de6
VS
41272013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
4130 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
4131
d3923ab9
VS
41322013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
4135 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
4136
663f6eb1
VS
41372013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
4140 (load_image): Likewise.
4141
44d1c20a
VS
41422013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * util/grub-render-label.c: Move backend part to ...
4145 * util/render-label.c: ... here.
4146
d0a116ee
VS
41472013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
4150 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
4151
b47fcae6
VS
41522013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
4155
0f7c00c1
VS
41562013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
4159 CD-ROM in case when it's declared as having subpartitions.
4160
29013cba
VS
41612013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 Don't add -lm on haiku.
4164
4165 * configure.ac: Define BUILD_LIBM to -lm on most platforms
4166 and empty on haiku.
4167 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
4168 -lm.
4169
e8559d24
VS
41702013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * configure.ac: Use -melf_*_haiku as target on haiku.
4173
8104063c
VS
41742013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * Makefile.util.def: Add util/setup.c to extra_dist.
4177
fc3182c7
VS
41782013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
4181 unknown types through.
4182
f90a3cc0
VS
41832013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
4186 (grub_util_check_char_device): Likewise.
4187 * include/grub/emu/getroot.h: Likewise.
4188
1e3e7419
VS
41892013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
4192 memset rather than inline static function.
4193
92c88fc8
VS
41942013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
4197 not doing embedded decompressor.
4198
3cd910a2
VS
41992013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
4202 shadowing.
4203 * grub-core/kern/disk.c: Likewise.
4204 * grub-core/kern/misc.c: Likewise.
4205 * include/grub/parser.h: Likewise.
4206 * include/grub/script_sh.h: Likewise.
4207 * include/grub/zfs/zfs.h: Likewise.
4208
7b3aca00
VS
42092013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
4212
97dfe7e4
VS
42132013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
4216 defined before trying to use it.
4217
bf919aa9
VS
42182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
4221 warning.
4222
f4ccf29d
VS
42232013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
4226 Use __unused__ rather than __used__ on gcc < 3.2.
4227
0d3a6f85
VS
42282013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
4231 gcc < 4.0.
4232 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
4233
757e3eb7
VS
42342013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
4237
fb320faf
VS
42382013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
4241 * include/grub/emu/misc.h: Likewise.
4242
ea73acd2
VS
42432013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
4246 cur_color.
4247
71237a6f
VT
42482013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
4249
4250 * grub-core/tests/checksums.h: Regenerated due to progress bar
4251 get_minimal_size changes.
4252
3d46c22f
BC
42532013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
4254
4255 Added `tr' command support.
4256
4257 * grub-core/commands/tr.c: New file.
4258 * grub-core/Makefile.core.def: Build rules for new module.
4259
4260 * tests/grub_cmd_tr.in: New test.
4261 * Makefile.util.def: Build rules for new test.
4262
47e0a61f
VT
42632013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4264
4265 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
4266
946fd073
VT
42672013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4268
4269 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
4270 * docs/gurb.texi: Likewise.
4271
9c13c576
VT
42722013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4273
4274 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
4275 Pixmap highlighted section with east and west slices was displayed
4276 incorrectly due to negative width of the central slice.
4277
ad543f12
VT
42782013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4279
4280 * docs/grub.texi: Graphical options information update.
4281 Removed outdated. Updated current. Inserted missed.
4282
6176a0cd
VS
42832013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * docs/grub.texi: Mention few new platform-specific commands.
4286
9688cae2
VS
42872013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
4290 currently used so this doesn't really have any effect.
4291 Reported by: Douglas Ray <dougray>
4292
f7b69a3f
VS
42932013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
4296 compilation but prevents gcc from displaying messages in non-Latin
4297 alphabets.
4298 * conf/Makefile.common: Likewise.
4299
ceca6ddf
HY
43002013-10-16 Hiroyuki YAMAMORI
4301
4302 Handle Japanese special keys.
4303 Reported by: Hiroyuki YAMAMORI.
4304 Codes supplied by: Hiroyuki YAMAMORI.
4305
ac48d334
VT
43062013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4307
4308 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
4309
b2b71bff
VT
43102013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4311
4312 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
4313 * docs/grub.texi: Likewise.
4314
669fc449
VS
43152013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
4318 value in case of incomplete read.
4319 (grub_util_fd_write): Likewise.
4320
59381678
VS
43212013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
4324
bacfefbb
VS
43252013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * util/grub-editenv.c (create_envblk_file): More from here ...
4328 * util/editenv.c (grub_util_create_envblk_file): ... to here.
4329
f7c49570
VS
43302013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
4333 canonicalize file name before doing the rest.
4334
7b83ca44
VS
43352013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
4338 mingw32.
4339
df1e64c9
VS
43402013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 Define grub_util_is_directory/regular/special_file and
4343 use OS-dependent versions rather than to rely on stat().
4344
ec16e026
VS
43452013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * util/grub-mkimage.c: Move backend part to ...
4348 * util/mkimage.c: ... here.
4349
4b4eeb3c
VS
43502013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 Allow compilation with mingw64 albeit with warnings due to lack of
4353 %llx/%llu.
4354
4355 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
4356 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
4357 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
4358 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
4359 on mingw64.
4360 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
4361
f4e0adc0
VS
43622013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 Remove leftover references to some of the system headers.
4365
e0127364
VS
43662013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
4369 read.
4370
20d53541
VS
43712013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
4374 of strerror.
4375
5a869940
VS
43762013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 Split out blocklist retrieving from setup.c to
4379 grub-core/osdep/blocklist.c and add windows implementation since
4380 generic version doesn't work on NTFS on Windows due to aggressive
4381 unflushable cache.
4382
c06c7520
VS
43832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
4386 files.
4387
8f53bb3f
VS
43882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
4391 Cut tailing newline. Remove arbitrary limitation. Always use
4392 grub_util_tchar_to_utf8.
4393
148f1007
VS
43942013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
4397 * tests/printf_unit_test.c (printf_test): Add %% tests.
4398 Reported by: Paulo Flabiano Smorigo.
4399
af3b06be
VS
44002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
4403 implement fsync.
4404
27f9d02e
VS
44052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * configure.ac: Check for nvlist_lookup_string in nvpair since we
4408 use nvlist_lookup_string and don't use nvlist_print.
4409
f6a81f0a
VS
44102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 Add wrappers around rename, unlink, mkdir, opendir, readdir and
4413 closedir to handle filename charset translation.
4414
d7750b32
VS
44152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 * include/grub/emu/hostdisk.h: Move file operations to
4418 * include/grub/emu/hostfile.h: ... here.
4419
2859196e
VS
44202013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
4423 unicode path.
4424
c018c968
VS
44252013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
4428
7e45abce
VS
44292013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
4432 and remove export.h.
4433
23934da2
VS
44342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * grub-core/kern/emu/error.c: Removed.
4437 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
4438 explicitly as it's already in libgnu.a.
4439
c11ebcc8
VS
44402013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
4443 config-util.h include.
4444
70671037
VS
44452013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 Split emunet into platform-dependent and GRUB-binding parts. Keep
4448 platform-dependent part in kernel for easy access to OS functions.
4449
25ac643a
VS
44502013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
4453 open/read/write.
4454
69ca5876
VS
44552013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * grub-core/osdep/windows/emuconsole.c: New file.
4458
d9d68ef0
AB
44592013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4460
4461 * conf/Makefile.extra-dist: Add osdep/*/init.c
4462
58e211cc
VS
44632013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
4466
588744d0
VS
44672013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * util/grub-probe.c (probe): Separate different drives in hint-str
4470 by spaces and not newlines.
4471 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
4472
44016e52
AB
44732013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4474
4475 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4476 Handle CD-ROMs.
4477
6de9ee86
VS
44782013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 Pass-through unknown E820 types. It required reorganisation of mmap
4481 module.
4482
f8f3f155
AB
44832013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4484
4485 * Makefile.util.def: Add osdep/init.c to grub-mount files.
4486
b73249d2
VS
44872013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
4490 fseeko.
4491
dac86b18 44922013-10-14 qwertial <qwertial>
4493
4494 * grub-core/gdb_grub.in: Fix overflow and wrong field.
4495
17614b84
JM
44962013-10-14 Jon McCune <jonmccune@google.com>
4497
4498 * docs/grub.texi: Document new signatures possibility.
4499
6de292cb
VS
45002013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
4503
84379b61
VS
45042013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
4507 missing prototype.
4508 (grub_util_tchar_to_utf8): Likewise.
4509
21d85db1
VS
45102013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
4513 * grub-core/kern/emu/main.c: Add missing include.
4514 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
4515 Don't call grub_util_init_nls.
4516 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
4517 Likewise.
4518
66a1b3ee
VS
45192013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
4522 stat.
4523
e19bec17
VS
45242013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
4527
ee8c1b29
VS
45282013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
4531
bb338aaf
VS
45322013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 Add a wrapper for fopen. On unix-like systems just pass-through. On
4535 windows use unicode version.
4536
ae5540d3
VS
45372013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 Move set_program_name and init_nls to host_init. On windows
4540 fix in this fuction console and argument charset as well.
4541
4cd3c4fe
AB
45422013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
4543
4544 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
4545 GRUB_ENABLE_CRYPTODISK.
4546
4547 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
4548 GRUB_ENABLE_CRYPTODISK.
4549 * util/grub-mkconfig_lib.in: Likewise.
4550
78170f3e
CCZ
45512013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
4552
4553 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4554
3414b6c0
MC
45552013-10-12 Melki Christian <Christian.melki@saabgroup.com>
4556
4557 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
4558 error when enabling debug.
4559
6d0740e8
IB
45602013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
4561
4562 * configure.ac: Use -melf_*_obsd on openbsd.
4563
ff2d4dc4
VS
45642013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
4567
eac6ae82
VS
45682013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * include/grub/misc.h: Use gnu_printf rather than printf as format
4571 template since our functions are independent of libc.
4572
ba9baabe
VS
45732013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * util/grub-setup.c (setup): Move copying of partition table as
4576 futher up as possible to avoid possible overwrite by floppy routines.
4577
45782013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
4579
4580 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
4581
145e2369
VT
45822013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4583
4584 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
4585 * docs/grub.texi: Likewise.
4586
3530bc9d
VS
45872013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
4590 it's mostly unused. Move vestiges to the callers.
4591
fb9f59c3
VS
45922013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
4595 version of salt and hash. Use grub_snprintf rather than snprintf.
4596
9be1c255
VS
45972013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * docs/grub.texi: Fix problem with braces.
4600
ed8c0887
VS
46012013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * conf/Makefile.extra-dist: Fix extra-dist list.
4604 * grub-core/Makefile.core.def: Likewise.
4605
f72ab14e
VS
46062013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * docs/grub.texi: Document disk names used on Windows and AROS.
4609
2fe53a22
VS
46102013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
4613 with AROS devs.
4614 * grub-core/osdep/aros/hostdisk.c: Likewise.
4615
71c1d67a
VS
46162013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 Avoid including hostfile.h when not necessarry as it pulls
4619 in OS-specific headers which may redefine generic names
4620 like "far".
4621
ad297ec7
VT
46222013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4623
4624 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
4625 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
4626 scrollbar_bottom_pad
4627 * docs/grub.texi: Likewise.
4628
6e9e5dc9
VT
46292013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4630
4631 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
4632
761c718b
VS
46332013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
4636
37149a2f
VS
46372013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
4640 Removed.
4641 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
4642 Made static.
4643
3837a151
VS
46442013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
4647 leftover.
4648
caca1c70
VS
46492013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 Move OS-specific driver configuration to grub_util_fd_open. This
4652 moves OS-dependent parts from kern/emu/hostdisk.c to
4653 grub-core/osdep/*/hostdisk.c.
4654
f7676b70
VS
46552013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * util/grub-mkimage.c (generate_image): Use size_t instead of
4658 grub_size_t.
4659 * util/grub-mkimagexx.c (locate_sections): Likewise.
4660 (load_image): Likewise.
4661
22f98db2
VS
46622013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
4665 size_t.
4666 (grub_util_write_image): Likewise.
4667
b102ce69
VS
46682013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
4671 get random when no RNG is available.
4672 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
4673
acbbe5cb
VS
46742013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * include/grub/util/lvm.h: Removed.
4677
2112fb3f
VS
46782013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
4681 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
4682
79f78fbf
VS
46832013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * grub-core/osdep/windows/sleep.c: Add missing config.h.
4686
c2e6f705
VS
46872013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
4690
aabe433a
VS
46912013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/net/drivers/emu/emunet.c: Move to ..
4694 * grub-core/osdep/linux/emunet.c: ..here.
4695
9a2c903f
VS
46962013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * util/ieee1275/ofpath.c: Move to ...
4699 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
4700 * grub-core/osdep/basic/ofpath.c: ..here.
4701
4a445f58
VS
47022013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 Move password-querying (util-version) routines to grub-core/osdep.
4705
c1ca4244
VS
47062013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 Move sleep routines to grub-core/osdep.
4709
672fa55e
VS
47102013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 Move OS-dependent files to grub-core/osdep and document it.
4713
a5b0365a
VS
47142013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
4717 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
4718
29072e99
VS
47192013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
4722
f8772ea7
VS
47232013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * util/misc.c: Remove leftover inclusion of malloc.h.
4726
a1a315e7
VS
47272013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * include/grub/setjmp.h: Remove leftover GRUBOF.
4730
cef86fef
VS
47312013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * util/raid.c: Fold into ...
4734 * util/getroot_linux.c: ... here. Make all functions static.
4735
c4cf25ee
VS
47362013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
4739 macros to GRUB ones.
4740
53a5f5c2
VT
47412013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4742
4743 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
4744 occasional bug. If there are too many boot entries or too low
4745 scrollbar height then we need to use another formula to calculate
4746 the position and size of the scrollbar thumb.
4747
de300af2
VS
47482013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4749
c4cf25ee 4750 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 4751
c5827364
VT
47522013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4753
4754 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
4755 * docs/grub.texi: Likewise.
4756
dd2ed8b0
VT
47572013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4758
4759 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
4760 viewport.
4761
7286c384
VT
47622013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4763
ffdfc1f3
VT
4764 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
4765 minimal width calculations.
7286c384 4766
ea547e14
VS
47672013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * docs/grub.texi: Update note on colors on emu console.
4770
b726be76
VS
47712013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
4774 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
4775 it's FS and not GRUB limitation.
4776
a5f6ade6
VS
47772013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
4780
3b0f3aa2
VS
47812013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
4784
1db38304
ST
47852013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4786
4787 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
4788 kernels by version order.
4789
fb295fc0
VS
47902013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
4793
47345010
VS
47942013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 Add AROS hostdisk and getroot routines.
4797
bf25f879
VS
47982013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 Make cryptodisk and diskfilter probe data retrievable programmatically
4801 and not just printable.
4802
24ca4512
VS
48032013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 Split random retrieving code into separate files.
4806
c7c177f0
VS
48072013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
4810 R_ARM_V4BX.
4811
d71b45ae
VS
48122013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
4815 condition.
4816 * grub-core/tests/fake_input.c: Likewise.
4817 * grub-core/tests/cmdline_cat_test.c: Likewise.
4818
e44b9a83
VS
48192013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/video/capture.c: Do not do finalization when .fini
4822 is called as there is explicit capture_end.
4823
4fa60739
VS
48242013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
4827 changing windows to avoid crash.
4828
17c8bc37
VS
48292013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
4832
9d4d7977
VS
48332013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * po/exclude.pot: Add several strings to exclude.
4836
0caa407c
VS
48372013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
4840
9ae393da
VS
48412013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * autogen.sh: Add ./util/grub-gen-widthspec.c and
4844 ./util/grub-gen-asciih.c to exclude list.
4845
498d5033
VS
48462013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
4849 and don't mark error strings for translation.
4850
7d93298f
VS
48512013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
4854 properly in case of missing block size.
4855
b2cae20c
VS
48562013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 * grub-core/lib/arm/setjmp.S: Add missing license section.
4859
3896d6b4
VS
48602013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * po/swiss.sed: Add replacement for key names and for term computer.
4863
ebc1da55
VT
48642013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
4865
4866 * grub-core/gfxmenu/theme_loader.c: New global options for the
4867 theme background image handling. desktop-image-scale-method,
4868 desktop-image-h-align, desktop-image-v-align.
4869 * grub-core/gfxmenu/view.c: Likewise.
4870 * include/gfxmenu_view.h: Likewise.
4871 * include/bitmap_scale.h: Proportional scale functions introduced.
4872 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
4873 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
4874 cases of unexpected input variables for scale functions.
4875 * docs/grub.texi: Updated documentation for new options.
4876
c5739143
VS
48772013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
4880
be74aeb3
VT
48812013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4882
4883 * grub-core/tests/checksums.h: Corrected due to changes in
4884 bilinear interpolation function.
4885
d999ac72
VT
48862013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4887
4888 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
4889 to eliminate artefacts in bilinear interpolation.
4890
2b131610
VS
48912013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * grub-core/video/readers/tga.c: Support paletted tga.
4894
de6e5ff8
VS
48952013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
4898 incorrect cbcr setting when in color mode.
4899
fa31ee9c
VS
49002013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * grub-core/video/readers/png.c: Support paletted images and clean up
4903 greyscale support.
4904
e84f8188
VS
49052013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
4908 usage of wrong table which resulted in mishandling of 4-byte
4909 sequences.
4910
49112013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
4912
4913 * grub-core/term/terminfo.c: Add Home and End key sequences.
4914
d72bff09
VS
49152013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 * grub-core/video/readers/png.c (grub_png_decode_image_header):
4918 Fix formula for computing total number of bytes.
4919
29648c5d
VS
49202013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
4923 image processing, fix big-endian and support grayscale.
4924
4a876492
VS
49252013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
4928 Correctly will with maximum transparency when using index color.
4929
3ccf16df
VS
49302013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/video/readers/png.c: Support grayscale
4933
49342013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
4935
4936 * grub-core/video/readers/jpeg.c: Support grayscale.
4937
3ccf16df 49382013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
4939
4940 * grub-core/commands/loadenv.c: Support skipping signature check
4941 and variable names filtering.
4942
30b7f58f
VS
49432013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
4946 * grub-core/kern/emu/hostfs.c: Likewise.
4947 * util/getroot_unix.c: Likewise.
4948
bab7b1eb
VS
49492013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
4952 Migrate all explicit defines to this new one.
4953
43b1c99d
VS
49542013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
4957 grub_util_fd_strerror when using grub_util_fd_*.
4958 (grub_util_fd_open_device): Likewise.
4959 (grub_util_biosdisk_read): Likewise.
4960 (grub_util_biosdisk_write): Likewise.
4961 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
4962 (grub_util_fd_strerror): Likewise.
4963 (grub_util_fd_sync): Likewise.
4964 (grub_util_fd_close): Likewise.
4965 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
4966 (grub_util_fd_close): Likewise.
4967 (grub_util_fd_strerror): Likewise.
4968 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
4969 function proto rather than macro.
4970 (grub_util_fd_sync): Likewise.
4971 (grub_util_fd_open): Likewise.
4972 (grub_util_fd_strerror): New proto.
4973
e8fd80bc
VS
49742013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
4977 platforms on which it doesn't work.
4978
bf645fda
VS
49792013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
4982 stat immediately to where it's used.
4983
5177ba14
VS
49842013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * util/getroot.c (grub_util_check_block_device): Move to ...
4987 * util/getroot_unix.c (grub_util_check_block_device): ... here.
4988 * util/getroot.c (grub_util_check_char_device): Move to ...
4989 * util/getroot_unix.c (grub_util_check_char_device): ... here.
4990
9db826e1
VS
49912013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
4994 disk closing logic.
4995
49120085
AB
49962013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4997
4998 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
4999
b3328b68
AB
50002013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5001
5002 * docs/grub.texi (File name syntax): Document ZFS filenames
5003 (/volume@snapshot/...).
5004
3fff48ab
VS
50052013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
5008 Always return full path. Fixes a problem with mkrelpath.
5009
39cfdaa9
PFS
50102013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5011
5012 * util/grub-install.in: Add GPT PReP support.
5013 * util/grub-probe.c (probe): Support GPT partition type.
5014 (main): Support -t gpt_parttype.
5015
7c680e1f 50162013-09-23 Aleš Nesrsta <starous@volny.cz>
5017
5018 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
5019
890bdabe
MM
50202013-09-23 Massimo Maggi <me@massimo-maggi.eu>
5021
5022 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
5023
9c262ff9
TH
50242013-09-23 Tim Hardeck <thardeck>
5025
5026 * util/grub.d/10_hurd.in: Filter out character for the class.
5027 * util/grub.d/10_kfreebsd.in: Likewise.
5028 * util/grub.d/10_linux.in: Likewise.
5029 * util/grub.d/20_linux_xen.in: Likewise.
5030
d755342a
MC
50312013-09-23 Melki Christian <Christian.melki@saabgroup.com>
5032
5033 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
5034 "changed".
5035
68b77707
JT
50362013-09-23 Josh Triplett <josh@joshtriplett.org>
5037
5038 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
5039 boot partition.
5040
efa68bfa
VS
50412013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
5044 doesn't use posix_wrap. Keep literal -fno-builtin however.
5045
d9104204
VS
50462013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
5049
c248781a 50502013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
50512013-09-23 neil
5052
5830df88 5053 * configure.ac: Do not enable -Wmissing-noreturn as its
5054 usefulness is limited and creates problems on some OS notably with
5055 code generated by bison.
5056
50572013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
50582013-09-23 neil
5059
5060 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 5061 supported by all gcc and when it is, it's already enabled by -Wall.
5062
621bed69
VS
50632013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
5066 desactivated use of EDID at all.
5067
71764dc8 50682013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
50692013-09-23 neil
5070
5071 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
5072 video if no text is available.
5073
affce7d4 50742013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
50752013-09-23 neil
5076
5077 * configure.ac: Substitute TARGET_RANLIB.
5078
50792013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
50802013-09-23 neil
affce7d4
VS
5081
5082 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
5083
5084 Based on patches from AROS.
5085
0e8daad0 50862013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 50872013-09-23 neil
0e8daad0
VS
5088
5089 * grub-core/Makefile.am: Override STRIP and RANLIB.
5090 * configure.ac: compute TARGET_RANLIB.
5091 * INSTALL: Document TARGET_RANLIB
5092
5093 Based on patches from AROS.
5094
3f7d9c82
VS
50952013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
5098 that floppies are unpartitioned.
5099
bca8873a
VS
51002013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
5103 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
5104
51052013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
5108 less nice but more portable.
5109 * grub-core/lib/posix_wrap/wchar.h: Likewise.
5110
a47a78be
VS
51112013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
5114 for cheat_fd.
5115 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
5116 functions.
5117 (grub_cryptodisk_cheat_insert): Likewise.
5118 (grub_cryptodisk_close): Likewise.
5119
e85a5d5c
VS
51202013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
5123 Use windows path for DEFAULT_DIRECTORY.
5124
dad9fa6b
VS
51252013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
5128 difference was likely just gcc version, not anything mingw-related.
5129
7e518ca8
VS
51302013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 Use Winapi on both cygwin and mingw32 to share more code between both.
5133
d68d0157
AB
51342013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5135
5136 * util/grub-install.in: Add --grub-editenv option.
5137 * util/grub-install_header (grub_compress_file): Explicitly check for
5138 plain file to avoid cp error.
5139
775b284d
AB
51402013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5141
5142 * docs/grub.texi (Device syntax): Document new LVM UUID based device
5143 names; fix LVM driver name (lvm, not lv).
5144 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
5145 names.
5146
3ff4063d
VS
51472013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
5150 files rather than one file with loads of #if's.
5151 * util/getroot.c: Likewise.
5152
287faafe
VS
51532013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
5156
d1983764
VS
51572013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
5160 GNU/Hurd to the list of checked PRNG.
5161
15ce95c4
VS
51622013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 * configure.ac: On FreeBSD use -melf_*_fbsd format.
5165
207862dd 51662013-09-21 Ales Nesrsta <starous@volny.cz>
5167
7c680e1f 5168 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 5169
63653cfd
VS
51702013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
5173 * grub-core/disk/lvm.c: Add LVM UUIDs.
5174 * util/getroot.c: Use LVM UUIDs whenever possible.
5175
f5d3e7ef
AB
51762013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
5177
5178 * docs/grub.texi (Networking commands): Add documentation for
5179 network related commands.
5180
53c6b7d6
VS
51812013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * util/getroot.c (grub_util_open_dm): Check major rather than the name
5184 to determine if device is handled by devmapper.
5185 (convert_system_partition_to_system_disk): Likewise.
5186 (get_dm_uuid): Don't check explicitly if device is mapped, it's
5187 already done in grub_util_open_dm.
5188
e70d6736
LL
51892013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
5190
5191 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
5192 Clean up stack manipulation (sync_caches_armv*)
5193
90379808
VS
51942013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * util/lvm.c: Remove since unused. Remove remaining references.
5197
386701a8
VS
51982013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 Handle the case of partitioned LVM properly.
5201
5202 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5203 Stop on meeting LVM, mpath or DMRAID.
5204 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
5205 (read_device_map): Likewise.
5206 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
5207 device is full disk rather than erroring out on LVM and similar cases.
5208
53070787
VS
52092013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
5212
1bc783bd
VS
52132013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
5216 4K before the end.
5217 Reported by: Leif Lindholm
5218
436ad5c3
PW
52192013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
52202013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
5223 codes.
5224
607319c9
CW
52252013-09-18 Colin Watson <cjwatson@ubuntu.com>
5226
5227 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
5228 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
5229
d404d154
DR
52302013-09-18 Douglas Ray <dougray@cpan.org>
5231
5232 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
5233 as secure.
5234
28851ef6
AN
52352013-09-18 Aleš Nesrsta <starous@volny.cz>
5236
5237 * docs/grub.texi: Fix broken link.
5238
897c3bc6
MC
52392013-09-18 Melki Christian <Christian.melki@saabgroup.com>
5240
5241 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
5242 to break endless loop.
5243
f1630459
VS
52442013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * util/grub-fstest.c: Fix several printf formats.
5247 * util/grub-mkimage.c: Likewise.
5248 * util/grub-mkimagexx.c: Likewise.
5249 * util/grub-script-check.c: Likewise.
5250
64463dfd
VS
52512013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
5254 error.
5255
48972495
VS
52562013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
5259
5dd5e64b
VS
52602013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
5263 removed in current versions cygwin_conv_*.
5264
1c1f31e5
VS
52652013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 * configure.ac: Disable efiemu runtime on cygwin.
5268
c546a259
VS
52692013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
5272 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
5273
81690478
VS
52742013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
5277 error message.
5278
6b87c10a
VS
52792013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
5282 windows variant.
5283 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
5284 data.
5285
8f0baaac
VS
52862013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
5289 when on x86 and not cygwin.
5290 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
5291 -Wl,-melf_x86_64.
5292
b224c266
VS
52932013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * configure.ac: Set CPP to build one when checkoing for freetype for
5296 build.
5297
506b336b
VS
52982013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
5301 [!GRUB_BUILD]: Remove has_argument.
5302
8c8c87b7
VS
53032013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
5306 Replace with a dummy.
5307
7dc5ca13
VS
53082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * configure.ac: Don't change host_os from mingw to cygwin.
5311
c3302aa5
VS
53122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 * configure.ac: Change target_os from windows to cygwin.
5315
7b780018
VS
53162013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 Handle grub-pe2elf and grub-mkfont for cases when build != host.
5319
5320 * Makefile.am (build-grub-mkfont): Don't include gnulib.
5321 (build-grub-gen-asciih): Likewise.
5322 (build-grub-gen-widthspec): Likewise.
5323 * Makefile.util.def (grub-pe2elf): Remove.
5324 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
5325 * configure.ac: Separate tests for build.
5326 Move ./build-grub-pe2elf to grub-core.
5327 Fix typo.
5328 * grub-core/Makefile.am (build-grub-pe2elf): New target.
5329 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
5330 defined.
5331 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
5332 constants.
5333 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
5334 * util/grub-pe2elf.c: Simplify not to rely on getopt.
5335 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
5336
984cfd8a
VS
53372013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
5340 mingw32 as well based on grub_util_get_disk_size.
5341 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
5342 grub_util_get_fd_size.
5343 (sync): Removed.
5344 (fsync): Moved to ...
5345 * grub-core/kern/emu/misc.c (fsync): ... here.
5346
f82d79c9
VS
53472013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * include/grub/mm.h (grub_extend_alloc): Remove.
5350 * grub-core/loader/i386/pc/plan9.c: Use own version of
5351 grub_extend_alloc with appropriate types.
5352
fd7dd66d
VS
53532013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5354
5355 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
5356
43ffba7c
VS
53572013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 * util/getroot.c: Include sys/wait.h only when we need waitpid.
5360
3c7eac44
VS
53612013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 Fix dependencies on cygwin.
5364
5365 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
5366 dependencies when used and defined.
5367 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
5368
bdb5ba47
VS
53692013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
5372 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
5373
ed7fbf43
VS
53742013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
5377 implementation available to cause compile-time rather than runtime
5378 error.
5379
fc46e9fc
VS
53802013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * util/grub-fstest.c: Don't check for symlinks on windows.
5383
7f68269a
VS
53842013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * INSTALL: Mention unavailability of man pages when cross-compiling.
5387
8ed358e0
VS
53882013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
5391 and gcry_log_bug.
5392 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
5393
fc97214f
VS
53942013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * INSTALL: Document cross-compilation.
5397 * acinclude.m4: Determine whether nm support -P and --defined-only.
5398 * configure.ac: Add TARGET_ to all variables pertaining to target
5399 that don't have it yet.
5400 * gentpl.py: Likewise.
5401 * grub-core/Makefile.am: Likewise.
5402 * grub-core/genmod.sh.in: Likewise.
5403 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
5404 as well.
5405
ca1fb563
IB
54062013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5407
5408 * configure.ac: Remove -Wempty-body. It's not essential and needs
5409 recent gcc.
5410
0031b229
IB
54112013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5412
5413 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
5414 * util/getroot.c: Likewise.
5415
54ea2f44
VS
54162013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * grub-core/disk/ahci.c: Add needed explicit cast.
5419 * grub-core/lib/backtrace.c: Likewise.
5420 * grub-core/net/ip.c: Likewise.
5421 * grub-core/net/tcp.c: Likewise.
5422 * grub-core/net/udp.c: Likewise.
5423
3c601f8c
VS
54242013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
5427
1d679dda
VS
54282013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * util/import_gcry.py: Add final newline in visibility.h.
5431
00c28dd9
VS
54322013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * conf/Makefile.common: Fix typo.
5435
32af299a
VS
54362013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
5439
e733cf52
VS
54402013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * Makefile.am (widthspec.h): Fix typo.
5443 * util/grub-gen-widthspec.c: Likewise.
5444
c6b066f2
VS
54452013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 Move ascii.h and widthspec.h generation to a separate build-time-only
5448 tool.
5449
ad1fe3f9 54502013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5451
5452 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5453 Always fill bootdisk info and improve check for NetBSD disklabel.
5454
92a52dd4
VS
54552013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 * conf/Makefile.extra-dist: Add util/bin2h.c.
5458 Reported by: floppym.
5459
b2e9d276
VS
54602013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5461
5462 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
5463
7b966834
VS
54642013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * configure.ac: Disable unifont and starfield if no freetype was found.
5467
d5c1eef1
VS
54682013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
5471 on NetBSD and OpenBSD.
5472
66345b50 54732013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
5474
5475 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
5476
66345b50 54772013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
5478
5479 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
5480 reduced. Inheritant options are processed during the theme loading.
5481
66345b50 54822013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
5483
5484 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
5485
369508b3
AS
54862013-08-14 Avik Sil <aviksil@in.ibm.com>
5487
5488 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
5489
54902013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
5491
5492 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
5493 using qemu.
5494
6f27a3f6
PFS
54952013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5496
5497 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
5498 remove-potcdate.sed.
5499
c6ed362a
AB
55002013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5501
5502 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
5503 unused attribute from pull argument.
5504
5e7d9464
AB
55052013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5506
5507 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
5508 memory leak.
5509
dea55e2a
AB
55102013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5511
5512 * util/getroot.c (pull_lvm_by_command): add --separator option
5513 to vgs call to disable padding of output to 10 characters.
5514
f0b94ded
VS
55152013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
5518 here ...
5519 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
5520 here.
5521
b828fb5d
VS
55222013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
5525 length.
5526
7c9d0c39
VS
55272013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 Fix handling of build-time grub-bin2h and grub-mkfont when doing
5530 full Canadian cross. Tested with build=x86_64, host=arm,
5531 target=ppc-ieee1275.
5532
816719c8
VS
55332013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * configure.ac: Error if no $BUILD_CC could be found.
5536 Reported by: DevHC.
5537
2af2353b
VS
55382013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
5541 i386-multiboot.
5542
797abd0a
VS
55432013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
5546 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
5547
36e87d25
CW
55482013-08-13 Colin Watson <cjwatson@ubuntu.com>
5549
5550 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
5551 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
5552 falling back to the partition device, otherwise a later call to this
5553 function may fail spuriously.
5554 Reported by Axel Beckert. Fixes Debian bug #708614.
5555
273349fe
GS
55562013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5557
5558 * autogen.sh: Replace find -not by the POSIX-compliant find !.
5559
418f86c6
GS
55602013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5561
5562 Prevent shadowing of stdlib's devname(3) on BSD.
5563
5564 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
5565 and devlast to diskname and disklast, respectively.
5566
c137aea0
CW
55672013-08-11 Colin Watson <cjwatson@ubuntu.com>
5568
5569 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
5570
272dc8df 55712013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
5572
5573 * docs/grub.texi: Introduce terminal window position options:
5574 terminal-left: terminal window's left position
5575 terminal-top: terminal window's top position
5576 terminal-width: terminal window's width
5577 terminal-height: terminal window's height
5578 terminal-border: terminal window's border width
5579 * grub-core/gfxmenu/theme-loader.c: Likewise.
5580 * include/grub/gfxmenu_view.h: Likewise.
5581 * po/exlude.pot: Likewise.
5582 * grub-core/gfxmenu/view.c: Likewise.
5583 Also updated minimal window size.
5584 Also terminal_sanity_check function has been introduced.
272dc8df
VT
5585 * grub-core/tests/checksums.h: Update (terminal window height
5586 is adjusted now for low resolution screen)
b4743461 5587
748a4533
VS
55882013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
5591 position).
5592
fca5f944
VS
55932013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * po/exclude.pot: Add few recent exceptions.
5596
4f47d809
VS
55972013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * tests/grub_func_test.in: Add unicode.pf2.
5600
a62ae90c
VS
56012013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
5604 standard rather than noral color, in line with other terminals.
5605
4ed41392
VS
56062013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
5609 analysis.
5610
3719fbc5
VS
56112013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 * grub-core/loader/arm/linux.c: Change printf to dprintf.
5614
459b1d91
VS
56152013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
5618 inappropriate printf.
5619
f4e1ab9d
AB
56202013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
5621
5622 * .bzrignore: Remove grub-core/lib/dtc-grub,
5623 grub-core/Makefile.libfdt.def
5624 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
5625
fa471bfa
VS
56262013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * include/grub/video.h (grub_video_register): Keep double-linked as
5629 well as single-linked invariants.
5630 Reported by: qwertial.
5631
d65be02b
VS
56322013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * grub-core/commands/nativedisk.c (get_uuid): Handle
5635 GRUB_DISK_DEVICE_UBOOTDISK_ID.
5636
ba8bc620
VT
56372013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
5638
5639 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
5640 maximum of NW, N, NE heights instead of N's height and maximum of
5641 NW, W, SW widths instead of W's width. (So the box will be always
5642 correctly drawn)
5643
4f0ad029
GS
56442013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5645
5646 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
5647 Fix misuse of variable count.
5648
43d53b72
LL
56492013-07-18 Leif Lindholm <leif.lindholm@arm.com>
56502013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
56512013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 5652
43d53b72
LL
5653 New ports to arm-uboot and arm-efi.
5654 Mostly by Leif Lindholm with some additions from
5655 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 5656
88f8d146
VS
56572013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
5660 and not before.
5661 Reported by: Leon Drugi.
5662
3f42504c
VS
56632013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
5666 Reported by: Paulo Flabiano Smorigo.
5667
d110499b
VT
56682013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5669
5670 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
5671
a8674ad3
VT
56722013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5673
5674 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
5675
286fe4b3
VS
56762013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
5679
1bd57aa3
VS
56802013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
5683
7a87d69f
AB
56842013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
5685
5686 * grub-core/net/bootp.c: Export net_* variables.
5687 * grub-core/net/net.c: Likewise.
5688
b2182299
VS
56892013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
5692
795b3dc0
VS
56932013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
5696
68714c43
VS
56972013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
5700
af211bab
VS
57012013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
5704
0036f02d
MM
57052013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5706
5707 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
5708 <= 0.
5709
6d0ddff3
MM
57102013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5711
5712 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
5713 functions.
5714
038016f4
MM
57152013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5716
5717 * grub-core/fs/zfs/zfs_lz4.c: New file.
5718 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
5719
776bdce2
MM
57202013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5721
5722 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
5723
c71dbd40
MM
57242013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5725
5726 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
5727 (check_pool_label): Likewise.
5728 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
5729
57302013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
5731
5732 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
5733
8e67b50f
AB
57342013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5735
5736 * docs/grub.texi (Commands): Document postition parameters
5737 for menuentry command.
5738
f5ae3717
AB
57392013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5740
5741 * util/grub-mknetdir.in: Remove stray line from help output.
5742
9c28da2a
VS
57432013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 Remove early sm712 init as there is no reason for it (the "watchdog"
5746 effect was due to wrong GPIO map).
5747
139072b8
VS
57482013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 * grub-core/commands/pcidump.c: Remove static variables.
5751
c6a61bda
VS
57522013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * grub-core/commands/sleep.c: Refresh screen before sleeping.
5755
51369614
VS
57562013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * configure.ac: Move delimiter after the infos.
5759
efa8640a
VS
57602013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
5763
6f80a7b2
VS
57642013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
5767 not filling whole 8x16 space.
5768
a2371e19
VS
57692013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
5772
64fce2d8
VS
57732013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * configure.ac: Indicate which liblzma is used if any.
5776
eb272d84
PW
57772013-06-21 Paul Wise <pabs3@bonedaddy.net>
57782013-06-21 Craig Sanders <savannah@taz.net.au>
5779
5780 * util/grub-reboot.in: Document submenu usage.
5781
a9e5abee
CW
57822013-06-25 Colin Watson <cjwatson@ubuntu.com>
5783
5784 * .bzrignore: Update with a number of new test-related files.
5785
e639c204
CW
57862013-06-25 Colin Watson <cjwatson@ubuntu.com>
5787
5788 * util/grub-script-check.c: Fail on scripts containing no
5789 commands, to guard against corrupted grub-mkconfig setups that
5790 produce no useful output.
5791 * tests/grub_script_no_commands.in: New test.
5792 * Makefile.util.def (grub_script_no_commands): Add.
5793 Reported by Hans Putter. Fixes Debian bug #713886.
5794
a4c89b17
AB
57952013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5796
5797 * grub-core/disk/diskfilter.c: Forgot to remove comment
5798 from previous commit.
5799
5b06b53c
AB
58002013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5801
5802 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5803 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
5804
702da5c9
AB
58052013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5806
5807 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
5808
aa62a5b7
AB
58092013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5810
5811 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
5812 rescan diskfilter devices until nothing new is found.
5813
4aa237c8
VS
58142013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 Fix casts when compiling coreboot-specific code for 64-bit EFI.
5817
93d8479b
VS
58182013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 Don't try to detect cbfs on *-emu.
5821
837222cc
VS
58222013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * grub-core/term/gfxterm.c: USe right background color when scrolling.
5825
99c971af
VS
58262013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 Add support for processed coreboot payload chainloading.
5829
e6930a45
VS
58302013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 Enable coreboot information commands even when not loaded as
5833 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
5834
5027af38
VS
58352013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 Support for cbfs. Also factor out the part which is common
5838 for all archives to a separate module. This splits tar from cpio
5839 as they are very different but keeps cpio, cpio_be, odc and newc
5840 together since they're very similar.
5841
a5b55c4b
DM
58422013-06-15 David Michael <fedora.dm0@gmail.com>
5843
5844 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
5845 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
5846
0301a8b3
VS
58472013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * tests/grub_script_eval.in: Really add the eval test.
5850
3d84cb17
VS
58512013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 Move flavour-specific parts out of common cpio.c file and
5854 rename remaining to cpio_common.c
5855
593e430c
AB
58562013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5857
5858 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
5859 off new function grub_script_execute_new_scope. Change callers to use
5860 either of them as appropriate.
5861 * grub-core/commands/eval.c: New command eval.
5862 * docs/grub.texi (Commands): Document it.
5863
63c29849
AB
58642013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5865
5866 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
5867 to fetch values when listing.
5868
cc284112
AB
58692013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5870
5871 Fix make dist on non-pc.
5872
58732013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
5874
5875 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
5876 without a device name.
5877
69544d1e
VS
58782013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 Remove enable_executable_check as it's not needed anymore.
5881 Reported by: dougray.
5882
96dbe648
VS
58832013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
5886 ambigouos RAID before discovering RAIDs on top of it.
5887 Reported by: bodom.
5888
ccfc0bdb
VS
58892013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 Fix typo (failback vs fallback).
5892
f2587088
AB
58932013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
5894
5895 * util/grub.d/30_os-prober.in: Add support for probing EFI
5896 System Partition (as of os-prober 1.58).
5897
cec5cf0c
VS
58982013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 * configure.ac: Add yet another path to unifont. For parabola.
5901
e40b4596
JT
59022013-05-30 Josh Triplett <josh@joshtriplett.org>
5903
5904 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
5905 handling to copy the killed characters to the kill buffer as
5906 UCS4 stored as grub_uint32_t rather than as 8-bit characters
5907 stored as char. Eliminates UCS4 truncation and corruption
5908 observed when killing characters with Ctrl-u and yanking them
5909 back with Ctrl-y.
5910
fc4c4fdd
VS
59112013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5912
5913 Detach optional parts of gfxterm and integrate in with coreboot init.
5914
6570b205
VS
59152013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 Move blit and fill dispatcher to appropriate files to decrease export
5918 and relocation overhead.
5919
b8323067
VS
59202013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * grub-core/font/font.c, include/grub/font.h: Inline simple font
5923 functions.
5924
3cc1878f
VS
59252013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * grub-core/Makefile.am: Fix compilation problem with some
5928 automake versions.
5929
4b80e43c
VS
59302013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
5933
57e0c20c
VS
59342013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
5937 automake versions.
5938
4fd42c53
VS
59392013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
5942 SSDT.
5943
1e908b34
RS
59442013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
5945
5946 * grub-core/partmap/dfly.c: New partition map.
5947
1359e474
VS
59482013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
5951 checking.
5952 Reported by: Francesco Lavra.
5953
17806392
AB
59542013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
5955
5956 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
5957 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
5958 false conditions.
5959 * conf/Makefile.common: define dist_grubconf_DATA
5960
cdce14fa
VS
59612013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5962
5963 Progressively skip menu elements on small terminals rather
5964 than crashing.
5965
c8d6cc3c
VS
59662013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5969 to avoid losing last column.
5970
a73b31ce
VS
59712013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * po/exclude.pot: Add missing string "%C".
5974
1202c764
VS
59752013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
5978 after the test.
5979
50268344
VS
59802013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * util/grub-install.in: Gettextize "Not found" message.
5983
62b15edf
VS
59842013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 Fix distfiles list.
5987 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5988
59892013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
5990
5991 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
5992 present.
5993 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
5994
709ad61b
VS
59952013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
5998
d128901a
VS
59992013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
6002 attribute since structure is not necessarily aligned.
6003
34b22f5c
AB
60042013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
6005
6006 * docs/grub.texi (Device syntax): Clarify description of network
6007 drives.
6008
0f7e980b
VS
60092013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
6012 for vasprintf presence.
6013
30b03dc2
VS
60142013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * util/grub-install.in: Handle efibootmgr presence check.
6017 Reported by: Leif Lindholm.
6018
0dc11c08
VS
60192013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
6022 new strings to translate.
6023
f8024c3f
VS
60242013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
6027 yet another string (pun intended) to translate.
6028
b4c1da62
VS
60292013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 * po/POTFILES-shell.in: Autogenerate it.
6032
0ef7478b
VS
60332013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6034
6035 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
6036
8200fa15
VS
60372013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
6040 misnomer.
6041
091945b2
AB
60422013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
6043
6044 * docs/grub.texi (Network): Add description of net_default_interface,
6045 net_default_ip and net_default_mac. Rewrite variables description
6046 to emphasize that they are per-interface.
6047
0e7b2e32
VS
60482013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 New test: cmdline and cat.
6051
16f7c8f6
VS
60522013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6053
6054 * grub-core/commands/cat.c: Show UTF-8 characters.
6055
3e912fda
VS
60562013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * conf/Makefile.common: Poison float and double on non-emu.
6059
ee0220bc
VS
60602013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * configure.ac: Don't disable extended registers on emu.
6063
89e0240c
VS
60642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * configure.ac: Don't use extended registers on x86_64.
6067 Reported by: Peter Jones.
6068
e56d9637
VS
60692013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * grub-core/term/efi/console.c: Fix compile error.
6072
8098f655
VS
60732013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 Compressed HFS+ support.
6076
16940e07
VS
60772013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
6080 pixel".
6081
c5dbc13d
VS
60822013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 Menu color test.
6085
011f8ae8
VS
60862013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * grub-core/tests/setjmp_test.c: New test.
6089
2aa072d7
VS
60902013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 New variables 'net_default_*' to determine MAC/IP of default interface.
6093
43fe02cb
VS
60942013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * tests/gettext_strings_test.in: A test to check for strings not
6097 marked for translation.
6098
bed06142
VS
60992013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * autogen.sh: Exclude unused libgcrypt files from translation.
6102
fb2666b5
VS
61032013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 Simplify few strings.
6106
d22840ec
VS
61072013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 Mark few forgotten strings for translation.
6110
e34092fd
VS
61112013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
6114 rather than printf.
6115
47cf82b4
VS
61162013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
6119 rather than printf.
6120 * grub-core/video/readers/tga.c: Likewise.
6121
1eed0e6e
VS
61222013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6123
6124 * tests/priority_queue_unit_test.cc: New test.
6125
c5b7697b
VS
61262013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
6129 than printf.
6130
5945c2f8
AB
61312013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
6132
6133 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
6134 variable for one time boot menu entry.
6135
fa292343
B
61362013-05-05 Bean <bean123ch@gmail.com>
6137
6138 * grub-core/commands/testspeed.c: New command testspeed.
6139
310d4214
VS
61402013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 Factor-out human-size printing.
6143
85002bf3
VS
61442013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 Agglomerate more mallocs to speed-up gfxterm.
6147
22b06e96
VS
61482013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 Speed-up gfxterm by slightly agglomerating mallocs.
6151
b7c036bc
VS
61522013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 More video checks.
6155
92323d1f
VS
61562013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 Speed-up gfxterm by saving intermediate results in index+alpha
6159 format.
6160
0fb356a3
VS
61612013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
6164 test.
6165
44dea3f9
VS
61662013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
6169 line of timeout as it may contain the rest of long line.
6170
14af86e4
VS
61712013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * grub-core/normal/main.c: Fix freed memory dereference.
6174
03f7c8c3
VS
61752013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 Fix several memory leaks.
6178
c686014c
VS
61792013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
6182
0788a695
VS
61832013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
6186
daf01d61
VS
61872013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 Fix test -a and -o precedence.
6190 Reported by: adrian15.
6191
82ae74d7
VS
61922013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
6195
8cec7bd4
AB
61962013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
6197
6198 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
6199 and add it as source to functional_test module.
6200
aa73d688
VS
62012013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
6204
c104b6f9
VS
62052013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 New series of tests for gfxterm and gfxmenu.
6208
7391c4d5
VS
62092013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
6212 the theme path relative to $prefix/themes.
6213
cff50118
VS
62142013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
6217 Fix order bug.
6218 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6219
7c332bdc
VS
62202013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
6223 descriptor.
6224
a4f9a5ff
VS
62252013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
6228 grub_gfxmenu_timeout_notifications.
6229 (grub_gfxmenu_view_destroy): Likewise.
6230
b5a2114d
VS
62312013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
6234
a8905e8a
VS
62352013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 Several fixes to ieee1275 and big-endian video.
6238
813c1622
VS
62392013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 Add missing exports on mips.
6242
3f3e7326
VS
62432013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
6246 if no unifont is found.
6247 Restore original keyboard.
6248
095accd1
VS
62492013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6252 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
6253
50361660
VS
62542013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 First automated video test (running videotest and comparing results)
6257
cd0f6eec
VS
62582013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
6261 instead of 2 to have full RGB/CMY test pattern.
6262
3f9634e5
VS
62632013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 Add few more tests.
6266
583e5b64
VS
62672013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * include/grub/arc/arc.h: Account for missing "other" peripheral on
6270 ARCS. All users updated.
6271
aa7bcb99
VS
62722013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
6275
95ef1a54
VS
62762013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * grub-core/partmap/amiga.c: Fix size of checksummed block.
6279
46546fc5
VS
62802013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
6283 Reported by: qwertial.
6284
3476e0ef
VT
62852013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6286
6287 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
6288 with syntax "XXX deg"/"XXX °".
6289
96f33fed
VS
62902013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 Make PCI init in i386-qemu port more robust.
6293
62942013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
6295
6296 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
6297 cached view is reused.
6298 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
6299 open boot menus.
6300
c53b4e67
VS
63012013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 Unify more code in grub-install_header.
6304
f7457fb2
VS
63052013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 Add few new tests.
6308
e2f27a8c
VS
63092013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 Enforce disabling of firmware disk drivers when native drivers kick in.
6312
ef9d8cd5
VS
63132013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 * grub-core/commands/nativedisk.c: Customize the list of modules on
6316 platform. Don't try to search for disks already using native drivers.
6317
f7bf6c31
VS
63182013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
6321 platforms.
6322
bdc4add8
VS
63232013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
6326 handling of variables containing backslash.
6327
e9e46c9a
VS
63282013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
6331 dereference.
6332 Reported by: qwertial.
6333
0e90dee8
VS
63342013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
6337
e0aacf24
VS
63382013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
6341 dereference.
6342 Reported by: qwertial.
6343
3c0003c3
VS
63442013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * docs/grub.texi: Add a comment about usefullness of nativedisk.
6347
adb7d667
VS
63482013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
6351
7cd0df84
VS
63522013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 New command `nativedisk'.
6355
02adbb93
VS
63562013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
6359 * grub-core/loader/i386/bsd.c: Likewise.
6360
9fb0fd4f
VS
63612013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
6364
bd69257a
VS
63652013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
6368 grub_get_unaligned16 rather than shifts.
6369
178c2764
VS
63702013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * grub-core/kern/file.c: Use const char * rather than casting to
6373 non-const.
6374
eadfad24
VS
63752013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * grub-core/commands/probe.c: Add missing grub_device_close.
6378
9f73ebd4
VS
63792013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * INSTALL: Document linguas.sh.
6382
965fa829
VS
63832013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 Remove POTFILES.in and regenerate it in autogen.sh.
6386
d417ddc4
VS
63872013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 Move --directory/--override-directorry to grub-install_header and unify.
6390
f97ec546
VS
63912013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * grub-core/term/morse.c: Macroify dih and dah.
6394
b2d7470c
PFS
63952013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6396
6397 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
6398
141e2a78
VS
63992013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 * grub-core/term/ns8250.c: Systematically probe ports by writing
6402 to SR before using them.
6403
1dd70ebd
PFS
64042013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6405
6406 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
6407 disks.
6408 (check_sas): Get sas_adress info.
6409
c796a107
VS
64102013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
6413 ports.
6414
43168646
LD
64152013-04-27 Leon Drugi <eyak>
6416
6417 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
6418 BSS clearing.
6419
e7b8fd08
VS
64202013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 Core compression test.
6423
17f9fd29
VS
64242013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 Implement grub_machine_get_bootlocation for ARC.
6427
dc2a6c8b
VS
64282013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 Improve AHCI detection and command issuing.
6431
f25a2ba6
VS
64322013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 Fix pseries test.
6435
a6393224
VS
64362013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 Make 'make check' work on emu.
6439
db99fbe8
VS
64402013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 Replace libcurses with our own vt100 handling for the ease of testing
6443 and decreasing prerequisites.
6444
b24ca7cd
VS
64452013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
6448
63314aa4
VS
64492013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
6452 compile when not needed.
6453
c1b00fff
VS
64542013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * tests/pseries_test.in: New test.
6457
f93e89ef
VS
64582013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 Add test to check that different boot mediums work.
6461
c4b456d3
VS
64622013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
6465 ofw limited ISO support.
6466
5fe67f39
VS
64672013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * configure.ac: Fix loongson conditional.
6470
7f63a64f
VS
64712013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6472
6473 Enable mipsel-arc.
6474
b04b5990
VS
64752013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 Add serial on ARC platform.
6478
88d2f302
VS
64792013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
6482 commit.
6483
86eb23bc
VS
64842013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * tests/partmap_test.in: Add missing double semicolon.
6487
eec3bb75
VS
64882013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 * util/grub-mkrescue.in: Fix loongson filename.
6491
e0810df3
VS
64922013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 * util/grub-mkrescue.in: Move all files that don't have a location
6495 set in stone under /boot/grub. Use ISO hard links rather than copies
6496 to save some space.
6497
65a6b30b
VS
64982013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
6501 bogus SLOF values.
6502
6aff0107
VS
65032013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 Make check work on mips-arc.
6506
5e013e56
VS
65072013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * util/grub-mkrescue.in: Alias sashARCS as sash.
6510
d1989e2e
VS
65112013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
6514 it's serial.
6515
1a25e72c
VS
65162013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 * util/grub-install.in: Fix target fo qemu_mips.
6519 Fix extension on EFI.
6520
a59a9826
VS
65212013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
6524 in front of chosen entry to mark it even if highlighting is lost.
6525
1a40f80c
VS
65262013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
6529 gfxpayload=keep if cbfb is active.
6530
e343549c
VS
65312013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
6534
45fbd9a2
VS
65352013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 Add missing video ids to coreboot and ieee1275 video.
6538
ab1440bd
VS
65392013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * util/grub-mkrescue.in: Add mips-arc support.
6542
cdeb8324
VS
65432013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
6546
8528c879
VS
65472013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 Move mips-arc link address. Previous link address was chosen
6550 in belief that RAM on SGI platforms grows down while in fact it
6551 grows up from an unusual base.
6552
17fca573
VS
65532013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
6556 Fix a type which prevented CD-ROM and floppy boot.
6557
d178788e
VS
65582013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 Support coreboot framebuffer.
6561
6562 * grub-core/video/i386/coreboot/cbfb.c: New file.
6563
fe4c3e7e
VS
65642013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
6567 detecting too small regions.
6568
ec2dd179
VS
65692013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
6572
872dac83
VS
65732013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
6576 Remove dprintf.
6577 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6578
90ec4b7f
VS
65792013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
6582 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6583 * grub-core/loader/powerpc/ieee1275/linux.c
6584 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6585
f32555dd
VS
65862013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6589 Look for /boot-rom as well as /rom/boot-rom.
6590
38649799
VS
65912013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
6594 handling when creating text_layer failed.
6595 * grub-core/video/video.c (grub_video_create_render_target):
6596 Set result to 0 on error.
6597 (grub_video_delete_render_target): Do not dereference NULL.
6598
aeace7f7
VS
65992013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
6602 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
6603 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
6604 (grub_linux_load64): Mask out 2 high bits.
6605
4eafa175
AB
66062013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
6607
6608 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
6609 more place.
6610
daaa64bd
VS
66112013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 Add support for pseries and other bootinfo machines to grub-mkrescue.
6614
6615 Tested by: Paulo Flabiano Smorigo.
6616
d0d2daa6
VS
66172013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * util/grub-mkrescue.in: Add GPT for EFI boot.
6620
b193e100
VS
66212013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
6624 It improves performance in qemu.
6625
a0f8f3ac
VS
66262013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * build-aux/snippet: Add missing gnulib files.
6629
284df0e2
AB
66302013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6631
6632 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
6633
740201f3
AB
66342013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6635
6636 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
6637
a7e03923
PJ
66382013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
66392013-04-15 Peter Jones <pjones@redhat.com>
6640
6641 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
6642 sectors.
6643 Based on patch by Peter Jones.
6644
25fc51a8
VS
66452013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 Fix DMRAID partition handling.
6648
88017d47
VS
66492013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * tests/grub_cmd_date.in: Skip on sparc64.
6652
fa7d914e
VS
66532013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
6656 firmware error messages.
6657
cbe57a48
VS
66582013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
6661 source and destination differ.
6662
21aecce0
VS
66632013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
6666 detection.
6667
25092d29
VS
66682013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6669
6670 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
6671 match config-util.h to avoid warnings and increase compatibility.
6672
79451522 66732013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 66742013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
6675
6676 Add option to compress files on install/image creation.
6677
78b7d77b
VS
66782013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * docs/grub-dev.texi: Rearrange menu to match the section order.
6681 Reported by: Bryan Hundven.
6682
cc2fa5ec
VS
66832013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
6686
b49fe879
VS
66872013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 Move GRUB out of system area when using xorriso 1.2.9 or later.
6690
5351da81
VS
66912013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * tests/grub_cmd_date.in: Add missing exit 1.
6694
c9d586ea
VS
66952013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * tests/partmap_test.in: Skip on sparc64.
6698
3f729741
VS
66992013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 Support grub-shell on sparc64.
6702
8ca86b3a
VS
67032013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 Support mkrescue on sparc64.
6706
aa1af9bb
VS
67072013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 Allow IEEE1275 ports on path even if it wasn't detected automatically.
6710 Needed on OpenBIOS due to incomplete device tree.
6711
ac4fea79
VS
67122013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
6715 would be otherwise excluded.
6716
67172013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
6718
6719 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6720 Inline name defines used only once.
6721
fe22b071
VS
67222013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 Fix memory leaks in ofnet.
6725 Reported by: Francesco Lavra.
6726
9d21381b
VS
67272013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * docs/man/grub-glue-efi.h2m: Add missing file.
6730
07aec23c
VS
67312013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
6734
67ab8353
VS
67352013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 Better support Apple Intel Macs on CD.
6738
ba44ca6d
VS
67392013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 Replace stpcpy with grub_stpcpy in tools.
6742
bbdd6305
VS
67432013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 Handle Japanese special keys.
6746 Reported by: Hiroyuki YAMAMORI.
6747 Codes supplied by: Hiroyuki YAMAMORI.
6748
8573d302
VS
67492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * util/grub-mkimage.c: Document memdisk implying --prefix.
6752
d70dbab7
VS
67532013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
6756 much we can do about it anyway.
6757
51a4c3e3
AN
67582013-04-12 Aleš Nesrsta <starous@volny.cz>
6759
6760 Fix handling of split transfers.
6761
92c8f58d
VS
67622013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * grub-core/net/http.c: Fix bad free.
6765
b7d17a49
VS
67662013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
6769 than buffer size.
6770
a3d566d4
VS
67712013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 Disable partmap check on i386-ieee1275 due to openfirmware issues.
6774
a936af56
VS
67752013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * tests/util/grub-shell.in: Fix it on powerpc.
6778
51212234
VS
67792013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 Turn off QEMU ACPI-way since new releases don't have shutdown port
6782 anymore.
6783
a21eec9e
VS
67842013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * docs/grub.texi: Update coreboot status info.
6787
e3734b84
VS
67882013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * tests/grub_cmd_date.in: New test for datetime.
6791
f9d40055
VS
67922013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * tests/partmap_test.in: Fix missing qemudisk setting.
6795
dbc56d8f
VS
67962013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 Support i386-ieee1275 grub-mkrescue and make check on it.
6799
a79b8a15
VS
68002013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
6803 feature for it.
6804
48f39bb4
VS
68052013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
6808 GRUB_CMDLINE_XEN_DEFAULT.
6809 Reported by: Marc Warne (GigaTux) <gigatux>
6810
053cfcdd
VS
68112013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 Import new gnulib.
6814
93cd84df
VS
68152013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 Use ACPI shutdown intests as traditional port was removed.
6818
f4b1fa4f
AB
68192013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
6820
6821 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
6822 distinction.
6823
49818a59
VS
68242013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
6827 Fix few warining messages and leaks while on it.
6828
9277a306
AB
68292013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
6830
6831 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
6832 links under grub-core/lib/libgcrypt-grub/mpi.
6833
d5e2a158
VS
68342013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 Fix ia64-efi image generation on big-endian machines. Deduplicate
6837 some code while on it.
6838 Reported by: Leif Lindholm.
6839
18866643
AB
68402013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6841
6842 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
6843 as extra_dist.
6844
ca53deb8
AB
68452013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6846
6847 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
6848
d4c4b8e1
BH
68492013-04-08 Bryan Hundven <bryanhundven@gmail.com>
6850
6851 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
6852 texinfo-5.1.
6853
47043f95
VS
68542013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * grub-core/normal/term.c: Few more fixes for menu entry editor
6857 rendering.
6858 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6859
a3216068
VS
68602013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * grub-core/normal/term.c: Few more fixes for menu entry editor
6863 rendering.
6864 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6865
21026747
AB
68662013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6867
6868 * conf/Makefile.extra-dist (EXTRA_DIST): Add
6869 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
6870
59624ca8
AB
68712013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6872
6873 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
6874 instead of hardcoding grub.mo.
6875
1f44478c
FN
68762013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
6877
6878 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
6879
eeada7b1
VS
68802013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
6883 grub-core/disk/geli.c.
6884
132867de
VS
68852013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * util/grub-mkfont.c: Prefer enum to #define.
6888
de73de17
VS
68892013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
6892
1865baa7
VS
68932013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
6896
ce7d92a9
VS
68972013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
6900
52eab656
VS
69012013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
6904
98b23b95
VS
69052013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * include/grub/bsdlabel.h: Use enums.
6908
0467a5dd
VS
69092013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 Move GRUB_CHAR_BIT to types.h.
6912
16cc9f03
AB
69132013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6914
6915 * docs/grub.texi: Document more user commands.
6916
3152aecb
AB
69172013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6918
6919 * docs/grub.texi: Document menuentry --id option.
6920
c506fc30
FL
69212013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
6922
6923 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
6924
aa428238
VS
69252013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 Unify file copying setup across different install scripts. Add
6928 options for performing partial install.
6929
efe0cdda
PJ
69302013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
69312013-04-04 Peter Jones <pjones@redhat.com>
6932
6933 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
6934
f75835bd
VS
69352013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 Use TSC as a possible time source on i386-ieee1275.
6938
2cd5ce6c
VS
69392013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
6942 Init err.
6943
c9625630
VS
69442013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 * util/grub-setup.c (setup): Handle some corner cases.
6947
be008941
VS
69482013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
6951
1a78d573
VS
69522013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/commands/verify.c: Save verified file to avoid it being
6955 tampered with after verification was done.
6956
db8ff59f
VS
69572013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
6960 reported width by one to compensate for curesor algorithm problem.
6961
91bf46b1
VS
69622013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 Fix screen corruption in menu entry editor and simplify the code
6965 flow while on it.
6966
a7b1d693
AB
69672013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
6968
6969 * util/grub-mount.c (fuse_init): Return error if fuse_main
6970 failed.
6971
31df9ad8
FL
69722013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
6973
6974 * include/grub/elf.h: Add missing ARM relocation codes and fix
6975 existing ones.
6976
07f392eb
VT
69772013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6978
6979 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
6980
9efd73ec 69812013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
69822013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
6985 into account when calculating radius.
6986
69872013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
6988
6989 * grub-core/gfxmenu/view.c: Fix off-by-one error.
6990
4985ddaa
VT
69912013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6992
6993 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
6994
8c3635ff
RS
69952013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6996
6997 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
6998 missing closing bracket.
6999
74a35e69
RS
70002013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7001
7002 * INSTALL: Mention xorriso requirement.
7003
40f1c000
AB
70042013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
7005
7006 * grub-core/commands/verify.c: Fix hash algorithms values for
7007 the first three hashes - they start with 1, not with 0.
7008
e75fdee4
VS
70092013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
7012 Try terminating EFI services several times due to quirks in some
7013 implementations.
7014
33028f4c
CW
70152013-03-26 Colin Watson <cjwatson@ubuntu.com>
7016
7017 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
7018 skipping Event, Device, Processor, PowerRes, ThermalZone, and
7019 BankField extended opcodes.
7020 (get_sleep_type): Add minimal scope handling (just enough to
7021 handle setting the scope to the root path).
7022 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
7023 * include/grub/acpi.h: Add enumeration values for Event, Device,
7024 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
7025
33871a10
VT
70262013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
7027
7028 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
7029 memory leak.
7030
8990963a
VS
70312013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * grub-core/disk/ahci.c: Give more time for AHCI request.
7034
daae8f9e
VS
70352013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
7038 command.
7039
6a7fb94b
VS
70402013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 Replace the region at 0 from coreboot tables to available in BSD
7043 memory map.
7044
ff99babd
VS
70452013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
7048 non-BIOS platforms.
7049
30d6b1b2
VS
70502013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
7053 platforms.
7054
6ccd0b31
VS
70552013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7058 handling of multi-device filesystems.
7059
23c9cc04
VS
70602013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
7063 platforms.
7064
ce50dbd7
VS
70652013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 Add new 'proc' filesystem framework and put luks_script into it.
7068
d975e8d5
VS
70692013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
7072 and qemu.
7073
e73ba5e8
VS
70742013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
7077
92750e4c
VS
70782013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 Add ability to generate newc additions on runtime.
7081
0ec45a68
VS
70822013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
7085 description.
7086
320abd43
VS
70872013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 * po/POTFILES.in: Regenerate.
7090
d7a6506e
VS
70912013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/commands/verify.c (hashes): Add several hashes
7094 from the spec.
7095
8fe05def
VS
70962013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7097
7098 Slight improve in USB-related boot-time checkpoints.
7099
524e2766
VS
71002013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * grub-core/commands/boottime.c: Fix copyright header.
7103
cc19857a
VS
71042013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
7107 coreboot tables content. Support for cbmemc.
7108
ef8810e9
VS
71092013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 Fix a conflict between ports structures with 2 controllers of
7112 same kind.
7113
e9dabdfa
VS
71142013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * include/grub/boottime.h: Add missing file.
7117
f6df57d2
VS
71182013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 Initialize USB ports in parallel to speed-up boot.
7121
d745dda7
VS
71222013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 Fix USB devices not being detected when requested
7125 due to delayed attach.
7126
e5a2dd7b
VS
71272013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7128
e744219b
VS
7129 Implement boot time analysis framework.
7130
71312013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
7134 descriptor to just receive it as argument rather than endpoint
7135 address.
7136
5dd6f587
VS
71372013-03-19 Aleš Nesrsta <starous@volny.cz>
7138
7139 Better estimate the maximum USB transfer size.
7140
2f1071d5
VS
71412013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 Resend a packet if we got the wrong buffer in status.
7144
46ecfc49
VS
71452013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
7148 multiplication rather than division.
7149
ea811130
VS
71502013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
7153 than divisions.
7154
d2789cf0
VS
71552013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
7158 operations to have intended shifts and not divisions.
7159
a9c94590
VS
71602013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
7163 intended shifts rather than division.
7164
84cfe81b
VS
71652013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
7168 computation for some years before epoch. Avode confusing division
7169 while on it.
7170
21344ef6
VS
71712013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 * grub-core/video/i386/pc/vbe.c
7174 (grub_video_vbe_print_adapter_specific_info): Replace division by
7175 shifts.
7176
3f2b4d1a
VS
71772013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 Adjust types in gdb module to have intended unsigned shifts rather than
7180 signed divisions.
7181
3dac5878
VS
71822013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
7185 maximum size is 4G - 1 on hfs
7186
5341c0fb
VS
71872013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
7190
fc3ff2a2
VS
71912013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
7194 function.
7195
81455e8e
AB
71962013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
7197
7198 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
7199 causing gcc error with gcc 4.7.1.
7200
efd4f117
NZ
72012013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7202
7203 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
7204 dereference null pointer. While the code is technically correct, gcc
7205 may eliminate a null check if pointer is already dereferenced.
7206
e11645f4
NZ
72072013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7208
7209 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
7210 OOM check.
7211 * grub-core/normal/term.c (read_terminal_list): Likewise.
7212
77468368
VS
72132013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 Lift up core size limits on some platforms. Fix potential memory
7216 corruption with big core on small memory systems. Document remaining
7217 limits.
7218
f6b58fe5
VS
72192013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
7222 gotoxy to 0,0.
7223
19ce697d
VS
72242013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 Remove all trampoline support. Add -Wtrampolines when
7227 present. Remove symbols used for trampolines to make
7228 link fail if trampolines are present.
7229
73b5d90f
VS
72302013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
7233 append out of its parent.
7234
cb758e96
VS
72352013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
7238 parent.
7239
3188131f
VS
72402013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
7243 all vars to a macro. All users updated.
7244
e42b2514
VS
72452013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * grub-core/disk/ieee1275/nand.c: Fix compilation on
7248 i386-ieee1275.
7249
83e1a1a1
VS
72502013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
7253
1d5a880f
VS
72542013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
7257
6e4146c4
VS
72582013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 Move to more hookless approach in IEEE1275 devices handling.
7261
99fcda8a
VS
72622013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * grub-core/kern/term.c (grub_term_normal_color),
7265 (grub_term_highlight_color): Add back lost defaults.
7266
73bf57e2
VS
72672013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 Make elfload not use hooks. Opt for flags and iterators instead.
7270
7f8c105f
VS
72712013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
7274 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
7275
396d4091
VS
72762013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 * grub-core/script/execute.c (gettext_append): Remove nested functions.
7279
72802013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
7283 hook pass-through parameter. All users updated and unnested.
7284
74a27421
VS
72852013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
7288 out of its parent.
7289
b46d4213
VS
72902013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * grub-core/fs/hfs.c: Remove nested functions.
7293
e114c3cc
VS
72942013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
7297 the context through.
7298 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
7299
f9b7d780
VS
73002013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 * util/grub-editenv.c (list_variables): Move print_var out of its
7303 parent.
7304
ca9c2608
VS
73052013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
7308 function.
7309
5d983f5f
VS
73102013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * grub-core/gentrigtables.c: Make tables const.
7313
3056d3e7
VS
73142013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 Remove nested functions from videoinfo iterators.
7317
e2303774
VS
73182013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
7321 for 64-bit platforms.
7322
f42e3a2f
VS
73232013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
7326 a FOR_CHILDREN macro.
7327
be174e5e
VS
73282013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
7331 platform from firmware path.
7332
0789b672
VS
73332013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 Enable linux16 on non-BIOS systems for i.a. memtest.
7336
7337 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
7338 correctly.
7339 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
7340
005a9c32
VS
73412013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
7344 Fix end of table condition.
7345
ff2b3cd9
VS
73462013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
7349 out of its parent.
7350
4fc40ff8
VS
73512013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7352
7353 * grub-core/fs/jfs.c: Remove nested functions.
7354
be42d97a
VS
73552013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/fs/minix.c: Remove nested functions.
7358
99373ce4
VS
73592013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * grub-core/fs/iso9660.c: Remove nested functions.
7362
5aec2afe
VS
73632013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
7366 of parent function.
7367
6c69e691
VS
73682013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * util/grub-fstest.c: Remove nested functions.
7371
43c91882
VS
73722013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 * grub-core/loader/machoXX.c: Remove nested functions.
7375
4eb8b756
CW
73762013-02-27 Colin Watson <cjwatson@ubuntu.com>
7377
7378 Remove nested functions from disk and file read hooks.
7379
7380 * include/grub/disk.h (grub_disk_read_hook_t): New type.
7381 (struct grub_disk): Add read_hook_data member.
7382 * include/grub/file.h (struct grub_file): Likewise.
7383 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
7384 argument.
7385
7386 Update all callers.
7387
df6da5a5
AB
73882012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
7389
7390 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
7391 Fix off by one error in enumerating extended partitions.
7392
21aecde5
AB
73932013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
7394
7395 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
7396 memory leak if device name is not found.
7397
f1a19118
AB
73982013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7399
7400 * grub-core/normal/menu_entry.c (update_screen): remove
7401 unused variable `off' which caused scroll down arrow to be always shown.
7402
958bfd20
AB
74032013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7404
7405 * grub-core/normal/menu_entry.c (insert_string): fix off by one
7406 access to unallocated memory.
7407
b7b78edb
AB
74082013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7409
7410 * Makefile.util.def: Add partmap/msdos.c to common library.
7411 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
7412 * grub-core/disk/ldm.c: Check for existence of
7413 GRUB_PC_PARTITION_TYPE_LDM.
7414
28d468d6
VS
74152013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7416
7417 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
7418 sizes and display sector size.
7419
d55ffb02
VS
74202013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7421
7422 Implement new command cmosdump.
7423
b5ea6ce0
VS
74242013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7425
7426 Support Openfirmware disks with non-512B sectors.
7427
7428 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
7429 size of the disk.
7430 * (grub_ofdisk_get_block_size): New function.
7431 * (grub_ofdisk_prepare): Use the correct block size.
7432 * (grub_ofdisk_read): Likewise.
7433 * (grub_ofdisk_write): Likewise.
7434 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
7435 New proto.
7436
cc0e476f
VS
74372013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
7440
c5dbdc33
VS
74412013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
7444 on first error.
7445
3f078c0f
VS
74462013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
7449 freeing it.
7450
66a93674
VS
74512013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 Implement USBDebug (full USB stack variant).
7454
c9f0c134
VS
74552013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
7458 unless they have unexpected values.
7459
cfe1288b
VS
74602013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
7463 grub_print_error.
7464
e42b9969
VS
74652013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
7468 zero-out of port structure.
7469
cf94fd62
VS
74702013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
7473 of extended attributes.
7474
f81ef4b5
AB
74752013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
7476
7477 * util/grub-install.in: change misleading comment about
7478 device.map creation
7479
af18fdb4
VS
74802013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
7483 when menu highlight color isn't set.
7484
08bcec50
M
74852013-01-27 C. Masloch <pushbx@38.de>
7486
7487 Improve FreeDOS direct loading support compatibility.
7488
7489 * include/grub/i386/relocator.h (grub_relocator16_state):
7490 New member ebp.
7491 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
7492 variable.
7493 (grub_relocator16_boot): Handle %ebp.
7494 * grub-core/lib/i386/relocator16.S: Likewise.
7495 * grub-core/loader/i386/pc/freedos.c:
7496 Load BPB to pass kernel which partition to load from.
7497 Check that kernel file is not too large.
7498 Set register dl to BIOS unit number as well.
7499
7782b8a6
CW
75002013-01-22 Colin Watson <cjwatson@ubuntu.com>
7501
7502 * util/grub-reboot.in (usage): Document the need for
7503 GRUB_DEFAULT=saved.
7504 * util/grub-set-default.in (usage): Likewise.
7505 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7506
e661c180
VS
75072013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
7510 than defining WORDS_BIGENDIAN manually.
7511
1c22ca9a
VS
75122013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
7515 invariants.
7516
d44892fe
CW
75172013-01-21 Colin Watson <cjwatson@ubuntu.com>
7518
7519 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
7520 nested.
7521 (blit_comb: add_device_width): Likewise.
7522
5fdbaed1
CW
75232013-01-21 Colin Watson <cjwatson@ubuntu.com>
7524
7525 Remove nested functions from USB iterators.
7526
7527 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
7528 (grub_usb_controller_iterate_hook_t): Likewise.
7529 (grub_usb_iterate): Add hook_data argument.
7530 (grub_usb_controller_iterate): Likewise.
7531 (struct grub_usb_controller_dev.iterate): Likewise.
7532
7533 Update all implementations and callers.
7534
4250985a
VS
75352013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
7538 margin when not needed.
7539
7d8848f3
VS
75402013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7541
bc136973 7542 Make color variables global instead of it being per-terminal.
7d8848f3
VS
7543
75442013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7545
bc136973
VS
7546 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
7547 asterisk.
7d8848f3 7548
ed12a003
CW
75492013-01-21 Colin Watson <cjwatson@ubuntu.com>
7550
7551 Fix powerpc and sparc64 build failures caused by un-nesting memory
7552 map iterators.
7553
6a0db449
CW
75542013-01-21 Colin Watson <cjwatson@ubuntu.com>
7555
7556 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
7557 parameter declarations.
7558
ccd86b21
VS
75592013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
7562
822b726b
VS
75632013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 Improve spkmomdem reliability by adding a separator between bytes.
7566
115c2cc1
CW
75672013-01-21 Colin Watson <cjwatson@ubuntu.com>
7568
7569 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
7570 an Acer registration utility with several sightings in the wild.
7571 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
7572
fc524edf
CW
75732013-01-21 Colin Watson <cjwatson@ubuntu.com>
7574
7575 Remove nested functions from filesystem directory iterators.
7576
7577 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
7578 (struct grub_fs.dir): Add hook_data argument.
7579
7580 Update all implementations and callers.
7581
53d3e4e3
CW
75822013-01-21 Colin Watson <cjwatson@ubuntu.com>
7583
7584 * docs/grub.texi (Multi-boot manual config): Fix typo for
7585 "recommended".
7586
c821711f
LL
75872013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7588
7589 * util/grub-mkimage.c (main): Postpone freeing arguments.output
7590 until after its use in generate_image.
7591
6a0debbd
CW
75922013-01-20 Colin Watson <cjwatson@ubuntu.com>
7593
7594 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
7595 initrd size to addr_min, since the initrd will be allocated after
7596 this address.
7597
f41e08db
AB
75982013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7599
7600 * conf/Makefile.common: Fix autogen rules to pass definition
7601 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
7602
77529e0f
LL
76032013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7604
7605 * include/grub/elf.h: Update ARM definitions based on binutils.
7606
b879aa7b
VS
76072013-01-20 Aleš Nesrsta <starous@volny.cz>
7608
7609 Split long USB transfers into short ones.
7610
8eb8284d
AB
76112013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7612
7613 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
7614 is interrupted by ESC.
7615
08dad2dc
VS
76162013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7617
7618 * util/grub-script-check.c (main): Uniform the error message.
7619
6c724b85
CW
76202013-01-20 Colin Watson <cjwatson@ubuntu.com>
7621
7622 Remove nested functions from ELF iterators.
7623
25239370
CW
76242013-01-20 Colin Watson <cjwatson@ubuntu.com>
7625
7626 Remove nested functions from device iterators.
7627
7628 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
7629 (grub_arc_iterate_devs): Add hook_data argument.
7630 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
7631 (struct grub_ata_dev.iterate): Add hook_data argument.
7632 * include/grub/device.h (grub_device_iterate_hook_t): New type.
7633 (grub_device_iterate): Add hook_data argument.
7634 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
7635 (struct grub_disk_dev.iterate): Add hook_data argument.
7636 (grub_disk_dev_iterate): Likewise.
7637 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
7638 Likewise.
7639 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
7640 Likewise.
7641 * include/grub/partition.h (grub_partition_iterate_hook_t): New
7642 type.
7643 (struct grub_partition_map.iterate): Add hook_data argument.
7644 (grub_partition_iterate): Likewise.
7645 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
7646 (struct grub_scsi_dev.iterate): Add hook_data argument.
7647
7648 Update all callers.
7649
6c0314d6
CW
76502013-01-20 Colin Watson <cjwatson@ubuntu.com>
7651
7652 Fix typos for "developer" and "development".
7653
600dc5f1
VS
76542013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 Add license header to spkmodem-recv.c.
7657
17334a6b
VS
76582013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 Rewrite spkmodem to use PIT for timing. Double the speed.
7661
7d462559
VS
76622013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 Add new command pcidump.
7665
b78d6c32
VS
76662013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 New terminal outputs using serial: morse and spkmodem.
7669
34f71cb8
VS
76702013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 Improve bidi handling in entry editor.
7673
4542e71b
VS
76742013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7677 argument to prevent name collision.
7678
09fd6d82
CW
76792013-01-15 Colin Watson <cjwatson@ubuntu.com>
7680
7681 Remove nested functions from script reading and parsing.
7682
7683 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
7684 getline_data argument, passed to getline.
7685 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
7686 getline_data argument, passed to grub_parser_split_cmdline.
7687 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
7688 lexerstate->getline_data to lexerstate->getline.
7689 (grub_script_lexer_init): Add getline_data argument, saved in
7690 lexerstate->getline_data.
7691 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
7692 argument, passed to grub_script_parse.
7693 * grub-core/script/script.c (grub_script_parse): Add getline_data
7694 argument, passed to grub_script_lexer_init.
7695 * include/grub/parser.h (grub_parser_split_cmdline): Update
7696 prototype. Update all callers to pass appropriate getline data.
7697 (struct grub_parser.parse_line): Likewise.
7698 (grub_rescue_parse_line): Likewise.
7699 * include/grub/reader.h (grub_reader_getline_t): Add void *
7700 argument.
7701 * include/grub/script_sh.h (struct grub_lexer_param): Add
7702 getline_data member.
7703 (grub_script_parse): Update prototype. Update all callers to pass
7704 appropriate getline data.
7705 (grub_script_lexer_init): Likewise.
7706 (grub_normal_parse_line): Likewise.
7707
7708 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
7709 data argument.
7710 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
7711 static instead of nested. Rename to ...
7712 (grub_parser_execute_getline): ... this.
7713 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
7714 data argument.
7715 * grub-core/normal/main.c (read_config_file: getline): Make static
7716 instead of nested. Rename to ...
7717 (read_config_file_getline): ... this.
7718 (grub_normal_read_line): Add unused data argument.
7719 * grub-core/script/execute.c (grub_script_execute_sourcecode:
7720 getline): Make static instead of nested. Rename to ...
7721 (grub_script_execute_sourcecode_getline): ... this.
7722 * util/grub-script-check.c (main: get_config_line): Make static
7723 instead of nested.
7724
d0d4b8a0
CW
77252013-01-15 Colin Watson <cjwatson@ubuntu.com>
7726
7727 Remove nested functions from memory map iterators.
7728
7729 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
7730 argument, passed to hook.
7731 * grub-core/kern/i386/coreboot/mmap.c
7732 (grub_linuxbios_table_iterate): Likewise.
7733 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
7734 instead of nested.
7735 (grub_machine_mmap_iterate): Add hook_data argument.
7736 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
7737 Add hook_data argument, passed to hook.
7738 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
7739 Likewise.
7740 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7741 Likewise.
7742 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
7743 Likewise.
7744 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
7745 Likewise.
7746 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
7747 Likewise.
7748 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
7749 Likewise.
7750 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
7751 (grub_machine_mmap_iterate): Likewise.
7752 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
7753 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
7754 prototype.
7755 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
7756 Remove NESTED_FUNC_ATTR from here and from all users.
7757 (grub_mmap_iterate): Update prototype.
7758 (grub_efi_mmap_iterate): Update prototype. Update all callers to
7759 pass appropriate hook data.
7760 (grub_machine_mmap_iterate): Likewise.
7761
7762 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
7763 static instead of nested.
7764 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
7765 Rename to ...
7766 (lsmmap_hook): ... this.
7767 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
7768 Likewise.
7769 (grub_efiemu_mmap_fill: fill_hook): Likewise.
7770 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
7771 heap_init): Likewise.
7772 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
7773 Rename to ...
7774 (mmap_iterate_hook): ... this.
7775 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
7776 Likewise.
7777 * grub-core/lib/ieee1275/relocator.c
7778 (grub_relocator_firmware_get_max_events: count): Likewise.
7779 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
7780 to ...
7781 (grub_relocator_firmware_fill_events_iter): ... this.
7782 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
7783 hook): Likewise. Rename to ...
7784 (grub_relocator_alloc_chunk_align_iter): ... this.
7785 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
7786 Rename to ...
7787 (generate_e820_mmap_iter): ... this.
7788 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
7789 Rename to ...
7790 (count_hook): ... this.
7791 (grub_linux_boot: hook): Likewise. Rename to ...
7792 (grub_linux_boot_mmap_find): ... this.
7793 (grub_linux_boot: hook_fill): Likewise. Rename to ...
7794 (grub_linux_boot_mmap_fill): ... this.
7795 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
7796 hook): Likewise. Rename to ...
7797 (grub_fill_multiboot_mmap_iter): ... this.
7798 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
7799 hook): Likewise. Rename to ...
7800 (count_hook): ... this.
7801 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
7802 hook): Likewise. Rename to ...
7803 (grub_fill_multiboot_mmap_iter): ... this.
7804 * grub-core/loader/powerpc/ieee1275/linux.c
7805 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
7806 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
7807 Likewise. Rename to ...
7808 (alloc_phys_choose): ... this.
7809 (determine_phys_base: get_physbase): Likewise.
7810 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
7811 find_hook): Likewise.
7812 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
7813 (malloc_hook: count_hook): Likewise.
7814 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
7815 Likewise. Rename to ...
7816 (lower_hook): ... this.
7817 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7818 (upper_hook): ... this.
7819 (grub_mmap_get_post64: hook): Likewise. Rename to ...
7820 (post64_hook): ... this.
7821 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
7822 Likewise. Rename to ...
7823 (lower_hook): ... this.
7824 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7825 (upper_hook): ... this.
7826 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
7827 (grub_mmap_iterate: fill_hook): Likewise.
7828 (fill_mask): Pass addr and mask within a single struct.
7829 (grub_cmd_badram: hook): Make static instead of nested. Rename
7830 to ...
7831 (badram_iter): ... this.
7832 (grub_cmd_cutmem: hook): Likewise. Rename to ...
7833 (cutmem_iter): ... this.
7834
22099030
VS
78352013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
7838 delimit path in strings using quotes.
7839 * util/getroot.c (grub_guess_root_devices): Likewise.
7840 (grub_make_system_path_relative_to_its_root): Likewise.
7841 * util/grub-probe.c (probe): Likewise.
7842 * util/ieee1275/ofpath.c (find_obppath): Likewise.
7843 (xrealpath): Likewise.
7844
4a9950ec
VS
78452013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 Fix compilation with older compilers.
7848
7849 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
7850 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
7851 declarations.
7852 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
7853 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
7854 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
7855 identifier with b.
7856 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
7857 * include/grub/crypto.h: Add type defines.
7858 * util/import_gcrypth.sed: Remove duplicate type defines.
7859
adcc6020
VS
78602013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7861
7862 New command list_trusted.
7863
7864 * grub-core/commands/verify.c (grub_cmd_list): New function.
7865
a4528937
CW
78662013-01-13 Colin Watson <cjwatson@ubuntu.com>
7867
7868 * util/grub-mkimage.c (generate_image): Fix "size of public key"
7869 info message.
7870
ca3a7446
CW
78712013-01-13 Colin Watson <cjwatson@ubuntu.com>
7872
7873 Remove nested functions from PCI iterators.
7874
7875 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
7876 passed to hook. Update all callers to pass appropriate hook data.
7877 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
7878 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
7879 Remove NESTED_FUNC_ATTR from here and from all users.
7880 (grub_pci_iterate): Update prototype.
7881 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
7882 instead of nested. Rename to ...
7883 (grub_cs5536_find_iter): ... this.
7884 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
7885 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
7886 Likewise.
7887 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
7888 Likewise.
7889 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
7890 Likewise.
7891 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
7892 Likewise.
7893 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
7894 * grub-core/video/radeon_fuloong2e.c
7895 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
7896 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
7897 find_card): Likewise.
7898 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
7899 Likewise.
7900
f8e98fee
VS
79012013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7902
7903 * grub-core/commands/verify.c: Mark messages for translating.
7904
055b36b6
VS
79052013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7906
7907 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
7908 fatal.
7909
f7ff879b
VS
79102013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
7913 fatal.
7914
79152013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
7916
7917 * autogen.sh: Do not try to delete nonexistant files.
7918 * util/import_gcrypth.sed: Add some missing header removals.
7919
01323d49
CW
79202013-01-12 Colin Watson <cjwatson@ubuntu.com>
7921
7922 Clean up dangling references to grub-setup.
7923 Fixes Ubuntu bug #1082045.
7924
7925 * docs/grub.texi (Images): Refer generally to grub-install rather
7926 than directly to grub-setup.
7927 (Installing GRUB using grub-install): Remove direct reference to
7928 grub-setup.
7929 (Device map) Likewise.
7930 (Invoking grub-install): Likewise.
7931 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7932 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7933 * util/grub-install.in (usage): Likewise.
7934
7935 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
7936 Apply to grub-bios-setup and grub-sparc64-setup rather than to
7937 grub-setup.
7938 * configure.ac: Remove grub_setup output variable.
7939
7940 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
7941 to grub-bios-setup.
7942 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
7943 grub-setup to grub-sparc64-setup.
7944
5e3b8dcb
VS
79452013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 Import gcrypt public-key cryptography and implement signature checking.
7948
535714bd
VS
79492013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * grub-core/fs/ntfs.c: Ue more appropriate types.
7952 * grub-core/fs/ntfscomp.c: Likewise.
7953 * include/grub/ntfs.h: Likewise.
7954
3e4f3566
VS
79552013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 Support Apple FAT binaries on non-Apple platforms.
7958
7959 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
7960 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
7961 Likewise.
7962 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
7963 Apple FAT binaries.
7964
4dedb13f
VS
79652013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
7968 sector devices.
7969
f8861eaf
CW
79702013-01-07 Colin Watson <cjwatson@ubuntu.com>
7971
7972 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
7973 explicitly zeroing elements.
7974 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
7975 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
7976 of elements in a structure already allocated using grub_zalloc.
7977 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7978
86065b0a
CW
79792013-01-07 Colin Watson <cjwatson@ubuntu.com>
7980
7981 * docs/grub.texi (grub_cpu): New subsection.
7982 (grub_platform): Likewise.
7983
c6f1e92f
VS
79842013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
7987
f797ec85
VS
79882013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
7991 divisions.
7992
033d0b4b
VS
79932013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
7996 * grub-core/fs/ntfscomp.c: Likewise.
7997 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
7998 (grub_ntfs_comp): Likewise.
7999
21d1b9a0
VS
80002013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
8003 Rename to ...
8004 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
8005 of groups_per_block. All users updated.
8006
10ca8645
VS
80072013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
8010 grub_error properly.
8011 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
8012 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
8013
a4c3ed4c
VS
80142013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
8017 always in /boot/zfs.
8018 Reported by: Yuta Satoh.
8019
0b716507
YS
80202013-01-03 Yuta Satoh <nigoro>
8021
8022 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
8023 ${grub_probe}
8024
00c05e22
VS
80252013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 * configure.ac: Extend -Wno-trampolines to host.
8028
dadddb76
VS
80292013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
8032 entry->len = 0.
8033
54ce53ca
CW
80342013-01-03 Colin Watson <cjwatson@ubuntu.com>
8035
8036 * docs/grub.texi (Invoking grub-mkrelpath): New section.
8037 (Invoking grub-script-check): Likewise.
8038
8912efca
CW
80392013-01-03 Colin Watson <cjwatson@ubuntu.com>
8040
8041 * docs/grub.texi (Invoking grub-mount): New section.
8042 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
8043
c3fc8394
CW
80442013-01-02 Colin Watson <cjwatson@ubuntu.com>
8045
8046 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
8047 test failures, so that a failing unit test correctly causes 'make
8048 check' to fail.
8049
45d26abb
CW
80502013-01-02 Colin Watson <cjwatson@ubuntu.com>
8051
8052 Fix failing printf test.
8053
8054 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
8055 '$' in the correct order when collecting type information.
8056
971dd2c6
CW
80572013-01-02 Colin Watson <cjwatson@ubuntu.com>
8058
8059 * docs/grub.texi (configfile): Explain environment variable
8060 handling.
8061 (source): New section.
8062 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
8063
5c67ea6c
CW
80642012-12-31 Colin Watson <cjwatson@ubuntu.com>
8065
8066 Remove several trivially-unnecessary uses of nested functions.
8067
8068 * grub-core/commands/i386/pc/sendkey.c
8069 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
8070 instead of nested.
8071 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
8072 Rename to ...
8073 (legacy_file_getline): ... this.
8074 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
8075 Likewise.
8076 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
8077 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
8078 to ...
8079 (probe_dummy_iter): ... this.
8080 * grub-core/kern/i386/coreboot/mmap.c
8081 (grub_linuxbios_table_iterate: check_signature): Likewise.
8082 * grub-core/kern/parser.c (grub_parser_split_cmdline:
8083 check_varstate): Likewise. Mark inline.
8084 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
8085 an additional parameter.
8086 (find_long: fnd_long): Likewise. Pass two additional parameters.
8087 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
8088 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
8089 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
8090 Likewise. Rename to ...
8091 (grub_cmos_find_port_iter): ... this.
8092 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
8093 Rename to ...
8094 (find_rtc_iter): ... this.
8095
8096 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
8097 function directly into the function body, since it is only called
8098 once.
8099
33a68ac6
CW
81002012-12-30 Colin Watson <cjwatson@ubuntu.com>
8101
8102 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
8103 __attribute__ ((unused)).
8104 * grub-core/video/bochs.c (find_card): Likewise.
8105 * grub-core/video/cirrus.c (find_card): Likewise.
8106 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
8107 * grub-core/video/sis315pro.c (find_card): Likewise.
8108 * grub-core/video/sm712.c (find_card): Likewise.
8109
608b647a
CW
81102012-12-28 Colin Watson <cjwatson@ubuntu.com>
8111
8112 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
8113 Fixes Savannah bug #37821.
8114
fd49ceb3
CW
81152012-12-28 Colin Watson <cjwatson@ubuntu.com>
8116
8117 Apply program name transformations at build-time rather than at
8118 run-time. Fixes Debian bug #696465.
8119
8120 * acinclude.m4 (grub_TRANSFORM): New macro.
8121 * configure.ac: Create output variables with transformed names for
8122 most programs.
8123 * util/bash-completion.d/grub-completion.bash.in: Use
8124 pre-transformed variables for program names.
8125 * util/grub-install.in: Likewise.
8126 * util/grub-kbdcomp.in: Likewise.
8127 * util/grub-mkconfig.in: Likewise.
8128 * util/grub-mkconfig_lib.in: Likewise.
8129 * util/grub-mknetdir.in: Likewise.
8130 * util/grub-mkrescue.in: Likewise.
8131 * util/grub-mkstandalone.in: Likewise.
8132 * util/grub-reboot.in: Likewise.
8133 * util/grub-set-default.in: Likewise.
8134 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8135 * tests/util/grub-shell-tester.in: Remove unused assignment.
8136 * tests/util/grub-shell.in: Likewise.
8137 * util/grub.d/00_header.in: Likewise.
8138
7024b3c0
CW
81392012-12-28 Colin Watson <cjwatson@ubuntu.com>
8140
8141 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
8142
8143 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
8144 HAVE_RAW_DECL_GETS.
8145 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
8146
e3501b13
VS
81472012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
8150 Reported by: Eriks Latosheks <foresterlv>.
8151
b40c88a9
VS
81522012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8153
8154 * docs/grub.texi (Network): Update instructions on generating netboot
8155 image.
8156
ce96d01c
VS
81572012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
8160 around device name if necessarry.
8161
0f596201
PFS
81622012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8163
8164 * util/grub-install.in: Follow the symbolic link parameter added
8165 to the file command.
8166
600d5bdb
AB
81672012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
8168
8169 * util/grub-install.in: Remove stale TODO.
8170
64ebd2f4
PFS
81712012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8172
8173 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
8174 dynamic allocation for the bootpath buffer.
8175
74b2fe3e
DTB
81762012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
8177
8178 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
8179 window too small.
8180
969b804f
VS
81812012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
8184 argument rather than font name. All users updated.
8185 (grub_gfxterm_set_window): Likewise.
8186
b9f5ebd6
VT
81872012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
8188
8189 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
8190 from working.
8191
258f43b7
VS
81922012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * util/getroot.c (convert_system_partition_to_system_disk): Support
8195 nbd disks.
8196
cc1ce5f9
VS
81972012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
8200 infinite loop on corrupted FS.
8201
e77a16ca
VS
82022012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8203
8204 Fix big-endian mtime.
8205
8206 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
8207 together sec and usec.
8208 (grub_ufs_dir): Use correct byteswapping for UFS time.
8209
d9c48c7b
VS
82102012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 Support big-endian UFS1.
8213
8214 * Makefile.util.def (libgrubmods): Add ufs_be.c
8215 * grub-core/Makefile.core.def (ufs1_be): New module.
8216 * grub-core/fs/ufs_be.c: New file.
8217 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
8218 the file.
8219
2f9f40ba
LL
82202012-11-28 Leif Lindholm <leif.lindholm@arm.com>
8221
8222 * include/grub/types.h: Fix functionality unaffecting typo in
8223 GRUB_TARGET_WORDSIZE conditional macro.
8224
48ff0889
PFS
82252012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8226
8227 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
8228
03711240
GS
82292012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8230
8231 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
8232 that /netbsd appears first (when it exists).
8233
a31b11bd
CJ
82342012-10-12 Christoph Junghans <ottxor@gentoo.org>
8235
8236 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
8237 Fixes Savannah bug #37558.
8238
e8a5d5d4
CW
82392012-10-12 Colin Watson <cjwatson@ubuntu.com>
8240
8241 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
8242 description of extract_entries_configfile.
8243
82442012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
8245
8246 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
8247 preferred_address.
8248 (grub_cmd_linux): Likewise.
8249 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
8250 preferred_lifetime. Update all users.
8251
288c757d
CW
82522012-09-26 Colin Watson <cjwatson@ubuntu.com>
8253
8254 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
8255 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
8256
0d35da3f
CW
82572012-09-26 Colin Watson <cjwatson@ubuntu.com>
8258
8259 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
8260 errors from grub-probe to /dev/null, not stdout.
8261
b78c3127
VS
82622012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
8265 sector 1.
8266
473959f0
CW
82672012-09-24 Colin Watson <cjwatson@ubuntu.com>
8268
8269 * util/grub-install.in: Make the error message if $source_dir
8270 doesn't exist more useful.
8271
794c8c33
CW
82722012-09-22 Colin Watson <cjwatson@ubuntu.com>
8273
8274 Fix grub-emu build on FreeBSD.
8275
8276 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
8277 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
8278 headers on Linux.
8279 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
8280 implementation is currently Linux-specific.
8281 * util/getroot.c (exec_pipe): Define only on Linux or when either
8282 libzfs or libnvpair is unavailable.
8283 (find_root_devices_from_poolname): Remove unused path variable.
8284
86d08fdb
CW
82852012-09-19 Colin Watson <cjwatson@ubuntu.com>
8286
8287 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
8288 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
8289 should fit before end == 63.
8290
735abf54
CW
82912012-09-19 Colin Watson <cjwatson@ubuntu.com>
8292
8293 * util/grub-setup.c (write_rootdev): Remove unused core_img
8294 parameter. Update all callers.
8295 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
8296 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
8297 GRUB_SETUP_BIOS.
8298
140acd3c
VS
82992012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8300
8301 * util/grub-mkconfig_lib.in (grub_tab): New variable.
8302 (grub_add_tab): New function.
8303 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
8304 * util/grub.d/10_illumos.in: Likewise.
8305 * util/grub.d/10_kfreebsd.in: Likewise.
8306 * util/grub.d/10_linux.in: Likewise.
8307 * util/grub.d/10_netbsd.in: Likewise.
8308 * util/grub.d/10_windows.in: Likewise.
8309 * util/grub.d/10_xnu.in: Likewise.
8310 * util/grub.d/20_linux_xen.in: Likewise.
8311 * util/grub.d/30_os-prober.in: Likewise.
8312
7ddffdad
VS
83132012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8316 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
8317 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
8318 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
8319 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
8320 ieee1275-nocursor.
8321 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8322 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
8323
4e092454
VS
83242012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
8327 le-conversion.
8328 Reported by: BURETTE, Bernard.
8329
735abf54 83302012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
8331
8332 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
8333 from comment.
8334
dfd39dbd
CW
83352012-09-14 Colin Watson <cjwatson@ubuntu.com>
8336
8337 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
8338 IEEE1275 machines. Fixes powerpc-emu compilation.
8339 * include/grub/terminfo.h: Likewise.
8340
3bfa763c
VS
83412012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
8344 a const pointer.
8345 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
8346 const pointer.
8347 (efiemu_set_variable): Make vendor_guid a const pointer.
8348
250e475b
VS
83492012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 Don't require grub-mkconfig_lib to generate manpages for programs.
8352
8353 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
8354 dependencies, don't add grub-mkconfig_lib.
8355 (program): Pass empty adddeps.
8356 (script): Pass grub-mkconfig_lib as adddeps.
8357
592fd0e4
VS
83582012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
8361 * util/getroot.c (grub_find_device): Likewise.
8362 (get_mdadm_uuid): Likewise.
8363 (grub_util_is_imsm): Likewise.
8364 (grub_util_pull_device): Likewise.
8365 * util/grub-probe.c (probe): Likewise.
8366
801a3027
BG
83672012-09-10 Benoit Gschwind <gschwind>
8368
8369 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
8370 (devs): Add devpath_8.
8371
c5052c81
PJ
83722012-09-08 Peter Jones <pjones@redhat.com>
8373
8374 * grub-core/Makefile.core.def (efifwsetup): New module.
8375 * grub-core/commands/efi/efifwsetup.c: New file.
8376 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
8377 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
8378 New define.
8379 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
8380
8e832f71
JS
83812012-09-05 Jiri Slaby <jslaby@suse.cz>
8382
8383 * configure.ac: Add SuSe path.
8384
f0f55752
CW
83852012-09-05 Colin Watson <cjwatson@ubuntu.com>
8386
8387 * NEWS: Fix typo.
8388
ecadc4c2
CW
83892012-09-05 Colin Watson <cjwatson@ubuntu.com>
8390
8391 * util/import_gcry.py: Sort cipher_files, to make build system
8392 generation more deterministic.
8393
64498f25
VS
83942012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
8397 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
8398 (grub_set_datetime): Likewise.
8399
9cc836a2
VS
84002012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
8403 warnings.
8404
bcfcea01
VS
84052012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
8408
a4099485
VS
84092012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
8412
265c162a
CW
84132012-09-04 Colin Watson <cjwatson@ubuntu.com>
8414
8415 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
8416 required for checkouts from bzr, but it may be useful for users or
8417 distributors wishing to update translations against a tarball
8418 distribution, and it can be helpful for the tarball to be a superset
8419 of what's in bzr.
8420
3d171e95
CW
84212012-09-04 Colin Watson <cjwatson@ubuntu.com>
8422
8423 * Makefile.am (EXTRA_DIST): Add
8424 grub-core/tests/boot/linux.init-mips.S,
8425 grub-core/tests/boot/linux.init-ppc.S, and
8426 grub-core/tests/boot/linux-ppc.cfg.
8427
f2c2503e
CW
84282012-09-04 Colin Watson <cjwatson@ubuntu.com>
8429
8430 * grub-core/mmap/mips/loongson: Remove empty directory.
8431
84322012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
8433
8434 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
8435 gone.
8436
ab2163d5
CW
84372012-09-04 Colin Watson <cjwatson@ubuntu.com>
8438
8439 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
8440 grub-sparc64-setup.
8441
ce938140
GS
84422012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8443
8444 * configure.ac: Strengthen the test for working -nostdinc -isystem.
8445
529f58a5
GS
84462012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8447
8448 * po/POTFILES.in: Regenerated.
8449
16cf79e9
GS
84502012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8451
8452 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
8453 (NetBSD): New subsection.
8454
39b27f1e 84552012-07-22 Ales Nesrsta <starous@volny.cz>
8456
8457 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
8458 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
8459
a885261b
VS
84602012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
8463 * util/grub.d/10_hurd.in: Add missing quoting.
8464 * util/grub.d/10_illumos.in: Likewise.
8465 * util/grub.d/10_kfreebsd.in: Likewise.
8466 * util/grub.d/10_linux.in: Likewise.
8467 * util/grub.d/20_linux_xen.in: Likewise.
8468
7bd29c01
VS
84692012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 New command `lsefi'.
8472
8473 * grub-core/Makefile.core.def (lsefi): New module.
8474 * grub-core/commands/efi/lsefi.c: New file.
8475 * include/grub/efi/api.h: Add more GUIDs.
8476
ac625d8f
VS
84772012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
8480 (grub_bsd_elf32_hook): Likewise.
8481 (grub_bsd_elf64_size_hook): Likewise.
8482 (grub_bsd_elf64_hook): Likewise.
8483 (grub_bsd_load_elf): Likewise.
8484
e73bb801
VS
84852012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
8488 if hash function is unavailable.
8489 (dec_stream_header): Likewise.
8490
e81db8b5
VS
84912012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
8494 filter state.
8495
d187a1c3
VS
84962012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 Fix coreboot compilation.
8499
8500 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
8501 (grub_vga_text_init_real): ... this.
8502 (grub_vga_text_fini): Rename to ...
8503 (grub_vga_text_fini_real): ... this.
8504
91a05f64
VS
85052012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
8508
6af96df7
VS
85092012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 * grub-core/lib/legacy_parse.c: Support clear and testload.
8512
4d569e12
VS
85132012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
8516
073b57bb
VS
85172012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 * grub-core/fs/ext2.c: Experimental support for 64-bit.
8520
a706f4cc
VS
85212012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * grub-core/net/tftp.c (ack): Fix endianness problem.
8524 (tftp_receive): Likewise.
8525 Reported by: Michael Davidsaver.
8526
e7850aa9
VS
85272012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * gentpl.py: Make mans depend on grub-mkconfig_lib.
8530
85312012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
8534 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
8535 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
8536
35692881
VS
85372012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
8540 efi_mmap_size.
8541 Reported by: Stuart Hayes.
8542
c35fc5bd
VS
85432012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
8546
8547 * grub-core/Makefile.core.def (mda_text): New module.
8548 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
8549 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
8550 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
8551 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
8552 here.
8553 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
8554 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
8555 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
8556 here.
8557 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
8558 to ..
8559 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
8560 ... here
8561 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
8562 here.
8563 * grub-core/term/i386/vga_common.c: Removed.
8564 * include/grub/i386/vga_common.h: Likewise.
8565 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
8566 (grub_vga_cr_bw_read): Likewise.
8567 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
8568 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
8569 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
8570 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
8571 grub_vga_cr_read/grub_vga_cr_write.
8572 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
8573
5f91f701
VS
85742012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 * configure.ac: Bump version to 2.00.
8577 * grub-core/normal/main.c (features): Add feature_200_final.
8578
0c4f85f6
VS
85792012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
85802012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8581
8582 * NEWS: Fix unclarity and language mistakes.
8583
f923ad22
VS
85842012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
8587 additional size to 3 pages.
8588 Reported by: Stuart Hayes.
8589
d22029ba
VS
85902012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * NEWS: Add 2.00 entry.
8593
58eee08f
VS
85942012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8595
8596 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
8597 put explicit "/" for empty path.
8598 (wildcard_expand): Improve dprintf.
8599
c59bdff7
VS
86002012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8601
8602 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
8603 it's equal to currnode. This can happen with "" symlink.
8604
5e6a440a
YB
86052012-06-27 Yves Blusseau <blusseau@zetam.org>
8606
8607 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
8608 echo shell command by printf command.
8609
73a68bcb
VS
86102012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8611
8612 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
8613 the value returned by firmware is the maximal position, not diumension.
8614 (grub_terminfo_output_state): Use a more sane fallback.
8615
392a603b
VS
86162012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
8619
42d0867f
VS
86202012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
8623 frequency to 150 MHz.
8624
489509f4
VS
86252012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 Apple fixes.
8628
8629 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
8630 __APPLE_
8631 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
8632 definition.
8633 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
8634
9f3fc883
VS
86352012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 Handle slash in HFS label.
8638
8639 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
8640 (grub_hfs_dir): Tanslate slash.
8641 (grub_hfs_label): Don't translate slash.
8642
54853fd7
VS
86432012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
8646 network protocol listing since it introduces problematic dependency on
8647 net module.
8648
4dc02ddf
VS
86492012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
8652
c50c867d
VS
86532012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 Init video early on yeeloong to avoid being rebooted by watchdog.
8656
8657 * grub-core/Makefile.am (gensm712): New target.
8658 (sm712_start.S): Likewise.
8659 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
8660 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
8661 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
8662 description.
8663 * include/grub/vga.h: Move registry definitions to...
8664 * include/grub/vgaregs.h: ... here.
8665
5f92c8a1
VS
86662012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
8669 signedness.
8670
e9e6f111
VS
86712012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
8674 platforms with firmware disk drivers in the core.
8675
754ad9eb
VS
86762012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
8679 informative verbose message.
8680 (read_lv): Handle 64-bit segment size.
8681
315654c2
VS
86822012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
8685
fb022c79
VS
86862012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
8689 character but still remove trainling spaces.
8690 (grub_fat_label): Ignore archive flag.
8691
8645f72c
VS
86922012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
8695 cast between linux_kernel_header and linux_kernel_params.
8696
36498496
VS
86972012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
8700 type for size.
8701 (grub_raid6_recover_func_t): Likewise.
8702 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
8703 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8704
0b5ea6b8
VS
87052012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
8708
650cfcfe
GS
87092012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8710
8711 Fix overflow.
8712
8713 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
8714 [__NetBSD__]: Add explicit cast before bitshift.
8715
8a4d6a44
VS
87162012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * configure.ac: Bump to 2.00~rc1.
8719
2fb97ed3
VS
87202012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
8723 half of $a0.
8724
1fa097dc
VS
87252012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
87262012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
8727
8728 * docs/grub.texi: Fix search syntax.
8729 (Multi-boot manual config): Put msdos rather than GPT example.
8730 Grammar corrections.
8731
c890ba78
VS
87322012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
8735
0f92dca7
VS
87362012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
8739
3988c4a0
VS
87402012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
8743 message on double free. Put the value of magic in case of mismatch.
8744
9e86d4c5
VS
87452012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 Speed-up video on yeeloong.
8748
8749 * grub-core/video/sm712.c (framebuffer): Remove render_target and
8750 add cached_ptr.
8751 (grub_video_sm712_video_fini): Unmap cached_ptr.
8752 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
8753 (grub_video_sm712_set_active_render_target): Removed.
8754 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8755 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
8756 sync caches.
8757
ed24c312
VS
87582012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 Avoid flushing the same line multiple times on loongson.
8761
8762 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
8763 Step in 32 bytes and not 1 byte.
8764 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
8765 Likewise.
8766
d1718e7d
VS
87672012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
8770 subvolumes.
8771
982f1909
VS
87722012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 Implement flow control for http.
8775
8776 * grub-core/net/http.c (parse_line): Handle response 206.
8777 (http_receive): Stall if too many packets are in the queue.
8778 (http_establish): Fix range header.
8779 (http_seek): Fix double free.
8780 (http_close): Likewise.
8781 (http_packets_pulled): New function.
8782 (grub_http_protocol): Set http_seek
8783 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
8784 (ack_real): Set window depending on i_stall.
8785 (grub_net_send_tcp_packet): Likewise.
8786 (grub_net_tcp_stall): New function.
8787 (grub_net_tcp_unstall): Likewise.
8788 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
8789 (grub_net_tcp_unstall): Likewise.
8790
bd407d6e
VS
87912012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * grub-core/net/tftp.c: Decrease stall to 50 packets.
8794
c7564b8e
VS
87952012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
8798
a3706162
VS
87992012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * tests/util/grub-shell.in: Fix a typo.
8802
b27069e0
VS
88032012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 Implement flow control for tftp.
8806
8807 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
8808 packets but stop only if stop condition is satisfied.
8809 (grub_net_fs_read_real): Call packets_pulled after real read. Use
8810 `stall' instead of `eof' as stop condition.
8811 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
8812 (http_err): Likewise.
8813 * grub-core/net/tftp.c (ack): Replace the first argument with data
8814 instead of socket.
8815 (tftp_receive): Stall if too many packets are in wait queue.
8816 (tftp_packets_pulled): New function.
8817 (grub_tftp_protocol): Set packets_pulled.
8818 * include/grub/net.h (grub_net_packets): New field count.
8819 (grub_net_put_packet): Increment count.
8820 (grub_net_remove_packet): Likewise.
8821 (grub_net_app_protocol): New field `packets_pulled'.
8822 (grub_net): New field `stall'.
8823
6b9cfac6
VS
88242012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
8827 sync part to handle them.
8828
f35abd81
VS
88292012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
8832 * grub-core/net/drivers/ieee1275/ofnet.c
8833 (grub_ieee1275_net_config_real): Likewise.
8834
0e7ec820
VS
88352012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
8838 the direct route for server/gateway.
8839
9d611a31
VS
88402012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
8843 IP address to server name since we may not hame the DNS.
8844
418f45ab
VS
88452012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8846
8847 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
8848 freeing random buffer on failure.
8849 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
8850
44a0efc1
VS
88512012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
8854
531e2241
VS
88552012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
8858 reserved bytes.
8859 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
8860 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
8861 Handle malloc error correctly.
8862
cde393c9
VS
88632012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8866 blocks.
8867
538478d0
VS
88682012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
8871 increment.
8872
9b55efe0
VS
88732012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
8876 none is explicitly specified.
8877
9eb832c3
VS
88782012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
8881 while reallocating.
8882
d6b7c7c9
VS
88832012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 Respect netmask from bootp/dhcp.
8886
8887 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
8888 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
8889 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
8890 into ...
8891 (grub_net_add_ipv4_local): ... this.
8892 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
8893 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
8894 (grub_net_add_ipv4_local): New proto.
8895
67caf9eb
VS
88962012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
8899 determining EFI memory map size.
8900
43657558
VS
89012012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8902
8903 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
8904
eb6d0dd3
VS
89052012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
8908 when looking for partition separator.
8909
31230544
VS
89102012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8913 Escape commas.
8914
918a2517
VS
89152012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 Restructure FAT driver to avoid hook in label reading as it hits a
8918 GCC bug.
8919
8920 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
8921 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
8922 (grub_fat_iterate_dir): Split into ...
8923 (grub_fat_iterate_init): ... this, ...
8924 (grub_fat_iterate_fini): ... this, ...
8925 (grub_fat_iterate_dir_next): ... and this. All users updated.
8926
9f1d654e
VS
89272012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8930 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
8931 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8932 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
8933 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
8934 New fields last_key and last_key_time.
8935 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
8936 extended key-esc into extended key-extended key.
8937
52f0f643
VS
89382012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 Avoid unnecessary memcpy of whole video buffer.
8941
8942 * grub-core/video/fb/video_fb.c (dirty): New struct.
8943 (framebuffer): Add members current_dirty and previous_dirty.
8944 (dirty): New function.
8945 (grub_video_fb_fill_rect): Update dirty.
8946 (common_blitter): Likewise.
8947 (grub_video_fb_scroll): Likewise.
8948 (doublebuf_blit_update_screen): Copy only dirty part.
8949 (doublebuf_pageflipping_update_screen): Likewise.
8950 (grub_video_fb_doublebuf_blit_init): Init dirty.
8951 (doublebuf_pageflipping_init): Likewise.
8952 (grub_video_fb_setup): Likewise.
8953
e169a180
VS
89542012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
8957 poll rate.
8958
48556879
VS
89592012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 Fix wildcard regexp dot and other special characters handling.
8962 Reported by: Robert Mabee.
8963
8964 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
8965 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
8966 (split_path): Trigger expansion on '?'.
8967 (unescape): New function.
8968 (wildcard_expand): Unescape parts copied without globbing.
8969 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
8970 (grub_script_arglist_to_argv): Don't unescape expansions.
8971
0494408e
VS
89722012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8973
8974 * include/grub/net.h (grub_net_card): New member txbufsize.
8975 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
8976 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8977 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
8978 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
8979 txbufsize.
8980 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
8981 compatible property to check for macs. Set
8982 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8983 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
8984 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
8985 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
8986 (send_card_buffer): Use txbuf.
8987 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
8988 nested function out of the parent while on it.
8989
cc35fe8f
VS
89902012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
8993 presence check.
8994 (grub_ieee1275_net_config_real): Fix config pointer.
8995
970a0a09
VS
89962012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
8999 filename parsing to non-block devices.
9000
3e19bf87
VS
90012012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 * grub-core/kern/device.c (grub_device_open): Remove dead code.
9004
c62d1a0c
VS
90052012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
9008 All users updated.
9009
ef76bec3
VS
90102012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
9013 UUID search command even if hints probing failed.
9014
90152012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
9016
9017 * po/POTFILES.in: Regenerated.
9018
70aaf305
VS
90192012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 Speed-up video on fuloong.
9022
9023 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
9024 New function.
9025 (grub_pci_device_unmap_range): Handle non-cached address.
9026 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
9027 add direct_ptr.
9028 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
9029 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
9030 (grub_video_sis315pro_set_active_render_target): Removed.
9031 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
9032 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9033 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
9034 sync caches.
9035 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
9036 New proto.
9037
10400f0b
VS
90382012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * docs/grub.texi (Multi-boot manual config): New section.
9041
ba67e2c6
VS
90422012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 Avoid slow read-back from VRAM.
9045
9046 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9047 Move from here ...
9048 * grub-core/video/fb/video_fb.c
9049 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
9050 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
9051 (front_target): Remove front_target. Add pages.
9052 (grub_video_fb_init): Skip setting front_pages.
9053 (grub_video_fb_fini): Likewise.
9054 (doublebuf_blit_update_screen): Use pages.
9055 (grub_video_fb_doublebuf_blit_init): Likewise.
9056 (doublebuf_pageflipping_init): Allocate offscreen buffer.
9057 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
9058 (grub_video_fb_setup): Prefer doublebuffing.
9059
377c98cb
VS
90602012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
9063 gzio.
9064
eac49cff
VS
90652012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 Add loongson tests.
9068
9069 * tests/util/grub-shell.in: Handle loongson.
9070 * tests/partmap_test.in: Add loongson to the list of platform using ATA
9071 drivers.
9072 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
9073 Reboot instead of shutdown if REBOOT is defined.
9074
0321415e
VS
90752012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
9078 sized ports since unlike on real hardware qemu supports only 32-bit
9079 regs.
9080
3f2bdd8f
VS
90812012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * Makefile.util.def (grub-mkrescue): Enable on loongson.
9084 * util/grub-mkrescue.in: Handle loongson.
9085
29a049c9
VS
90862012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
9087
9088 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
9089 Set is_part appropriately.
9090 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
9091 names. Canonicalize partition without full disk.
9092
4abde346
VS
90932012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 Revert usb-quiesce since it's wrong.
9096
9097 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
9098 (grub_ofdisk_init): Don't do quiesce.
9099
61f1d93b
VS
91002012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
9103 PowerMac workaround to Xserves as well.
9104 Information supplied by: Benjamin Herrenschmidt.
9105
a09eb541
VS
91062012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 Don't assume that beginning address is also the entry point on ppc.
9109
9110 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
9111 (grub_linux_boot): Use linux_entry.
9112 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
9113 (grub_linux_load64): Likewise.
9114
505b3c9b
VS
91152012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
9118
cbe0b4ef
VS
91192012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9120
9121 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
9122 needlessly lose the console.
9123
3006e981
VS
91242012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
9127 space.
9128
4e5a96b0
VS
91292012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9130
7da036bb
VS
9131 Remove non-functional EFI grub_get_rtc. Put a better fatal message
9132 than current grub_get_rtc() not implemented when booted with
9133 coreboot without TSC.
9134
9135 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
9136 Add machine/time.h to kernel headers on loongson.
9137 * grub-core/Makefile.core.def (kernel): Remove
9138 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
9139 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
9140 (grub_get_rtc): Likewise.
9141 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
9142 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
9143 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
9144 * grub-core/kern/i386/tsc.c (grub_tsc_init)
9145 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
9146 rather than installing known non-working time source.
9147 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
9148 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
9149 * include/grub/time.h: Don't include machine/time.h.
9150 * include/grub/efi/time.h: Removed.
9151 * include/grub/i386/efi/time.h: Likewise.
9152 * include/grub/i386/ieee1275/time.h: Likewise.
9153 * include/grub/powerpc/ieee1275/time.h: Likewise.
9154 * include/grub/sparc64/ieee1275/time.h: Likewise.
9155 * include/grub/x86_64/efi/time.h: Likewise.
9156
91572012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
9160
9161 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
9162 value.
9163 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
9164 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
9165 with dotless variants when any combining above is present.
9166
5561c22d
VS
91672012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
9170 text and not binary.
9171
96f7e60e
VS
91722012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 Stop polling as soon as we have the packet we were waiting for.
9175
9176 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
9177 All users updated.
9178 * grub-core/net/arp.c (have_pending): New var.
9179 (pending_req): Likewise.
9180 (grub_net_arp_send_request): Fill pending_req and use have_pending as
9181 stop indicator.
9182 (grub_net_arp_receive): Set have_pending.
9183 * grub-core/net/dns.c (recv_data): New field stop.
9184 (recv_hook): Set stop.
9185 (grub_net_dns_lookup): Init stop and use as stop condition.
9186 * grub-core/net/http.c (http_establish): Use headers_recv as stop
9187 condition.
9188 * grub-core/net/net.c (grub_net_poll_cards): New argument
9189 stop_condition. Stop when it goes true.
9190 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
9191 indicator.
9192 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
9193
3e747239
VS
91942012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 Keep TX and RX buffers on EFI rather than always allocate new ones.
9197
9198 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
9199 card. All users updated.
9200 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
9201 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
9202 (get_card_packet): Likewise.
9203 (grub_efinet_findcards): Init new fields.
9204
f695e99a
VS
92052012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
9208 compilation error on sparc64.
9209
9e5e66d1
VS
92102012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 Use ITC on IA64 rather than broken routine based on daytime.
9213
9214 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
9215 ia64.
9216 (grub_get_rtc) [__ia64__]: Likewise.
9217 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
9218 (get_itc): New function.
9219 (grub_rtc_get_time_ms): Likewise.
9220 (grub_machine_init): Calibrate ITC.
9221 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
9222 Keep only on non-ia64. Don't export since it's broken and used only
9223 if TSC is unavailable.
9224
a1767404
VS
92252012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
9228 even if it's used.
9229 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
9230 Skip if parent is unused.
9231
34b2bced
VS
92322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
9235
5e619f40
VS
92362012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 Fix wildcard escaping.
9239
9240 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
9241 * grub-core/script/execute.c (wildcard_escape): .. to here.
9242 Don't escape dot.
9243 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
9244 * grub-core/script/execute.c (wildcard_unescape): .. to here.
9245 Don't escape dot.
9246 * grub-core/script/execute.c (gettext_append): Always escape.
9247 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
9248 * grub-core/script/yylex.l: Don't cut away the escaping.
9249 * tests/grub_script_echo1.in: Add tests with wildcard.
9250
c8ca5855
VS
92512012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
9254 (ftdi_hw_configure): Likewise.
9255 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
9256 define.
9257 (real_config): Handle 1.5 stop bits.
9258 (pl2303_hw_configure): Likewise.
9259
7183452c
VS
92602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * Makefile.am: Add ppc linux bootcheck.
9263 * grub-core/tests/boot/linux-ppc.cfg: New file.
9264 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
9265
f57c84cd
VS
92662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9267
9268 * tests/grub_script_expansion.in: Skip network protocols.
9269
ecfc6207
VS
92702012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9271
9272 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
9273
8d03d284
VS
92742012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
9277 --rom-directory.
9278 Add -graft-points.
9279
61c42af0
VS
92802012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 ESCC serial driver for conducting sautomated tests in qemu.
9283 Not tested on real hardware.
9284
9285 * include/grub/serial.h (grub_serial_port): New field escc_desc.
9286 * grub-core/term/ieee1275/escc.c: New file.
9287 * grub-core/Makefile.core.def (escc): New module.
9288
08fd1291
VS
92892012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
9292 invalid on error.
9293 (serial_hw_fetch): Don't read invalid handle.
9294 (serial_hw_put): Don't write into invalid handle.
9295
08dafeea
VS
92962012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 Add a 1.5 stop bits value.
9299
9300 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
9301 * include/grub/serial.h (grub_serial_stop_bits_t): Add
9302 GRUB_SERIAL_STOP_BITS_1_5.
9303
9068fdcf
VS
93042012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
9307 value rather than let it uninited.
9308
f4d5820f
VS
93092012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * grub-core/commands/wildcard.c (+check_file): New function.
9312 (wildcard_expand): Don't expand to non-existing files, expand with
9313 suffix and not attempt to expand if not needed.
9314
3d2de9a7
VS
93152012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9316
9317 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
9318 out of partitions containing other partitions.
9319
c5c81ff9
VS
93202012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
9323 on some qemu versions with GRUB.
9324
9325 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
9326 define.
9327 (grub_openbsd_bootarg_pcibios): New struct.
9328 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
9329 Add PCIINFO.
9330
08a14e0b
VS
93312012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * tests/util/grub-shell.in: Trim firmware output on EFI.
9334
cede3ca3
VS
93352012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
9338 and coreboot since it's already in kernel.
9339
558d3a60
VS
93402012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9341
9342 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
9343 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9344 to here. New return value start. All users updated.
9345 Recursively scan linear mappings.
9346 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
9347 proto.
9348 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9349 Use grub_util_get_dm_node_linear_info.
9350 * util/getroot.c (convert_system_partition_to_system_disk): Use
9351 grub_util_info rather than grub_dprintf.
9352 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
9353
60fde14d
VS
93542012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9355
9356 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
9357
9358 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
9359 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
9360
24bd8838
VS
93612012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * include/grub/types.h (grub_set_unaligned64): New function.
9364 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
9365 (setup): Likewise.
9366
7bc06a49
VS
93672012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9368
9369 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
9370 (grub_ofdisk_fini): Quiesce USB devices.
9371
49cea015
VS
93722012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
9375 caches.
9376
8dcbe03b
VS
93772012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
9380
5b258735
VS
93812012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * grub-core/disk/pata.c (grub_pata_pio_read)
9384 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
9385 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9386
37ba07eb
VS
93872012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 Extend automated tests to qemu-mips.
9390
9391 * Makefile.am: reorganise tests and enable qemu-mips.
9392 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
9393 * grub-core/tests/boot/linux.init-mips.S: New file.
9394 * tests/partmap_test.in: Handle ata0 disks.
9395 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
9396 non-pc i386.
9397
070038f8
VS
93982012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
9401 ia64.
9402 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
9403 quotes while on it.
9404
004be2cd
VS
94052012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9406
9407 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
9408 (grub_halt): Likewise.
9409 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
9410
b1622487
VS
94112012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * grub-core/term/serial.c (grub_serial_register)
9414 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
9415 the behaviour in line with x86 platforms.
9416
b7b4ab33
VS
94172012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9418
9419 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
9420 (grub_ata_strncpy): Likewise.
9421 (grub_ata_identify): Add missing byteswaps.
9422
5e3535ae
VS
94232012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
9426 byte-swap.
9427 (screen_read_char): Likewise.
9428 (grub_vga_text_cls): Likewise.
9429
c21b17e6
VS
94302012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
9433 filenames.
9434 (make_file_path): Likewise.
9435
bf293dec
VS
94362012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
9439 machines.
9440 Tested by: Paulo Flabiano Smorigo.
9441 Crucial information about API supplied by: Coleen <Last name unknown>.
9442 Reviewed by: Coleen <Last name unknown>.
9443
81f6ef0e
VS
94442012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 * util/grub-mkimage.c: Disable -Wcast-align.
9447
7284143a
VS
94482012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
9451 as they are fatal.
9452
b99f3e00
VS
94532012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
9456
944f752d
VS
94572012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 * util/grub-probe.c (escape_of_path): Fix double free.
9460
6cce6f38
VS
94612012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9462
9463 * grub-core/commands/videoinfo.c (hook): Show pitch.
9464
1e1eb50e
VS
94652012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * util/grub.d/20_linux_xen.in: Skip xen-syms.
9468
1c715b5a
VS
94692012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
9472 (probe): Add ieee1275 to OFW devices.
9473
007ae52d
VS
94742012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
9477
4557a36d
VS
94782012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 Handle IBM OFW path.
9481
9482 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
9483 available.
9484 (of_path_of_scsi): Handle vdevice.
9485
efbeefe9
VS
94862012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
9489 Allocate in multiples of 16 to avoid adding a few bytes free region the
9490 windows bugs upon.
9491
15a940bb
VS
94922012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
9495 Allocate in multiples of 16 to avoid adding a few bytes free region the
9496 windows bugs upon.
9497 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
9498
6e5efd60
VS
94992012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
9502 resolutions.
9503 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
9504 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
9505
0d3d137e
IS
95062012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
9507
9508 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
9509
45dbe300
VS
95102012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9511
9512 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
9513 resulted in \\ at the end of the line.
9514
6d8db947
VS
95152012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
9518 (grub_parser_cmdline_state): Likewise.
9519 (grub_parser_split_cmdline): Likewise.
9520
de89d338
VS
95212012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
9524 /dev/root and /dev/dm-*.
9525
00d41dee
VS
95262012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
9529 fix partially stale display.
9530
f95d1f11
VS
95312012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 * grub-core/normal/menu_entry.c (backward_char): Use right line for
9534 substraction.
9535
6297e197
VS
95362012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
9539 Fix MBR remapping workaround.
9540 (grub_util_biosdisk_read) [__linux__]: Likewise.
9541
8a7ecad3
VS
95422012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * util/grub-install.in: Check for ieee1275 and not ieee1276.
9545
2b34f944
VS
95462012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 * configure.ac: Bump to beta6.
9549
684aef11
CW
95502012-05-31 Christer Weinigel <christer@weinigel.se>
9551
9552 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
9553
05b0bb91
VS
95542012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
9557 (grub_cmd_linux): Likewise.
9558
bda36bfa
CW
95592012-05-31 Christer Weinigel <christer@weinigel.se>
9560
9561 Fix EHCI low-speed.
9562
9563 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
9564 (GRUB_EHCI_MULT_TWO): Likewise.
9565 (GRUB_EHCI_MULT_THREE): Likewise.
9566 (GRUB_EHCI_CMASK_MASK): New enum value.
9567 (GRUB_EHCI_SMASK_MASK): Likewise.
9568 (GRUB_EHCI_CMASK_OFF): Likewise.
9569 (GRUB_EHCI_SMASK_OFF): Likewise.
9570 (grub_ehci_pci_iter): Enable periodic schedule.
9571 (grub_ehci_parse_notrun): Likewise.
9572 (grub_ehci_restore_hw): Likewise.
9573 (grub_ehci_setup_qh): Set flags for low speed transfers.
9574 (grub_ehci_find_qh): Use periodic list for low speed.
9575 (grub_ehci_setup_transfer): Check periodic queue as well.
9576 (grub_ehci_check_transfer): Likewise.
9577 (grub_ehci_cancel_transfer): Cancel periodic transfer.
9578
e12bcb1c
PFS
95792012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
9580
9581 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
9582 parameter is used.
9583
bcc75fb3
PJ
95842012-05-31 Peter Jones <pjones@redhat.com>
9585
9586 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
9587 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
9588 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
9589
f19cb95e
VS
95902012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
9593 uninited variable. Allocate at least setup_sects.
9594
a4e5ca80
VS
95952012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 Fix handling of EFI with big memory maps.
9598
9599 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
9600 (real_mode_mem): Likewise.
9601 (real_mode_target): Likewise.
9602 (real_mode_pages): Likewise.
9603 (prot_mode_pages): Likewise.
9604 (linux_params): New var.
9605 (linux_cmdline): Likewise.
9606 (free_pages): Don't set real mode variables.
9607 (allocate_pages): Don't allocate real mode memory.
9608 (grub_e820_add_region): Remove the limit.
9609 (grub_linux_boot): Allocate and copy real mode memory.
9610 (grub_linux_unload): Free linux_cmdline.
9611 (grub_cmd_linux): Use temporary storage for parameters.
9612 (grub_cmd_initrd): Likewise.
9613 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
9614 (linux_kernel_params): Make it 1K big.
9615
ddb73558
VS
96162012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9617
9618 * Makefile.util.def: Remove -Wno-format.
9619 * grub-core/Makefile.core.def: Likewise.
9620
1c4afb60
VS
96212012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * tests/cmp_unit_test.c: Add missing failure message.
9624 * tests/example_unit_test.c: Likewise.
9625 * tests/printf_unit_test.c: Likewise.
9626
941e3a6d
VS
96272012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
9630 relaxation of protective MBR requirements.
9631
b105df76
VS
96322012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * configure.ac: Add condition for COND_HOST_XNU.
9635 * Makefile.util.def (10_xnu): New script.
9636 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
9637
84e1569e
VS
96382012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
9641 objconv bug.
9642
130c0f77
VS
96432012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
9646 Binary on other platforms stays identical.
9647
6fd0b143
VS
96482012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
9651 Apple.
9652
0af1751d
VS
96532012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
9656
176d5f7d
VS
96572012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
9660 rather than defining size_t ourselves to avoid conflict.
9661
7de5e20a
VS
96622012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
9665 initialisation to avoid __bzero reference.
9666
f7143efe
VS
96672012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
9670 version.
9671 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
9672 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
9673 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
9674 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
9675 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
9676
e6ad0555
VS
96772012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
9680 * grub-core/kern/misc.c: Likewise.
9681 * grub-core/loader/i386/xnu.c: Likewise.
9682 * include/grub/i386/tsc.h: Likewise.
9683 * include/grub/symbol.h: Likewise.
9684
4a5a3c4a
VS
96852012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
9688 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
9689 on older compiler.
9690
037f6d90
VS
96912012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
9694 Implement Apple flavour.
9695 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
9696
f7194551
VS
96972012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
9700 (memmove) [__APPLE__]: Likewise.
9701 (memcpy) [__APPLE__]: Likewise.
9702 (memset) [__APPLE__]: Likewise.
9703 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
9704 (memmove) [__APPLE__]: Likewise.
9705 (memcpy) [__APPLE__]: Likewise.
9706 (memset) [__APPLE__]: Likewise.
9707
85a730ca
VS
97082012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
9711 dependency discard.
9712
40e80b94
VS
97132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 * grub-core/normal/main.c (read_config_file): Provide config_file and
9716 config_directory.
9717 * util/grub.d/41_custom.in: Use config_directoy when available.
9718
9da59c32
VS
97192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
9722 (grub_bfs_dir): Likewise.
9723
2787ae53
PJ
97242012-05-27 Peter Jones <pjones@redhat.com>
9725
9726 The old code gives arguments to a printf function which can't work
9727 correctly, and the compiler complains.
9728
9729 * grub-core/tests/example_functional_test.c (example_test): Add
9730 missing text.
9731 * grub-core/tests/lib/test.c (add_failure): Rewrite.
9732 * include/grub/test.h (grub_test_assert_helper): New declaration.
9733 (grub_test_assert): Use grub_test_assert_helper.
9734
526ef13d
VS
97352012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
9738 (exfctest): ... this to avoid overlong filenames.
9739 All users updated.
9740
20dd511c
VS
97412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 Handle "." and ".." on squashfs.
9744
9745 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
9746 Make inode numbers into stack.
9747 (grub_squash_read_symlink): Use stack.
9748 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
9749 (make_root_node): Fill stack.
9750 (grub_squash_open): Use stack.
9751
1d80c62a
VS
97522012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9753
9754 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
9755 freeing.
9756
d336f652
VS
97572012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
9760 stderr on test calls.
9761
8b43f587
VS
97622012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
9765
80a3dc3f
VS
97662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9767
9768 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
9769
47e297d4
VS
97702012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
9773 "..".
9774
df042ccb
VS
97752012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
9778 (grub_hfsplus_iterate_dir): Add "." and "..".
9779
fc977f48
VS
97802012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 * grub-core/fs/cpio.c (canonicalize): Handle "..".
9783 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
9784
f3250e5f
VS
97852012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
9788 (find_path): Handle "." and "..".
9789
fd8ed4c5
VS
97902012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
9793 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
9794 (grub_affs_iterate_dir): Handle hardlinks.
9795
4ce776d2
MG
97962012-05-26 Matthew Garrett <mjg@redhat.com>
9797
9798 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
9799 (grub_efi_console_fini): Likewise.
9800 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
9801 (grub_video_gop_fill_mode_info): Rename to ...
9802 (grub_video_gop_fill_real_mode_info): ... this.
9803 (grub_video_gop_fill_mode_info): New function.
9804 (grub_video_gop_setup): Setup double framebuffer.
9805 (grub_video_gop_get_info_and_fini): Use original framebuffer.
9806 Free offscreen.
9807 (grub_video_gop_swap_buffers): Copy framebuffer.
9808 (grub_video_gop_fini): Free offscreen buffer.
9809 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
9810 New enum.
9811 (grub_efi_gop_blt_pixel): New struct.
9812
683031ba
VS
98132012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * gentpl.py: Remove error disabling for objconv.
9816
c2deb798
VS
98172012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * configure.ac: Remove -Wunitialized as it's not available on older
9820 compilers.
9821
98222012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
9823
9824 Fix extent overflow comparator.
9825
9826 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
9827 (grub_hfsplus_read_block): Set type.
9828 (grub_hfsplus_cmp_extkey): Compare type.
9829
d6b1fd36
VS
98302012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
9833
0a9aa0f6
VS
98342012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
9837 than 0.
9838
8360e159
VS
98392012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
9842 (dejavu_bold_14.pf2): New target.
9843
501b9e4b
VS
98442012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * configure.ac: Fix djvu font detection.
9847
7026b0e2
VS
98482012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
9851 ext* instead of ext2.
9852
c2a51ade
VS
98532012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
9856 name with \0.
9857
8f803a5d
JU
98582012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
9859
9860 * docs/grub-dev.texi: Remove dot from .png.
9861
13c6353f
VS
98622012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
9865 protective entry in any slot.
9866 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
9867 if protective entry is found in any slot.
9868
9869 Protective entry in non-first slot make no sense but is a widespread
9870 brain damage.
9871
4cf6be1b
VS
98722012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
9875
937d1c44
VS
98762012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
9879 with old reiserfs.
9880 (grub_reiserfs_open): Don't free root.
9881
021d90ec
VS
98822012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
9885 after freeing for safety.
9886
967b2b64
VS
98872012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
9890 Reported by: Jordan Uggla.
9891
34274d02
JU
98922012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
9893
967b2b64
VS
9894 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
9895 actual implementation. Specifically, clarify that the grub menu will
9896 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
9897 passed.
34274d02 9898
dcaaae9d
BH
98992012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
9900
9901 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
9902 of r0.
9903
7086ad52
VS
99042012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 Remove unjustified hard dependency of normal.mod on gfxterm.
9907
9908 * include/grub/term.h (grub_term_output): New member fullscreen.
9909 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
9910 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
9911 (grub_gfxterm): Set .fullscreen.
9912 * grub-core/normal/menu.c (menu_init): Use fullscreen.
9913 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
9914
37ed2c9b
VS
99152012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9916
9917 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
9918 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 9919 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 9920
a4469c88
VS
99212012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
9924
4e461486
VS
99252012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9928 a bad FS.
9929
aa78f5c4
VS
99302012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
9933 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
9934
197626b5
VS
99352012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
9938 (grub_jfs_mount): Fill caseins.
9939 (grub_jfs_find_file): Respect caseins.
9940
8ad3f28c
VS
99412012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
9944 through UTF-16.
9945
0c6c324e
VS
99462012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
9949 New argument origpath. All users updated.
9950
c6666ba6
VS
99512012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
9954 (read_attr): Ensure that we read start of possibly compressed block.
9955
e28e5fe5
VS
99562012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
9959 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
9960 All users updated.
9961
5fc23ab2
VS
99622012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
9965 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
9966 (dejavu.pf2): Replace with ...
9967 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
9968 this.
9969
79dbc21c
VS
99702012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 * util/grub.d/20_linux_xen.in: Add missing line.
9973
d2fcfb0c
VS
99742012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
9977 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
9978 (grub_utf16_to_utf8): Likewise.
9979
5560e9d6
VS
99802012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9981
9982 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
9983 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
9984 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9985 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
9986 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9987 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
9988
99892012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
9990
9991 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9992 a bad FS.
9993
5560e9d6 99942012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
9995
9996 * grub-core/fs/udf.c (read_string): Bail out on size=0.
9997 (grub_udf_read_symlink): Handle read_string failure.
9998
5eae3175
VS
99992012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
10002 comment.
10003
c1ad82db
VS
100042012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 Fix handling of UDF symlinks.
10007
10008 * grub-core/fs/udf.c (read_string): New argument outbuf.
10009 All users updated.
10010 (grub_ufs_read_symlink): Rename to ...
10011 (grub_udf_read_symlink): ... this. All users updated.
10012 Handle symlinks with more than one component.
10013
33eca6e0
VS
100142012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
10017 symlinks. Replace leading colon with a slash.
10018
57f4a70b
VS
100192012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
10022 filename.
10023
38c8ee20
VS
100242012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
10027 match in inner node.
10028
2e57f28f
VS
100292012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
10032 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
10033 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
10034 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
10035 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
10036 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
10037 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
10038 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
10039 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
10040
fe8c2f11
VS
100412012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 Use grub-probe and not cmp to check that disk is empty.
10044
10045 * util/grub-install.in: Use grub-probe for zero-check.
10046 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
10047 (probe): Handle PRINT_ZERO_CHECK.
10048 (argp_parser): Handle -t zero_check.
10049
100502012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
10051
10052 Flush block cache on adding disk to device map.
10053
10054 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
10055 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
10056 adding.
10057 (read_device_map): Likewise.
10058 (open_device): Flush on opening.
10059
690434e8
VS
100602012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
10063 (handle_symlink): Fix off-by-one error.
10064 Canonicalize the target.
10065 (grub_cpio_dir): Canonicalize the name.
10066 Fix memory leak.
10067 Set directory.
10068 (grub_cpio_open): Canonicalize the name.
10069
742d2be6
VS
100702012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
10073 handling.
10074
3244fe96
VS
100752012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
10078 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
10079
8aeb1837
VS
100802012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
10083 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 10084 All users updated.
8aeb1837 10085
9133fd05
VS
100862012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
10089 counterpart.
10090
6d521c5b
VS
100912012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 Fix UFS1 big file support.
10094
10095 * grub-core/fs/ufs.c (INODE): Removed.
10096 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
10097 64-bit.
10098 (INODE_MODE): Simplify.
10099 (grub_ufs_inode): Use uint64_t for size and not int64_t.
10100 (grub_ufs_lookup_symlink): Don't use INODE.
10101
21b82e17
VS
101022012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 Fix minixfs with non-power-of-two blocks since it's supported by minix.
10105
10106 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
10107 (grub_minix_data): Replace log_block_size with block_size.
10108 (grub_minix_read_file): Use block_size but avoid 64-bit division.
10109 (grub_minix_mount): Fill block_size.
10110
101112012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
10112
10113 * configure.ac: Bump to beta5.
10114
f417ed04
VS
101152012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 Fix wrapped HFS+ handling.
10118
10119 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
10120 blocks_start. All users updated.
10121 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
10122 wrapping offset.
10123 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
10124
607d282b
VS
101252012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 Fix long symlinks on reiserfs.
10128
10129 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
10130 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
10131 (grub_reiserfs_iterate_dir): Save size for non-directories.
10132 (grub_reiserfs_open): Don't reread stat block as we already know the
10133 size.
10134 (grub_reiserfs_read): Split into...
10135 (grub_reiserfs_read_real): ... and ...
10136 (grub_reiserfs_read): ...this.
10137
ae16024d
VS
101382012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 Fix non-indexed JFS.
10141
10142 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
10143 (grub_jfs_data): New field namecomponentlen.
10144 (grub_jfs_mount): Fill namecomponentlen.
10145 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
10146
eea1e26e
VS
101472012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
10150 * tests/grub_script_echo1.in: Add tests.
10151
df760f77
VS
101522012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * util/grub-install.in: Ignore empty devicetree directory.
10155
5efb817d
B
101562012-05-08 Bean <bean123ch@gmail.com>
10157
10158 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
10159 All users updated.
10160 (free_rsm): Free header as well.
10161 (free_old_fragments): Fix memory leak.
10162 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
10163 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
10164 (destroy_pq): Likewise.
10165 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
10166
668ea6d2
VS
101672012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
10170 resulting hash as a precaution.
10171
1739b1fe
VS
101722012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
10175 '_' in variable names.
10176 * grub-core/net/net.c (grub_net_network_level_interface_register):
10177 Likewise.
10178
6ae485aa
VS
101792012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 Fix AFFS with non-512B blocks.
10182
10183 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
10184 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
10185 (grub_affs_data): Replace blocksize with log_blocksize.
10186 (grub_affs_read_block): Fix non-512B blocks.
10187 (grub_affs_read_symlink): Likewise.
10188 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
10189 (grub_affs_read): Fix non-512B blocks.
10190 (grub_affs_label): Likewise.
10191 (grub_affs_mtime): Likewise.
10192 (grub_affs_mount): Fix block detection routine.
10193
d20fab84
VS
101942012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 Add filesystem mtime to AFFS.
10197
10198 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
10199 (aftime2ctime): New function.
10200 (grub_affs_dir): Use aftime2ctime.
10201 (grub_affs_label): Fix return value.
10202 (grub_affs_mtime): New function.
10203 (grub_affs_fs): Add mtime.
10204
e87b10f5
VS
102052012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10206
10207 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
10208 UTF-8.
10209
7dceec9b
VS
102102012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
10213 UTF-8.
10214
2f48221f
VS
102152012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
10218
dacd85cf
VS
102192012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10220
10221 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
10222 flags.
10223 (FLAGS_CASE_SENSITIVE): New enum value.
10224 (cache_entry): New struct.
10225 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
10226 cache_size and cache.
10227 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
10228 Add log_blocksize and fshelp_flags.
10229 (grub_sfs_read_extent): Handle non-512 blocks.
10230 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
10231 (grub_sfs_read_file): Handle non-512 blocks.
10232 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
10233 fshelp_flags.
10234 (grub_sfs_read_symlink): Handle non-512 blocks.
10235 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
10236 (grub_sfs_dir): Free cache.
10237 (grub_sfs_close): Likewise.
10238
24e9a854
VS
102392012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
10242 filesystems.
10243
62ace64d
VS
102442012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
10247
83b2e89c
VS
102482012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10249
10250 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
10251
75ccaea3
VS
102522012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10253
10254 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
10255 (grub_sfs_read_extent): Likewise.
10256 (grub_sfs_read_block): Likewise.
10257 (grub_sfs_mount): Likewise.
10258 (grub_sfs_iterate_dir): Likewise.
10259 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
10260 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
10261
1b8463f2
VS
102622012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10263
10264 Fix errors on compressed NTFS with 512B clusters.
10265
10266 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
10267 types.
10268 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
10269 not 0.
10270 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
10271 Relax check for inline extents.
10272 (ntfscomp): Return correct -1 on error and not 0.
10273
4f8e368f
VS
102742012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10275
10276 * util/grub-install.in: Fix handling of prefix containing spaces.
10277
6f5d5ee8
VS
102782012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
10281 (grub_squash_read_data): Fix offset byte-swapping.
10282
ce41ab7a
VS
102832012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
10286 per common usage and preffered in several parts of code.
10287 (grub_memcmp): Likewise.
10288 (grub_strncmp): Likewise.
10289 * include/grub/misc.h (grub_strcasecmp): Likewise.
10290 (grub_strncasecmp): Likewise.
10291 * Makefile.util.def (cmp_test): New test.
10292 (grub_script_strcmp): Likewise.
10293 * tests/cmp_unit_test.c: New file.
10294 * tests/grub_script_strcmp.in: Likewise.
10295 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
10296
49717bf4
VS
102972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 * include/grub/pci.h: Move enums into no-asm part.
10300
0a308f64
VS
103012012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
10304
1796965f
ST
103052012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
10306
10307 * util/getroot.c (find_hurd_root_device): Try to make error message
10308 and comments to translators clearer.
10309
4e9b2819
VS
103102012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
10313
076aeb50
VS
103142012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
10317 btrfs.
10318
19424d94
VS
103192012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * docs/grub.cfg: Update.
10322
ebb73076
VS
103232012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 * docs/grub.texi (PXE): Remove not present variables.
10326
9a1b669c
VS
103272012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 * grub-core/net/net.c (defserver_set_env): New function.
10330 (defserver_get_env): Likewise.
10331 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
10332
d38bf7d3
VS
103332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
10336 entries.
10337
103382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
10339
10340 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
10341 * grub-core/kern/emu/hostdisk.c: Likewise.
10342
e5e4ca48
ST
103432012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10344
10345 Handle hurd userspace partitions.
10346
10347 * util/getroot.c (find_hurd_root_device): New function.
10348 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
10349
56bb5dd5
VS
103502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
10353 names.
10354 Reported by: Bastian Blank.
10355
9e8bc27a
VS
103562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
10359 crossing page boundary.
10360
aa01499d
VS
103612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 Fix B-tree search in BFS, especially in presence of non-ASCII
10364 characters.
10365
10366 * grub-core/fs/bfs.c (bfs_strcmp): New function.
10367 (find_in_b_tree): Use standard bsearch + btree algorithm.
10368
57006035
VS
103692012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
10372 and so on.
10373
9d34bb85
MG
103742012-05-03 Matthew Garrett <mjg@redhat.com>
103752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 Suspend broadcom cards in order to stop their DMA.
10378
10379 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
10380 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
10381 (pci): Don't build on x86 EFI.
10382 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
10383 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
10384 New function.
10385 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
10386 stop_broadcom if running on EFI.
10387 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
10388 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
10389 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
10390 (grub_pci_find_capability): New proto.
10391
01aab997
VS
103922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 * docs/grub.texi: Remove dot from the extension as it apparently
10395 doesn't work with some makeinfo versions.
10396
fbd8dca6
VS
103972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10398
10399 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
10400 with GRUB expectance.
10401
dab797f4
VS
104022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
10405
1516bfb4
VS
104062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
10409 zero after directory block since last entry may be not 0-terminated if
10410 it ends on block boundary. Use continue instead of if spanning whole
10411 loop.
10412
a3a0eace
VS
104132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 Support 4K sectors UDF inline files.
10416
10417 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
10418 (grub_udf_extended_file_entry): Likewise.
10419 (grub_fshelp_node): Name the anonymous union. Put block at the end.
10420 All users updated.
10421 (get_fshelp_size): New function.
10422 (grub_udf_read_icb): Read whole block.
10423 (grub_udf_iterate_dir): Likewise.
10424 (grub_udf_dir): Likewise.
10425 (grub_udf_open): Likewise.
10426
c82f16c1
VS
104272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
10430
59fd2aac
VS
104312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
10434 inline symlinks in addition to workaround.
10435
3b4afb4d
VS
104362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
10439
f45c794a
VS
104402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
10443
f25cecbd
VS
104442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
10447
bb9a34e8
VS
104482012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10449
10450 Fix reiserfs big seek times.
10451
10452 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
10453 exact. All users updated.
10454 (grub_reiserfs_read): Use nearest btree search for seeking.
10455 Fix return value on error.
10456
dc478aea
VS
104572012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
10460 entries.
10461 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
10462 * docs/grub.texi: Update menuentry description.
10463
8db10f47
VS
104642012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
10467 crash when embedding onto filesystem.
10468
bcb288ed
VS
104692012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10470
10471 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
10472 name.
10473
a626fdd7
VS
104742012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
10477
b2f68477
VS
104782012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10479
10480 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
10481 commit.
10482
ba15b2af
B
104832012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
104842012-05-01 Bean <bean123ch@gmail.com>
10485
10486 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
10487
a188012e
VS
104882012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
10491 Special behaviour for len = 0 to read whole file isn't used anywhere and
10492 can cause buffer ovewrflows in several places.
10493
f0a53ed2
VS
104942012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
10497
5ed554f0
VS
104982012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 Handle RAIDZ on non-512B sectors.
10501
10502 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
10503 max_children_ashift.
10504 (fill_vdev_info_real): Fill max_children_ashift.
10505 (read_device): Use max_children_ashift.
10506
ddc58357
VS
105072012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10508
10509 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
10510
e3282399
VS
105112012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
10514 disk names.
10515 * docs/grub.texi: Update device.map parts.
10516
ee618bd4
VS
105172012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10518
10519 Don't scan into non-diskfilter devices having diskfilter names.
10520
10521 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
10522 (scan_disk): New argument accept_diskfilter. Fix recursion depth
10523 handling.
10524 (scan_disk_hook): New function.
10525
bdf88864
B
105262012-04-29 Bean <bean123ch@gmail.com>
10527
10528 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
10529 allocation.
10530
32745f51
MK
105312012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
10532
10533 * configure.ac: Detect starfield theme font path
10534 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
10535
bc95c8c0
VS
105362012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10537
10538 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
10539 geometry on serial consoles.
10540
147fbcab
VS
105412012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10542
10543 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
10544 because of network consoles.
10545
0f42c889
VS
105462012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
10549 handling.
10550
4a3594c9
VS
105512012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
10554 falls on Q syndrom.
10555
5cb53879
VS
105562012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
10559 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10560
b282dfe5
VS
105612012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
10564 Allocate at lest 8192 for temporary buffer as required for lzo.
10565
daa59f47
VS
105662012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10567
10568 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
10569 to cluster_bits, since it's already added in.
10570 (grub_fat_read_data): Likewise.
10571
986748ce
VS
105722012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
10575 as long as cluster size is multiple of 512 bytes.
10576
a20f6ad0
VS
105772012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10578
10579 * util/grub-mkrescue.in: Fix locale directory.
10580
385f9abb
VS
105812012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * grub-core/kern/emu/hostdisk.c (map): Make static.
10584
1c557d30
B
105852012-04-23 Bean <bean123ch@gmail.com>
10586
10587 * util/grub-fstest.c (fstest): Add missing break.
10588
524b5d3a
ST
105892012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
10590
10591 Fix hurd build.
10592
10593 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
10594 not define nr variable.
fe4824e9 10595 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
10596 find_root_devices_from_poolname, find_root_devices_from_libzfs,
10597 grub_find_device): Do not define.
524b5d3a 10598
9a06490c
VS
105992012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 Fix kfreebsd compile and behaviour.
10602
10603 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
10604 format-security.
10605 * util/getroot.c: Fix wait.h include.
10606 (grub_guess_root_devices): Error if grub_find_device fails.
10607 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
10608 (grub_util_get_dev_abstraction): Likewise.
10609 (grub_util_pull_device): Likewise.
10610 (grub_util_get_grub_dev): Likewise.
10611 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
10612
48143d96
VS
106132012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 Fix and unify wholedisk detection.
10616
10617 * util/getroot.c (convert_system_partition_to_system_disk): New argument
10618 is_part. All users updated.
10619 (device_is_wholedisk): Removed.
10620 (grub_util_biosdisk_get_grub_dev): Use is_part.
10621
ebbd24f3
VS
106222012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
10625 mode.
10626
56f7aa1e
VS
106272012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * configure.ac: Bump to beta4.
10630
9c815e01
VS
106312012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
10634 --fs-uuid --set UUID syntax.
10635
59e2651a
VS
106362012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
10639 disunification.
10640
54e03cfc
VS
106412012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
10644
81092a75
MK
106452012-04-18 Mads Kiilerich <mads@kiilerich.com>
10646
10647 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
10648
f8315e14
MG
106492012-04-18 Mike Gilbert <floppym@gentoo.org>
10650
10651 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
10652
1501ac21
B
106532012-04-18 Bean <bean123ch@gmail.com>
10654
10655 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
10656 place.
10657
cb7f944e
VS
106582012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
10661 users updated.
10662 (grub_util_biosdisk_read): Handle Linux partitions not exactly
10663 corresponding to GRUB partitions.
10664 (grub_util_biosdisk_write): Likewise.
10665
b72d44a1
VS
106662012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 Scan mdraid before LVM.
10669
10670 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
10671 (grub_diskfilter_register_front): ... this.
10672 (grub_diskfilter_register_back): New function.
10673 All users of grub_diskfilter_register updated.
10674
33d918b8
VS
106752012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10676
10677 * util/grub-install.in: Fix an automatic target detection bug.
10678
c6ca973d
VS
106792012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * util/grub-install.in: New option --efi-directory.
10682
b41be562
VS
106832012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
10686 boot services if we have no other choice.
10687
106882012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * util/grub-mknetdir.in: Rename --override-directory to --directory and
10691 document it.
10692 * tests/util/grub-shell.in: Update to --directory.
10693
e0595a73
VS
106942012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
10697
4ed80652
VS
106982012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
10701 (grub_minix_read_file): Likewise.
10702 (grub_minix_read_inode): Likewise.
10703 (grub_minix_find_file): Likewise.
10704 (grub_minix_dir): Likewise.
10705
56008077
VS
107062012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10707
10708 * util/grub-setup.c (setup): Fix partition handling and blocklist
10709 check.
10710
ee520775
VS
107112012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
10714 redundant buggy overlap check.
10715
16fc9293
VS
107162012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
10719 and grub-mknetdir.
10720
9bab65c4
VS
107212012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10722
10723 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
10724 kh.loadflags on pre-2.00 kernels.
10725
3c491b47
VS
107262012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 Terminate UNDI and PXE before launching the payload to avoid problems
10729 with DMA.
10730
10731 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
10732 (grub_loader_flags): ... this. All users updated.
10733 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
10734 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
10735 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
10736 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
10737 function.
10738 (grub_pxe_restore): Likewise.
10739 (fini_hnd): New var.
10740 (GRUB_MOD_INIT): Register shutdown hook.
10741 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
10742 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
10743 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
10744 (grub_loader_set): Rename second argument to flags.
10745
851ffada
VS
107462012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
10749 written bytes.
10750 (grub_get_num_of_utf8_bytes): New function.
10751 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
10752 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
10753 executing it.
10754 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
10755 (grub_ucs4_to_utf8): Change return type.
10756
491c57a8
VS
107572012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
10760 warning.
851ffada
VS
10761 * grub-core/fs/bfs.c (hop_level): Likewise.
10762 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 10763
756773df
VS
107642012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 * grub-core/lib/adler32.c: Recode due to license unclearness.
10767
fd556a96
VS
107682012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
10771 (test_header): Likewise.
10772
9f9d3f69
VS
107732012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10774
10775 Fix --help formatting.
10776
10777 * util/grub-mkconfig_lib.in (print_option_help): New function.
10778 (grub_fmt): Likewise.
10779 * util/grub-install.in: Use print_option_help and grub_fmt.
10780 * util/grub-kbdcomp.in: Likewise.
10781 * util/grub-mkconfig.in: Likewise.
10782 * util/grub-mknetdir.in: Likewise.
10783 * util/grub-mkrescue.in: Likewise.
10784 * util/grub-mkstandalone.in: Likewise.
10785 * util/grub-reboot.in: Likewise.
10786 * util/grub-set-default.in: Likewise.
10787 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10788
561ec77e
VS
107892012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10790
10791 * linguas.sh: Remove autogenerated *.po.
10792
7ec2b021
VS
107932012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * po/README: Move language fetcing to ...
10796 * linguas.sh: ... here.
10797 * po/README: Point to linguas.sh.
10798
a88f3270
VS
107992012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 * po/README: Exclude ko.po due to disclaimer problems.
10802
d61357ce
VS
108032012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
10806 len = 0.
10807 (grub_gettext_translate_real): Handle 0th string.
10808 (grub_gettext_translate): Ensure that "" isn't translated.
10809
505e41dc
VS
108102012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
10813 TRANSLATORS comment.
10814 (grub_diskfilter_print_partmap): Propagate changing of error into
10815 warning.
10816
e44092db
VS
108172012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10818
10819 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
10820 to uint64_t to prevent overflow.
10821 (grub_diskfilter_lv): Increase start_extent and extent_count
10822 to uint64_t to prevent overflow.
10823
9b83956a
VS
108242012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * configure.ac: Increase version.
10827
da0d5b3f
VS
108282012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
10831
10832 * po/Rules-translit: New file.
10833 * po/arabic.sed: Likewise.
10834 * po/cyrillic.sed: Likewise.
10835 * po/greek.sed: Likewise.
10836 * po/hebrew.sed: Likewise.
10837 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
10838 * po/Makefile.in.in: Add extra_dist4.
10839
ac66b453
VS
108402012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 Handle big-endian minixfs (fixes minixfs tests on bigendian).
10843
10844 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
10845 modify names. Introduce MODE_BIGENDIAN.
10846 * grub-core/fs/minix_be.c: New file.
10847 * grub-core/fs/minix2_be.c: Likewise
10848 * grub-core/fs/minix3_be.c: Likewise.
10849 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
10850 minix3_be.
10851 * grub-core/Makefile.core.def (minix_be): New module.
10852 (minix2_be): Likewise.
10853 (minix3_be): Likewise.
10854
108552012-04-01 Felix <email@hamburg.de>
10856
10857 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
10858 (devs): Add MBP 2011.
10859
0a2d5a82
VS
108602012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
10863
d1625889
VS
108642012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10865
10866 * grub-core/normal/cmdline.c (print_completion): New field
10867 prompt_len.
10868 (grub_cmdline_get): Handle width properly.
10869
6d36a236
VS
108702012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 * grub-core/commands/lsacpi.c (options): Add missing terminator.
10873
9576977e
VS
108742012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 10877 after 29th of February.
9576977e 10878
d73ff15d
VS
108792012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 Fix exfat endianness handling.
10882
10883 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
10884 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
10885 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
10886 Byte-swap utf16 when necessary.
10887 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
10888
bbb39a45
AB
108892012-03-31 Anton Blanchard <anton@samba.org>
108902012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 Fix btrfs endianness handling.
10893
10894 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
10895 (lower_bound): Make root uint64_t. Use root in le.
10896 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
10897 (find_path): Fix template key init.
10898 (grub_btrfs_dir): Fix mtime byteswap.
10899 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
10900
354e0af7
VS
109012012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
10904 recursion_depth. Break infinite resursions. All users updated.
10905
4e75f21c
VS
109062012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
10909 after free.
10910 Reported by: Peter Jones.
10911
25581802
AB
109122012-03-31 Anton Blanchard <anton@samba.org>
10913
10914 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
10915 8 bit values.
10916
08fbf92e
VS
109172012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10918
10919 * util/grub-install.in: Fix nvram call for PreP.
10920
5d1182a6
VS
109212012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
10924 the error when some elements are missing into a warning.
10925
3f8cdd90
VS
109262012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10927
10928 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
10929
51006716
CW
109302012-03-28 Colin Watson <cjwatson@ubuntu.com>
10931
10932 * docs/grub.texi (Invoking grub-probe): New section.
10933 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
10934
e1bd676b
VS
109352012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 Fix tab and wide character handling in editor and menu.
10938
10939 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
10940 agglomerate control characters with combining marks.
10941 (bidi_line_wrap): Allow break on tab.
10942 (grub_unicode_get_comb_start): New function.
10943 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
10944 and tab correctly.
10945 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
10946 with a space.
10947 * grub-core/normal/term.c (print_ucs4_terminal): New argument
10948 fixed_tab_size. All users updated.
10949 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
10950 (grub_term_getcharwidth): Handle \t.
10951 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
10952 and copy.
10953
22e6a774
VS
109542012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 Handle big-endian mdraid.
10957
10958 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
10959 * grub-core/Makefile.core.def (mdraid09_be): New module.
10960 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
10961 rather than grub_le_to_cpu* and grub_cpu_to_le*.
10962 * grub-core/disk/mdraid_linux_be.c: New file.
10963
3c0eae66
VS
109642012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10965
10966 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
10967
b6cf74c9
VS
109682012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10971 missing quotes which caused confusion among translators.
10972
83c93b9c
VS
109732012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * util/grub-mkconfig_lib.in: Fix typo.
10976
ac6fd218
VS
109772012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10978
10979 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
10980 spaces.
10981 * tests/grub_script_leading_whitespace.in: New file.
10982 * Makefile.util.def (grub_script_leading_whitespace): New test.
10983
ba287dd8
VS
109842012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
10987 to work.
10988
d2d58d0a
VS
109892012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
10992 starts with control character.
10993
0382d9bb
VS
109942012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
10997 overflow.
10998 (grub_gdb_outbuf): Likewise.
10999
d83ff9f9
VS
110002012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
11003 zero terminator. Fixes a crash.
11004
2282da4a
VS
110052012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11006
11007 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
11008 beyond 4 GiB.
11009 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
11010 images independently of preffered adderss field.
11011
0ae4f0bd
VS
110122012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
11015 * grub-core/commands/regexp.c: Likewise.
11016 * grub-core/loader/i386/linux.c: Likewise.
11017 * grub-core/partmap/msdos.c: Likewise.
11018 * grub-core/script/execute.c: Likewise.
11019 * grub-core/term/gfxterm.c: Likewise.
11020
546fbe9b
VS
110212012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 Add variable parsing in $"..." and fix several mismatches with bash.
11024
11025 * Makefile.util.def (grub_script_gettext): New test.
11026 * grub-core/script/execute.c (parse_string): New function.
11027 (gettext_append): Likewise.
11028 (grub_script_arglist_to_argv): Use gettext_append.
11029 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
11030 * tests/grub_script_gettext.in: New file.
11031
9fdb2d7b
VS
110322012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 Fix handling of leading spaces in scripts.
11035
11036 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
11037 spaces.
11038 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
11039 other than skipping \r. All users updated.
11040 * tests/grub_script_echo1.in: Add space-related tests.
11041 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
11042
1a1ac4f6
VS
110432012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11044
11045 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
11046
b63d89b6
VS
110472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * configure.ac: Bump up the version to beta2.
11050
17f38c0f
VS
110512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 Fix gettext reload bugs (e.g. inability to disable gettext
11054 once enabled).
11055
11056 * grub-core/gettext/gettext.c: Encapsulate all static variables in
11057 main_context and secondary_context. All functions updated.
11058 (grub_gettext_translate): Rename to ...
11059 (grub_gettext_translate_real): ... this. Return NULL on failed
11060 translate.
11061 (grub_gettext_translate): Handle secondary context.
11062 (grub_gettext_delete_list): Close file and zero-out the context.
11063 (grub_mofile_open): Don't call grub_gettext_delete_list.
11064 Don't close file.
11065 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
11066 if locale="" to avoid pointless error message.
11067 (grub_gettext_env_write_lang): Update lang even if load fails.
11068 Handle secondary context.
11069 (grub_gettext_reread_prefix): New function.
11070 (read_main): Likewise.
11071 (read_secondary): Likewise.
11072 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
11073 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
11074 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
11075 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
11076
8e56f870
VS
110772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11078
11079 * configure.ac: Decrease warning level to avoid spurious warnings and
11080 to be able to compile with GCC 4.2.
11081 * Makefile.util.def: Remove -Wno-error=logical-op.
11082
82f6d455
WB
110832012-03-10 William Bittner <william.bittner@gmail.com>
11084
11085 * util/import_unicode.py: Add missing brackets around string for
11086 python 3 support.
11087
1ecd61a4
VS
110882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 Fix efi chainloader on network root.
11091
11092 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
11093 network devices.
11094 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
11095 New function.
11096
14361ee8
VS
110972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11098
11099 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
11100 unused show_text member.
11101 * docs/grub.texi: Document "text" property.
11102
922aabf3
VS
111032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11104
11105 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
11106 in dprintf.
11107
ec316771
VS
111082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11109
11110 Fix IMSM handling on Fedora.
11111
11112 * util/getroot.c (grub_util_is_imsm): New function.
11113 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
11114
0f021838
VS
111152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11116
11117 * Makefile.am: Strip gold section.
11118 * conf/Makefile.common: Likewise.
11119 * gentpl.py: Likewise.
11120 * grub-core/Makefile.core.def: Likewise.
11121 * grub-core/genmod.sh.in: Likewise.
11122
1039c8eb
VS
111232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
11126 * util/grub.d/20_linux_xen.in: Likewise.
11127 Based on Debian patch.
11128
6dd412cd
VS
111292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * util/grub.d/10_linux.in: Fix syntax error resulting in
11132 Richard Laager's patch.
11133 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
11134
3fd8bae5
VS
111352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
11138 dependencies.
11139
7eea1671
RL
111402012-03-10 Richard Laager <rlaager@wiktel.com>
11141
11142 * util/grub.d/10_linux.in: Fix ZFS root passing.
11143
e8e0566b
VS
111442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11145
11146 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11147 * grub-core/commands/xnu_uuid.c: Likewise.
11148 * grub-core/loader/efi/appleloader.c: Likewise.
11149 * grub-core/script/execute.c: Likewise.
11150 * grub-core/script/main.c: Likewise.
11151 * util/grub-mkfont.c: Likewise.
11152
1acc5b1f
VS
111532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 * util/grub-mkfont.c (options): Use more appropriate "select" that
11156 "set" for face index.
11157
35d70620
VS
111582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 * util/grub-editenv.c (options): Gettextize command summaries.
11161
c9eb96b5
VS
111622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
11165 "out of memory" error messagge.
11166
1f493136
VS
111672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
11170 of diskfilter for diskfilter on diskfilter support.
11171
6d790129
VS
111722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
11175
005f46c9
VS
111762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11177
11178 * util/grub-install.in: Check for themes/starfield/theme.txt and not
11179 themes/starfield.
11180
c8f778a0
VS
111812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11182
11183 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
11184
de1e64eb
VS
111852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
11188
c6d54211
VS
111892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
11192 of error message.
11193
dd390777
VS
111942012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
11197
5fd1c522
VS
111982012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
11201 message.
c6d54211 11202 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 11203
fae01f6c
VS
112042012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11205
11206 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
11207 Gettextize.
11208 * util/grub-mount.c (options): Likewise.
11209
292fdaff
VS
112102012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
11213 gettextize.
11214 * grub-core/commands/search_wrap.c (options): Likewise.
11215
ecdbae77
VS
112162012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
11219
52bfedfa
VS
112202012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
11223 size calculation.
11224 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
11225 none is known.
11226
55b20e58
VS
112272012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11228
11229 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
11230 "temporary" since it's used in identifier and is limited in space.
11231
fda9d101
VS
112322012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * po/POTFILES.in: Regenerate. Include *.h since they contain
11235 translatable strings as well.
11236
6a0295e2
VS
112372012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11240 byte-swap on big-endian.
11241 Reported by: Lennart Sorensen
11242
807fb77c
VS
112432012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
11246 (allocate_pages): Improve dprintf.
11247 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
11248 code32_start. Fill code32_start and kernel_alignment in params.
11249 (grub_cmd_initrd): Use prot_init_space.
11250
61ac50ba
VS
112512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
11254
abdd26dd
VS
112552012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * util/grub-install.in: Add missing dot at the end of sentence.
11258
6e69da9c
VS
112592012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11260
11261 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11262 * grub-core/commands/videotest.c: Likewise.
11263 * grub-core/loader/i386/linux.c: Likewise.
11264
4a929343
VS
112652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
11268 sentence.
11269 Reported by: Milo Casagrande.
11270
bb51c6c6
VS
112712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11272
11273 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
11274 * grub-core/commands/gptsync.c: Likewise.
11275 * grub-core/commands/hashsum.c: Likewise.
11276 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11277 * grub-core/commands/legacycfg.c: Likewise.
11278 * grub-core/io/gzio.c: Likewise.
11279 * grub-core/net/net.c: Likewise.
11280 * grub-core/term/gfxterm.c: Likewise.
11281 * grub-core/term/terminfo.c: Likewise.
11282 * grub-core/tests/test_blockarg.c: Likewise.
11283 * grub-core/video/video.c: Likewise.
11284 * util/grub-install.in: Likewise.
11285 * util/grub-mkfont.c: Likewise.
11286
b2b149cb
VS
112872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
11290
c7c080ad
VS
112912012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 11294 Reported by: David Prévot.
c7c080ad 11295
f2e243c0
VS
112962012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
11299 description.
11300
09963c76
VS
113012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * util/grub-script-check.c (main): Fix a syntax error message which was
11304 unclear.
11305
a50514a8
VS
113062012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11307
11308 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
11309
4650daec
VS
113102012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11311
11312 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
11313 messages.
11314
113152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
11316
11317 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
11318 without argument.
11319 * util/grub-mount.c (options): Likewise.
11320
bbc5a342
VS
113212012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11322
11323 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
11324
ef292a87
VS
113252012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11326
11327 * grub-core/net/http.c: Add TRANSLATORS comments.
11328 * grub-core/normal/cmdline.c: Likewise.
11329 * grub-core/normal/misc.c: Likewise.
11330 * grub-core/partmap/msdos.c: Likewise.
11331 * grub-core/parttool/msdospart.c: Likewise.
11332 * grub-core/script/execute.c: Likewise.
11333 * grub-core/script/main.c: Likewise.
11334 * grub-core/term/terminfo.c: Likewise.
11335 * grub-core/video/bitmap.c: Likewise.
11336 * util/grub-install.in: Likewise.
11337 * util/grub-mkimage.c: Likewise.
11338 * util/grub-mklayout.c: Likewise.
11339 * util/grub-setup.c: Likewise.
11340
0fc19bd0
VS
113412012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
11344 with similar messages in grub-fstest.
11345
d95862ef
VS
113462012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * util/grub-install.in: Unify "option requires an argument" message
11349 with similar messages in other files.
11350 * util/grub-mkconfig.in: Likewise.
11351
b7308f90
VS
113522012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * util/grub-set-default.in: Replace printf with gettext_printf (the
11355 string in in question is already translated from grub-reboot)
11356
559dc587
VS
113572012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 * configure.ac: Bump up the version to beta1.
11360
1a11761f
VS
113612012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11362
11363 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
11364 case when min_align = 0.
11365
24539abd
VS
113662012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
11369 and fix a case when line_start overflows.
11370
32bd735b
VS
113712012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11372
11373 * util/grub-reboot.in (usage): Mention id posibility.
11374 * util/grub-set-default.in (usage): Likewise.
11375
1a2fd1e6
VS
113762012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
11379 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
11380 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11381 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11382 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11383 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11384 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11385
90eeab76
VS
113862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 * grub-core/commands/menuentry.c (options): Remove
11389 GRUB_ARG_OPTION_REPEATABLE.
11390 Reported by: Andreas Vogel
11391
5ad1be82
AV
113922012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
11393
11394 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
11395
cb055286
HE
113962012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
11397
11398 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
11399 error.
11400
93b1cd79
VS
114012012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 Use sort -V by the idea of Georgi Georgiev.
11404
11405 * util/grub-mkconfig_lib.in (version_sort): New function.
11406 (version_test_numeric): Use version_sort.
11407
0cdc126c
VS
114082012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11409
11410 Use submenus in grub-mkconfig.
11411
11412 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
11413 * util/grub-mkconfig_lib.in (grub_quote): New function.
11414 (gettext_printf): Use gettext and not gettext_quoted to fix several
11415 messages.
11416 * util/grub.d/10_hurd.in: Use submenus.
11417 * util/grub.d/10_kfreebsd.in: Likewise.
11418 * util/grub.d/10_linux.in: Likewise.
11419 * util/grub.d/10_netbsd.in: Likewise.
11420 * util/grub.d/20_linux_xen.in: Likewise.
11421 * util/grub.d/30_os-prober.in: Likewise.
11422 * util/grub.d/10_illumos.in: Add missing quoting.
11423 * util/grub.d/10_windows.in: Likewise.
11424
d9bef9bc
VS
114252012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 Fix menu title instability bug.
11428
11429 * grub-core/commands/menuentry.c (options): New option --id.
11430 (grub_normal_add_menu_entry): New argument id. All users updated.
11431 (grub_cmd_menuentry): Handle --id.
11432 (grub_menu_init): Accept unknown arguments.
11433 * grub-core/normal/main.c (features): Add feature_menuentry_id and
11434 feature_menuentry_options.
11435 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
11436 saved_entry.
11437 (get_entry_number): Match with id as well.
11438 * include/grub/menu.h (grub_menu_entry): New member id.
11439 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
11440 * util/grub.d/00_header.in: Define menuentry_id_option.
11441 * util/grub.d/10_hurd.in: Define id.
11442 * util/grub.d/10_illumos.in: Likewise.
11443 * util/grub.d/10_kfreebsd.in: Likewise.
11444 * util/grub.d/10_linux.in: Likewise.
11445 * util/grub.d/10_netbsd.in: Likewise.
11446 * util/grub.d/10_windows.in: Likewise.
11447 * util/grub.d/20_linux_xen.in: Likewise.
11448 * util/grub.d/30_os-prober.in: Likewise.
11449
114502012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
11451
11452 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
11453 "scope" with "body".
11454
7c8d0ce7
VS
114552012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
11458 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
11459 prot_size and prot_file_size.
11460
49de079b
VS
114612012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
11464 All users updated. If easily=1 require raid-5/-6 to be full.
11465 (is_node_readable): Likewise.
11466 (scan_devices): Scan incomplete but readable LVs at the end.
11467 (grub_diskfilter_memberlist): Pull missing devices.
11468 (insert_array): Skip scanning until device is complete or scan is
11469 done otherwise.
11470 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
11471 check.
11472 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
11473 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
11474
aff05d45
MG
114752012-03-03 Matthew Garrett <mjg@redhat.com>
114762012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 Avoid EFI boot services when loading Linux.
11479
11480 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
11481 avoid_efi_bootservices. All users updated.
11482 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
11483 argument avoid_efi_bootservices. All users updated.
11484 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
11485 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
11486 align, min_align, relocatable, prefered_address. All users updated.
11487 Allocate avoiding boot services if kernel is relocatable.
11488 (grub_cmd_linux): Check if kernel is relocatable.
11489 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
11490 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
11491 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
11492 avoid_efi_boot_services.
11493 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
11494 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
11495 (linux_kernel_params): Likewise.
11496
3935dde2
MG
114972012-03-03 Matthew Garrett <mjg@redhat.com>
114982012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 Use EDID on EFI.
11501
11502 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
11503 datasize_out.
11504 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
11505 modes. Set gop_handle.
11506 (grub_video_gop_get_edid): New function.
11507 (grub_gop_get_preferred_mode): Likewise.
11508 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
11509 (grub_video_efi_gop_adapter): Set .get_edid.
11510 * include/grub/efi/edid.h: New file.
11511 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
11512
32107ec0
VS
115132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11514
11515 * util/grub-install.in: Load efivars unconditionally.
11516
e70a2c50
VS
115172012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11518
11519 * po/Rules-piglatin: Change suffix from .po-update-en to
11520 .po-update-en-piglatin.
11521
8f9cace1
VS
115222012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11523
11524 Add a pig farm.
11525
11526 * po/piglatin.sed: New file.
11527 * po/en@piglatin.header: Likewise.
11528 * po/Rules-piglatin: Likewise.
11529 * po/README: Add en@piglatin to autogenerated languages.
11530
8f95d002
VS
115312012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
11534 "Command for ...".
11535 * grub-core/commands/hdparm.c (options): Use "Display" rather than
11536 "Check" since we don't check anything.
11537 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
11538 is 64-bit one.
11539 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
11540 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
11541 (grub_md_sha512_real): Likewise.
11542
805a8dcc
VS
115432012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11544
11545 * grub-core/commands/gptsync.c: Fix typographic quoting.
11546 * grub-core/commands/ieee1275/suspend.c: Likewise.
11547 * grub-core/commands/parttool.c: Likewise.
11548 * grub-core/commands/search_wrap.c: Likewise.
11549 * grub-core/commands/videoinfo.c: Likewise.
11550 * grub-core/gfxmenu/gui_label.c: Likewise.
11551 * grub-core/hello/hello.c: Likewise.
11552 * grub-core/kern/emu/main.c: Likewise.
11553 * grub-core/net/net.c: Likewise.
11554 * grub-core/normal/menu.c: Likewise.
11555 * grub-core/normal/menu_text.c: Likewise.
11556 * grub-core/normal/misc.c: Likewise.
11557 * util/grub-editenv.c: Likewise.
11558 * util/grub-install.in: Likewise.
11559 * util/grub-kbdcomp.in: Likewise.
11560 * util/grub-mkconfig.in: Likewise.
11561 * util/grub-mknetdir.in: Likewise.
11562 * util/grub-mkrescue.in: Likewise.
11563 * util/grub-mkstandalone.in: Likewise.
11564 * util/grub-reboot.in: Likewise.
11565 * util/grub-set-default.in: Likewise.
11566 * util/grub-setup.c: Likewise.
11567 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11568
40211ab8
VS
115692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
11572 * grub-core/commands/keystatus.c: Likewise.
11573 * grub-core/commands/loadenv.c: Likewise.
11574 * grub-core/commands/probe.c: Likewise.
11575 * grub-core/commands/regexp.c: Likewise.
11576 * grub-core/commands/true.c: Likewise.
11577 * grub-core/commands/videoinfo.c: Likewise.
11578 * grub-core/disk/cryptodisk.c: Likewise.
11579 * grub-core/disk/ldm.c: Likewise.
11580 * grub-core/disk/loopback.c: Likewise.
11581 * grub-core/disk/luks.c: Likewise.
11582 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11583 * grub-core/kern/disk.c: Likewise.
11584 * grub-core/kern/emu/hostdisk.c: Likewise.
11585
0c7d99c7
VS
115862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11587
11588 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
11589 * util/grub-install.in: Add missing quote in the comment.
11590
e7d2559b
VS
115912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
11594 * grub-core/commands/lsmmap.c: Likewise.
11595 * grub-core/commands/minicmd.c: Likewise.
11596 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11597 * grub-core/commands/regexp.c: Likewise.
11598 * grub-core/gdb/gdb.c: Likewise.
11599 * grub-core/term/gfxterm.c: Likewise.
11600 * util/grub-mkconfig.in: Likewise.
11601 * util/grub-mkfont.c: Likewise.
11602 * util/grub-mklayout.c: Likewise.
11603 * util/grub-mknetdir.in: Likewise.
11604 * util/grub-mkrescue.in: Likewise.
11605 * util/grub.d/30_os-prober.in: Likewise.
11606
49ce9e50
VS
116072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
11610 with "Direct color" and "Packed" with "Packed pixel".
11611 (grub_cmd_videoinfo): Simplify legend.
11612
e4b791fa
VS
116132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11616 absolutely unclear error message.
11617
fd1265cb
VS
116182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 * util/grub-mkstandalone.in: Remove confusing leftover print.
11621
8822a8a0
VS
116222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11623
11624 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
11625 comments.
11626 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
11627 (GRUB_MOD_INIT): Likewise.
11628 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
11629 VGA mode.
11630 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
11631 comments.
11632 * util/grub-install.in (usage): Likewise.
11633 Spell ID in whole letters.
11634 Add missing ending dot.
11635 Quote variables.
11636 * util/grub-reboot.in: Fix capitalisation.
11637 * util/grub-set-default.in: Likewise.
11638
937fd0cc
VS
116392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
11642 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
11643 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
11644 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
11645 Disable -Werror for -Wdeprecated-declarations.
11646 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
11647 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
11648 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
11649 (grub_util_get_grub_dev): Make luks handling dependent on
11650 HAVE_DEVICE_MAPPER and not __linux__.
11651 (get_win32_path): Fix format security.
11652 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
11653 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
11654 Don't try grub_find_zpool_from_dir.
11655 (grub_make_system_path_relative_to_its_root) [!__linux__]:
11656 #ifdef-out paresdir.
11657
1bab1ae3
VS
116582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11659
11660 * util/grub-pe2elf.c (usage): Add missing noreturn.
11661 (write_section_data): Rename name to shname to avoid shadowing.
11662 (write_symbol_table): Rename name to symname to avoid shadowing.
11663 Fix write_reloc_section call.
11664
ef023e42
VS
116652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
11668 to ensure that it's after the last byte of .text.
11669
48afcb75
VS
116702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 * util/ieee1275/ofpath.c (my_isdigit): New function.
11673 (trailing_digits): Use my_isdigit.
11674 (strip_trailing_digits): Likewise.
11675
88d51eff
VS
116762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
11679 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
11680
17edc2ba
VS
116812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11682
11683 * grub-core/kern/i386/pc/startup.S: Define __start.
11684
ad5518d7
VS
116852012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
11688 strip already transforms he format.
11689
9e95e1bf
VS
116902012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
11693
9cc3ee5c
VS
116942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11695
11696 * util/grub-install.in: Add missing gettext init.
11697 * util/grub-kbdcomp.in: Likewise.
11698 * util/grub-mkconfig.in: Likewise.
11699 * util/grub-mknetdir.in: Likewise.
11700 * util/grub-mkrescue.in: Likewise.
11701 * util/grub-mkstandalone.in: Likewise.
11702 * util/grub-reboot.in: Likewise.
11703 * util/grub-set-default.in: Likewise.
11704 * util/grub.d/00_header.in: Likewise.
11705 * util/grub.d/10_hurd.in: Likewise.
11706 * util/grub.d/10_windows.in: Likewise.
11707 * util/grub.d/30_os-prober.in: Likewise.
11708 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11709
49e08a06
VS
117102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * po/Rules-swiss: Fix header comment.
11713
3809cb41
AV
117142012-02-29 Andreas Vogel <anvoit>
11715
11716 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
11717 resulted in leak of arguments.
11718
fa6ec573
VS
117192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * grub-core/boot/i386/pc/startup_raw.S: Use separate
11722 reed_solomon_size const definition instead of computing it since
11723 Apple assembler doesn't support the later.
11724
22899b9c
VS
117252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 * gentpl.py (kernel): Rewrite Apple part.
11728
a132afc3
VS
117292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 * include/grub/kernel.h (FOR_MODULES): Check module magic.
11732
9d742bd4
VS
117332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11734
11735 * util/grub-mkimagexx.c (locate_sections): Support non-standard
11736 ELF section gap.
11737 (load_image): Likewise.
11738
f04a9a21
VS
117392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 * configure.ac: Fix a typo in previous commit.
11742
46cf439c
VS
117432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11744
11745 Don't add -Wl,-N on Apple platform.
11746
11747 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
11748 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
11749
c4c48c54
VS
117502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11751
11752 * grub-core/Makefile.core.def (lzma_decompress): Use
11753 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
11754
31a12124
VS
117552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 * grub-core/genmod.sh.in: Rewrite the Apple part.
11758
4f3aa1af
VS
117592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
11762 comparison.
11763
7bd8b0c7
VS
117642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * acinclude.m4 (grub_CHECK_PIC): New test.
11767 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
11768
97304d7c
VS
117692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11770
11771 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
11772 to avoid the warning.
11773
fb883812
VS
117742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11775
11776 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
11777 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
11778 after. All users updated.
11779
a121c964
VS
117802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 Use the common size routine in hostfs so we can read disks as well.
11783
11784 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
11785 (grub_util_get_fd_size): ... this. Return size in bytes.
11786 All users updated.
11787 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
11788 grub_util_get_fd_size.
11789
c66d6410
VS
117902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
11793 Add blocksize retrieval.
11794
dfc8aeb0
VS
117952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * configure.ac: Restore CFLAGS after efiemu check.
11798
403e25a5
VS
117992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11800
11801 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
11802 Apple bug.
11803
382775d1
VS
118042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
11807
6fd4e6e4
VS
118082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
11811 (grub_cmd_halt): Likewise.
11812
bea359d6
VS
118132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
11816 for local arithmetics.
11817 Break %sp init into 2 instructions.
11818 Add 0 byte at the end.
11819
32eb6ee1
VS
118202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * grub-core/disk/diskfilter.c (read_segment): Initialise err
11823 before loops.
11824
e8377389
VS
118252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
11828 for context.
11829
8cb17de7
VS
118302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 * grub-core/disk/ldm.c (make_vg): Init part.name.
11833 (grub_ldm_detect): Silence spurious warning.
11834 (grub_util_is_ldm): Likewise.
11835
595717e6
VS
118362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
11839 sane value to avoid a spurious warning.
11840
c4b7e588
VS
118412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
11844 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
11845
59824957
VS
118462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
11849 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
11850
70115b99
VS
118512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
11854 hardcoding the relevant info.
11855
56733740
VS
118562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11857
11858 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
11859 missing const qualifiers.
11860 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
11861
43481481
VS
118622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 * util/getroot.c [__APPLE__]: Add missing includes.
11865 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
11866
3cb38f01
VS
118672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 * util/grub-mkimage.c (generate_image): Silence spurious warning.
11870
d9dbf11e
VS
118712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
11874 avoid conflicts.
11875
0c42a45d
VS
118762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
11879
46c34eb0
VS
118802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
11883 and grub_file_close call.
11884
99ce1597
VS
118852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 Add LZSS Mach-O support (needed for new xnu kernelcache).
11888
11889 * grub-core/Makefile.core.def (xnu): Add file lzss.c
11890 * grub-core/loader/lzss.c: New file.
11891 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
11892 on Mach-O open failure.
11893 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
11894 Don't free cmdsXX in uncompressedXX is set.
11895 (grub_macho_file): Init new fields.
11896 New argument is_64bit. All users updated.
11897 Handle compressed. Error out if no suitable architecture is found.
11898 Don't close file.
11899 (grub_macho_open): New argument is_64bit. All users updated.
11900 * grub-core/loader/macho32.c: Add defines for new fields.
11901 * grub-core/loader/macho64.c: Likewise.
11902 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
11903 (grub_macho_parse): Handle compressed.
11904 Defer actual processing if compressed.
11905 (grub_macho_cmds_iterate): Decompress if compressed. New argument
11906 "filename". All users updated.
11907 (grub_macho_size): New argument "filename". All users updated.
11908 (grub_macho_get_entry_point): Likewise.
11909 (grub_macho_load): Handle compressed.
11910 * include/grub/macho.h (grub_macho_lzss_header): New struct.
11911 (GRUB_MACHO_LZSS_OFFSET): New define.
11912 (grub_decompress_lzss): New proto.
11913 * include/grub/machoload.h (grub_macho_file): New fields to handle
11914 compressed.
11915 (grub_macho_contains_macho64): Remove proto.
11916 (grub_macho_contains_macho32): Likewise.
11917 * util/grub.d/30_os-prober.in: Use kernel cache if available.
11918
ebd17d6f
VS
119192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
11922
2702b4e4
VS
119232012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11924
11925 Fix make dist.
11926
11927 * Makefile.am (starfield_theme_files): New var.
11928 (starfield_DATA): Use starfield_theme_files.
11929 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
11930 Add bootcheck-related files.
11931 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
11932 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
11933 and font_char_metrics.txt.
11934 * grub-core/Makefile.core.def (kernel): Update extra_dist.
11935 (setjmp): Add lib/ia64/longjmp.S.
11936 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
11937 * po/POTFILES.in: Regenerate.
11938 * po/Rules-swiss: use DISTFILES.common.extra2 and not
11939 DISTFILES.common.extra1.
11940 * util/devicemap.c: Removed.
11941 * grub-core/lib/i386/relocator_backward.S: Likewise.
11942 * util/import_gcry.py: Remove unused files. Add extra_dist for
11943 ChangeLog.
11944
cf1adfdf
VS
119452012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 * grub-core/gettext/gettext.c (grub_mofile_open): Call
11948 grub_gettext_delete_list before changing grub_gettext_max to avoid
11949 running out of array bounds.
11950
119512012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
11952
11953 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
11954 grub_vga_text_init/grub_vga_text_fini.
11955
cf1adfdf 119562012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
11957
11958 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
11959
541d92e9
VS
119602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 * configure.ac: Bump to 2.00~beta0.
11963
7931dddf
VS
119642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11965
11966 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
11967 missing initialisation.
11968
f1b16fa3
VS
119692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
11972
83ddae23
VS
119732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 Support v2 xnu boot arguments.
11976
11977 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
11978 New argument fsbfreq_out.
11979 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
11980 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
11981 be used.
11982 * grub-core/loader/machoXX.c (grub_macho_load): New argument
11983 darwin_version.
11984 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
11985 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
11986 (grub_xnu_boot_params): Rename to ...
11987 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
11988 (grub_xnu_boot_params_v2): New struct.
11989
dc693fe6
VS
119902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
11993 zeroing of CRC field before computing CRC.
11994
5a6e39c2
VS
119952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
11998 Change order of allocations to decrease fragmentation.
11999
6c21f5d7
VS
120002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
12003
cfe456dc
CW
120042012-02-27 Colin Watson <cjwatson@ubuntu.com>
12005
12006 Use write-combining MTRR to speed up video with buggy BIOSes.
12007
12008 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
12009 (cpuid): New define.
12010 (rdmsr): Likewise.
12011 (wrmsr): Likewise.
12012 (mtrr_base): Likewise.
12013 (mtrr_mask): Likewise.
12014 (grub_vbe_enable_mtrr_entry): New function.
12015 (grub_vbe_enable_mtrr): Likewise.
12016 (grub_vbe_disable_mtrr): Likewise.
12017 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
12018 control off to BIOS.
12019 (grub_video_vbe_init): Fill mtrr.
12020 (grub_video_vbe_fini): Disable mtrr.
12021 (grub_video_vbe_get_info_and_fini): Likewise.
12022 (grub_video_vbe_setup): Enable mtrr.
12023
e3c78337
CW
120242012-02-27 Colin Watson <cjwatson@ubuntu.com>
12025
12026 * include/grub/partition.h (grub_partition_map): Change prototype of
12027 embed to take a maximum value for nsectors.
12028 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
12029 * include/grub/fs.h (grub_fs): Likewise.
12030 * grub-core/partmap/msdos.c (embed_signatures): New array.
12031 (pc_partition_map_embed): Check for and avoid sectors matching any
12032 of the signatures in embed_signatures, up to max_nsectors.
12033 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
12034 returned sector map to max_nsectors.
12035 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
12036 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
12037 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
12038 * util/grub-setup.c (setup): Allow for the embedding area being
12039 split into multiple blocklists. Tell dest_partmap->embed the
12040 maximum number of sectors we care about.
12041
120422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
12045 Specify blocklist_install and reserver_first_sector for all fs.
12046 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
12047 blocklists.
12048
984b973f
VS
120492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * util/grub-install.in: Clarify strings.
12052 Fix source dir check.
12053
f122e0d6
RL
120542012-02-27 Richard Laager <rlaager@wiktel.com>
12055
12056 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
12057 "zfs" and "fuse.zfs" as synonyms.
12058
071114bb
VS
120592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 * configure.ac: Put platform and target_cpu substitutions back since
12062 they are used for directories.
12063
817e6abc
RL
120642012-02-27 Richard Laager <rlaager@wiktel.com>
120652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 * util/grub.d/10_linux.in: Add ZFS-related arguments.
12068 * util/grub.d/20_linux_xen.in: Likewise.
12069
897b7419
RL
120702012-02-27 Richard Laager <rlaager@wiktel.com>
12071
12072 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
12073 with full paths.
12074
a414bd15
RL
120752012-02-27 Richard Laager <rlaager@wiktel.com>
12076
12077 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
12078 unescape.
12079
30ac48c4
VS
120802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 Don't use insecure popen in getroot.
12083
12084 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
12085 (exec_pipe): ... here.
12086 (find_root_devices_from_poolname): Use exec_pipe.
12087
53f13848
VS
120882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12089
12090 Remove platform and target_cpu replacement.
12091
12092 * configure.ac: Remove platform and target_cpu substitutions.
12093 * tests/util/grub-shell.in: Use modinfo.
12094 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
12095 explicitly.
12096
90cb2803
VS
120972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 Autodetect platform in grub-install but allow override.
12100
12101 * util/grub-install.in: Autodetect platform. Support --target and
12102 --directory. Read platform from modinfo.sh.
12103
b9136427
VS
121042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12105
12106 Support btrfs multi-volume probe.
12107
12108 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
12109 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
12110 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
12111 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
12112 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
12113 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
12114 grub_find_root_devices_from_btrfs if on btrfs.
12115
c36e5cd1
VS
121162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 Remove any awareness of *.c util files about target.
12119
12120 * Makefile.util.def (grub-setup): Split to ...
12121 (grub-bios-setup): ... and this.
12122 (grub-sparc64-setup): ... and this.
12123 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
12124 * docs/man/grub-setup.h2m: Split into ...
12125 * docs/man/grub-sparc64-setup.h2m: ... this.
12126 * docs/man/grub-bios-setup.h2m: ... and this.
12127 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
12128 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
12129 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
12130 (grub_target_addr_t): Remove.
12131 (grub_target_size_t): Remove.
12132 (grub_target_ssize_t): Remove.
12133 * util/grub-install.in: Use new grub-*-setup.
12134 * util/grub-mkimagexx.c (Elf_Word): New define.
12135 (Elf_Half): Likewise.
12136 (Elf_Section): Likewise.
12137 (ELF_ST_TYPE): Likewise.
12138 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
12139 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
12140
584b2f8a
VS
121412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 Replace grub_target_addr with more appropriate types.
12144
12145 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
12146 grub_target_addr with grub_addr.
12147 * grub-core/commands/iorw.c (grub_cmd_read): Replace
12148 grub_target_addr with grub_port.
12149 (grub_cmd_write): Likewise.
12150 * grub-core/commands/memrw.c (grub_cmd_read): Replace
12151 grub_target_addr with grub_addr.
12152 (grub_cmd_write): Likewise.
12153 * grub-core/video/efi_uga.c (find_line_len): Likewise.
12154
5a0dc6fb
VS
121552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12156
12157 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
12158 const qualifier for vendor_guid.
12159
786aff6e
VS
121602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
12163 const qualifier.
12164 (efiemu_memequal): Likewise.
12165 (find_variable): Likewise.
12166
49017b17
VS
121672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 Fix missing console prototype on qemu-mips.
12170
12171 * include/grub/mips/qemu_mips/console.h: New file.
12172
c5988629
MG
121732012-02-27 Matthew Garrett <mjg@redhat.com>
121742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
12177 * include/grub/efi/efi.h: Likewise.
12178 * include/grub/efi/api.h: Add guid for EFI-specified variables.
12179 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
12180 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
12181 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
12182 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
12183 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
12184
e33f8d69
MG
121852012-02-27 Matthew Garrett <mjg@redhat.com>
12186
12187 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
12188
fb312cd9
VS
121892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12190
12191 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
12192 error.
12193
7134247c
VS
121942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * configure.ac: Remove inappropriate use of program_transform_name
12197 on grubdir and bootdir but allow explicit specification of those
12198 variables.
12199
6a313124
VS
122002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 * util/grub-mknetdir.in (grub_prefix): Removed.
12203 (subdir): Use @bootdirname@ and @grubdirname@.
12204
2311c5ca
VS
122052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
12208
7d5d60f7
VS
122092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * po/POTFILES.in: Regenerated.
12212
8151bc82
VS
122132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 Remove improper use of program_transform_name on pkglibrootdir.
12216
12217 * configure.ac (pkglibrootdir): Removed.
12218 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
12219 * util/grub-mkimage.c: Likewise.
12220
b4a6a533
VS
122212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
12224 warning.
12225
668f304f
VS
122262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 * util/grub-install.in: Use file identifier if no UUID is available
12229 or user explicitly prompted for it.
12230
665f2341
NP
122312012-02-27 Navdeep Parhar <nparhar@gmail.com>
12232
12233 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
12234 (freebsd_get_zfs): New function.
12235 (grub_freebsd_boot): Pass zfs UUID.
12236 (grub_cmd_freebsd): Set zfs UUID.
12237
8151bc82 122382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
12239
12240 * conf/Makefile.common (platformdir): Base on pkglibdir and not
12241 pkglibrootdir.
12242
e4c498a1
MG
122432012-02-27 Mike Gilbert <floppym@gentoo.org>
12244
12245 Add configure flag to control libzfs integration.
12246
12247 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
12248
1e9a9a3f
VS
122492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
12252 device.
12253 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
12254 small devices.
12255
036985b8
VS
122562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12257
12258 Remove grub_{modname}_init and grub_{modname}_fini. They should never
12259 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
12260 be used on non-modules.
12261
12262 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
12263 Rename to grub_boot_init.
12264 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
12265 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
12266 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
12267 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
12268 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
12269 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
12270 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
12271 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
12272 includes.
12273 (grub_machine_init): Remove empty inits.
12274 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
12275 includes.
12276 (grub_machine_init): Remove empty inits.
12277 * grub-core/term/arc/console.c: Remove explicit proto.
12278 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
12279 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
12280 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12281 grub_at_keyboard_fini.
12282 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
12283 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
12284 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12285 grub_gfxterm_fini.
12286 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
12287 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
12288 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12289 grub_vgatext_fini.
12290 * grub-core/term/ieee1275/console.c: Remove explicit proto.
12291 * grub-core/term/serial.c (GRUB_MOD_INIT)
12292 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
12293 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12294 grub_serial_fini.
12295 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
12296 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
12297 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12298 grub_terminfo_fini.
12299 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
12300 (GRUB_MOD_FINI): Likewise.
12301 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
12302 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
12303 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12304 grub_video_radeon_fuloong2e_fini.
12305 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
12306 [LOONGSON]: Rename to grub_video_sis315pro_init.
12307 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12308 grub_video_sis315pro_fini.
12309 * grub-core/video/sm712.c (GRUB_MOD_INIT)
12310 [LOONGSON]: Rename to grub_video_sm712_init.
12311 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12312 grub_video_sm712_fini.
12313 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
12314 (grub_at_keyboard_fini): Likewise.
12315 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
12316 Don't declare grub_{modname}_init.
12317 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
12318 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
12319 New proto.
12320 (grub_keylayouts_fini) [!EMU]: Likewise.
12321 * include/grub/serial.h (grub_serial_init) [!EMU]:
12322 New proto.
12323 (grub_serial_fini) [!EMU]: Likewise.
12324 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
12325 New proto.
12326 (grub_terminfo_fini) [!EMU]: Likewise.
12327 * include/grub/video.h (grub_font_init) [!EMU]:
12328 New proto.
12329 (grub_font_fini) [!EMU]: Likewise.
12330 (grub_gfxterm_init) [!EMU]: Likewise.
12331 (grub_gfxterm_fini) [!EMU]: Likewise.
12332 (grub_video_sm712_init) [!EMU]: Likewise.
12333 (grub_video_sm712_fini) [!EMU]: Likewise.
12334 (grub_video_sis315pro_init) [!EMU]: Likewise.
12335 (grub_video_sis315pro_fini) [!EMU]: Likewise.
12336 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
12337 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
12338
d5534665
VS
123392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12340
12341 Make nand a prefix for nand devices.
12342
12343 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
12344
10133b5f
VS
123452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
12348 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
12349
8e307a62
VS
123502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 * include/grub/env.h (grub_env_find): Remove prototype.
12353 * grub-core/kern/env.c (grub_env_find): Make static.
12354 (grub_env_set): Remove useless set.
12355
a4c65f34
VS
123562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12357
12358 * grub-core/kern/i386/realmode.S: Remove useless align.
12359
d87893d5
VS
123602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12361
12362 * include/grub/dl.h (grub_dl_load_file): Don't export.
12363
50159add
VS
123642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
12367 grub_dprintf.
12368
b2582b84
VS
123692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
12372 grub_errors.
12373 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
12374 not reloading whole superblock but only the part which is really needed.
12375 Remove useless grub_errors.
12376 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
12377 grub_errors.
12378
e2a83395
VS
123792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12380
12381 Don't export grub_get_rtc.
12382
12383 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
12384 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
12385
e7d2a906
VS
123862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
12389
6cf1363b
VS
123902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 12393 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 12394
eece3349
VS
123952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 Remove prio_list.
12398
12399 * include/grub/list.h (grub_prio_list): Removed.
12400 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
12401 GRUB_COMMAND_PRIO_MASK.
12402 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
12403 GRUB_COMMAND_FLAG_ACTIVE.
12404 (grub_prio_list_insert): Removed.
12405 (grub_prio_list_remove): Likewise.
12406 (GRUB_AS_PRIO_LIST): Likewise.
12407 (GRUB_AS_PRIO_LIST_P): Likewise.
12408 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
12409 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
12410 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
12411 * grub-core/kern/command.c (grub_register_command_prio): Inline
12412 the prio_list code.
12413 (grub_unregister_command): Likewise.
12414
94f064b4
VS
124152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 Fix interrupt mixup from previous commit.
12418
12419 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
12420 (grub_realidt): New var.
12421 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
12422 Load idt.
12423 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
12424 New declaration.
12425 (grub_relocator16_boot): Set grub_relocator16_idt.
12426 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
12427 (LOCAL(realidt)): ... this.
12428 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
12429 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
12430 (grub_realidt): New variable.
12431
27317084
VS
124322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12433
12434 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
12435 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
12436 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
12437 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
12438 Gettextize.
12439 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
12440 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
12441 * po/POTFILES.in: Regenerate.
12442
47b40053
VS
124432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
12446 errors.
12447
2b343101
VS
124482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12449
12450 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
12451 \0.
12452 (add_length): Likewise.
12453
ff27c3dd
LK
124542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
124552012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
12456
12457 GDB serial and backtrace support.
12458
12459 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
12460 (prot_to_real): Likewise.
12461 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
12462 * grub-core/Makefile.core.def (backtrace): New module.
12463 (gdb): Likewise.
12464 * grub-core/gdb/cstub.c: New file.
12465 * grub-core/gdb/gdb.c: Likewise.
12466 * grub-core/gdb/i386/idt.c: Likewise.
12467 * grub-core/gdb/i386/machdep.S: Likewise.
12468 * grub-core/gdb/i386/signal.c: Likewise.
12469 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 12470 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
12471 * include/grub/backtrace.h: Likewise.
12472 * include/grub/gdb.h: Likewise.
12473 * include/grub/i386/gdb.h: Likewise.
12474
124752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
12476
12477 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
12478 New function.
12479 (add_length): Likewise.
12480 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
12481 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
12482 proto.
12483 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
12484 __argp_get_display_len.
12485
ff27c3dd 124862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
12487
12488 $"..." support in scripts.
12489
12490 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
12491 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
12492 * grub-core/script/yylex.l: Likewise.
12493 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
12494 value.
12495
ff27c3dd 124962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
12497
12498 * gentpl.py: Remove obsolete pkglib_DATA handling.
12499
ff27c3dd 125002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
12501
12502 Don't transform PACKAGE_TARNAME following a discussion on autoconf
12503 mailing list.
12504
12505 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
12506 * util/grub-kbdcomp.in: Likewise.
12507 * util/grub-mkconfig.in: Likewise.
12508 * util/grub-mkconfig_lib.in: Likewise.
12509 * util/grub-mknetdir.in: Likewise.
12510 * util/grub-mkrescue.in: Likewise.
12511 * util/grub-mkstandalone.in: Likewise.
12512 * util/grub-reboot.in: Likewise.
12513 * util/grub-set-default.in: Likewise.
12514 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12515
ff27c3dd 125162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
12517
12518 Remove GRUB_PREFIX.
12519
12520 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
12521 * util/grub.d/00_header.in: Compute prefix in the only place it's still
12522 used for backward compatibility.
12523
ff27c3dd 125242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
12525
12526 Add new all_video module.
12527
12528 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
12529 * grub-core/Makefile.core.def (all_video): New module.
12530 * grub-core/genmoddep.awk: Generate dependency of all_video from
12531 video.lst.
12532 * grub-core/lib/fake_module.c: New file.
12533 * grub-core/normal/main.c (features): Add feature_all_video_module.
12534 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
12535 don't do explicit search again.
47454da5 12536 insmod all_video in load_video if available.
22c7ce85 12537
ff27c3dd 125382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
12539
12540 Another round of string clarification and adding TRANSLATORS comments.
12541
ff27c3dd 125422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
12543
12544 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
12545
ff27c3dd 125462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
12547
12548 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
12549 to grub_ssize_t.
12550 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
12551 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
12552
ff27c3dd 125532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
12554
12555 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
12556 trailing newline implicitly. All users updated.
12557
ff27c3dd 125582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
12559
12560 Implement serial on IEEE1275 and EFI.
12561
12562 * docs/grub.texi (Platform-specific limitations): Fix the columen video
12563 on emu. Mention arc and emu as the only platforms without serial
12564 support.
12565 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
12566 ieee1275 platforms.
12567 * grub-core/term/efi/serial.c: New file.
12568 * grub-core/term/ieee1275/serial.c: Likewise.
12569 * grub-core/term/serial.c (grub_serial_find): Disable direct port
12570 specification if no ns8250 driver is available.
12571 (grub_cmd_serial): Likewise.
12572 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
12573 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
12574 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
12575 (grub_efi_parity_type_t): New type.
12576 (grub_efi_stop_bits_t): Likewise.
12577 (grub_efi_serial_io_interface): New struct.
12578 * include/grub/serial.h (grub_serial_port): Make 'broken' field
12579 available for all interfaces.
12580 Add EFI and IEEE1275 fields.
12581 (grub_ofserial_init): New proto.
12582 (grub_efiserial_init): Likeiwse.
12583 * util/grub.d/00_header.in: Don't check for the presence of serial
12584 module.
12585
ff27c3dd 125862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
12587
12588 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
12589 name as if it was an alias.
12590
114076ef
VS
125912012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12592
12593 * grub-core/commands/lsacpi.c (options): Fix typo.
12594
6a656b0e
VS
125952012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12596
12597 Convert grub-emu to argp.
12598
12599 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
12600 emu.
12601 * util/argp_common.c: Rename to ...
12602 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
12603 Add missing includes.
12604 * grub-core/kern/emu/main.c: Convert to argp.
12605 * po/POTFILES.in: Regenerate.
12606 * util/grub-install.in (usage): Make first letter lowcase in messages
12607 for uniformity.
12608 * util/grub-setup.c (options): Likewise.
12609
1e3f8ae8
VS
126102012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12611
12612 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
12613 Put back accidently commented-out code.
12614
ed167a80
VS
126152012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
12618 loop check using Brent algorithm.
12619 (grub_hfsplus_btree_search): Likewise.
12620
6753c0ec
VS
126212012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 * util/grub-install.in: Fix usage of wrong device for PreP install.
12624
4e27343f
VS
126252012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12626
12627 * conf/Makefile.common (CFLAGS_GNULIB): Add
12628 -Wno-unsafe-loop-optimizations.
12629 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
12630 on tools.
12631 * grub-core/commands/legacycfg.c: Add pragma to skip
12632 -Wunsafe-loop-optimizations.
12633 (check_password_md5_real): Fix loop counter type.
12634 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
12635 reading.
12636 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
12637 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
12638 loop condition.
12639 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
12640 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
12641 * grub-core/net/net.c (grub_net_route_address): Add safety loop
12642 condition.
12643 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
12644 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
12645 avoid possible infinite loops.
12646 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
12647 and -Wunsafe-loop-optimizations.
12648 * grub-core/script/yylex.l: Likewise.
12649 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
12650 (print_glyphs): Avoid infinite loops.
12651 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
12652
697f18b0
GS
126532012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
12654
12655 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
12656 to avoid infinite loop.
12657 (disp_acpi_rsdt_table): Likewise.
12658
274416e8
VS
126592012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 * grub-core/font/font.c (grub_font_load): Add support for default
12662 path for fonts ($prefix/fonts).
12663 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
12664 for checking if string is a path.
12665 * grub-core/normal/main.c (features): Add feature_default_font_path.
12666 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
12667 * util/grub.d/00_header.in: Use default directory if possible.
12668 * util/grub-install.in: Install unicode.pf2.
12669
b3e08622
VS
126702012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
12673 * po/Rules-swiss: New file.
12674 * po/swiss.sed: Likewise.
12675
fe42ce09
VS
126762012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 * grub-core/fs/btrfs.c (find_device): Fix typos.
12679 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
12680 * util/grub-mkrelpath.c (argp_parser): Likewise.
12681 Reported by: Yuri Chornoivan.
12682
72f1d065
DO
126832012-02-23 Dalet Omega <daletomega@gmail.com>
12684
12685 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
12686 for usual informative messages.
12687
c5884973
DO
126882012-02-23 Dalet Omega <daletomega@gmail.com>
12689
12690 Starfield theme.
12691
12692 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
12693 * conf/Makefile.common: Define starfielddir.
12694 * configure.ac: Configure starfield.
12695 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
12696 * themes/starfield/README: Likewise.
12697 * themes/starfield/blob_w.png: Likewise.
12698 * themes/starfield/boot_menu_c.png: Likewise.
12699 * themes/starfield/boot_menu_e.png: Likewise.
12700 * themes/starfield/boot_menu_n.png: Likewise.
12701 * themes/starfield/boot_menu_ne.png: Likewise.
12702 * themes/starfield/boot_menu_nw.png: Likewise.
12703 * themes/starfield/boot_menu_s.png: Likewise.
12704 * themes/starfield/boot_menu_se.png: Likewise.
12705 * themes/starfield/boot_menu_sw.png: Likewise.
12706 * themes/starfield/boot_menu_w.png: Likewise.
12707 * themes/starfield/slider_c.png: Likewise.
12708 * themes/starfield/slider_n.png: Likewise.
12709 * themes/starfield/slider_s.png: Likewise.
12710 * themes/starfield/src/blob_nw.xcf: Likewise.
12711 * themes/starfield/src/bootmenu/: Likewise.
12712 * themes/starfield/src/bootmenu/center.xcf: Likewise.
12713 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
12714 * themes/starfield/src/bootmenu/side.xcf: Likewise.
12715 * themes/starfield/src/slider_c.xcf: Likewise.
12716 * themes/starfield/src/slider_n.xcf: Likewise.
12717 * themes/starfield/src/slider_s.xcf: Likewise.
12718 * themes/starfield/src/terminalbox/: Likewise.
12719 * themes/starfield/src/terminalbox/center.xcf: Likewise.
12720 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
12721 * themes/starfield/src/terminalbox/side.xcf: Likewise.
12722 * themes/starfield/starfield.png: Likewise.
12723 * themes/starfield/terminal_box_c.png: Likewise.
12724 * themes/starfield/terminal_box_e.png: Likewise.
12725 * themes/starfield/terminal_box_n.png: Likewise.
12726 * themes/starfield/terminal_box_ne.png: Likewise.
12727 * themes/starfield/terminal_box_nw.png: Likewise.
12728 * themes/starfield/terminal_box_s.png: Likewise.
12729 * themes/starfield/terminal_box_se.png: Likewise.
12730 * themes/starfield/terminal_box_sw.png: Likewise.
12731 * themes/starfield/terminal_box_w.png: Likewise.
12732 * themes/starfield/theme.txt: Likewise.
12733
17d73325
VS
127342012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 * util/grub.d/00_header.in: Add missing export theme.
12737
dbebaf92
VS
127382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12739
12740 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
12741 already included.
12742 Reported by: Eren D.
12743
3d68bffb
VS
127442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12745
12746 * conf/Makefile.common (grubdatadir): Removed.
12747 (Makefile.am): Move eveything grubdata to pkgdata.
12748
4b59234d
VS
127492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 * grub-core/commands/acpihalt.c (get_sleep_type):
12752 Remove unused variable.
12753
463dcadc
VS
127542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
12757 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
12758 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
12759 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
12760 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
12761 i18n with gettext no-op.
12762 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
12763 GRUB_ACPI_OPCODE_STRING_CONST.
12764 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
12765 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
12766
e5b90c82
VS
127672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 * po/POTFILES.in: Regenerate.
12770
2a704ca9
VS
127712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
12774 -Wno-error=missing-noreturn.
12775
84f9d341
VS
127762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
12779 condition to avoid possibly infinite loops.
12780 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
12781 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
12782
d46683f9
VS
127832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
12786 condition to avoid possibly infinite loops.
12787
c44866b2
VS
127882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
12791 on show_error.
12792
96790539
VS
127932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12794
12795 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
12796
1ba7e295
VS
127972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12798
12799 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
12800
21ffe8f1
VS
128012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 * util/bin2h.c (usage): Add missing attribute noreturn.
12804
0ccb6b3c
VS
128052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
12808 if the size isn't divisible by 512.
12809
b00d7fb6
VS
128102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12811
12812 Make list_push and list_remove functions rather than inline functions
12813 to decrease size and avoid aliasing violations.
12814
12815 * include/grub/list.h (grub_list_push): Move to ...
12816 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
12817 * include/grub/list.h (grub_list_remove): Move to ...
12818 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
12819
9d369087
VS
128202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12821
12822 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
12823 and -Wunused-result.
12824
af0250d9
VS
128252012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
12828 Reported by: Seth Goldberg
12829
aad32b14
VS
128302012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
12833
ac96441c
ST
128342012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
12835
12836 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
12837 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
12838 command line.
12839 * docs/grub.texi (Simple configuration): Document
12840 GRUB_CMDLINE_GNUMACH.
12841
128422012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
12843
12844 * conf/Makefile.common (platform_SCRIPTS): New variable.
12845 (platform_PROGRAMS): Likewise.
12846 * gentpl.py: Mark *,module and *.image for install.
12847 * grub-core/gdb_grub.in: Add a notice of expected environment.
12848 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
12849 (gmodule.pl): Likewise.
12850
ac96441c 128512012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
12852
12853 Replace grub_checkkey with grub_getkey_noblock.
12854
12855 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
12856 (grub_getkey_noblock): ... this. All users updated.
12857
ac96441c 128582012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
12859
12860 * grub-core/kern/emu/console.c: Move to ...
12861 * grub-core/term/emu/console.c: ...here.
12862 (grub_ncurses_getkey): Fix return value if no key is detected.
12863
e51b5666
VS
128642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
12867 (grub_unit_test_fini): Likewise.
12868 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
12869
128702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12871
12872 * include/grub/test.h (GRUB_UNIT_TEST)
12873
d9a62292
VS
128742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 * grub-core/script/execute.c (grub_script_break): Clarify logic.
12877 Better error handling.
12878 (grub_script_return): Likewise.
12879 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12880
77c9182f
VS
128812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
12884 rimplicit redifinition.
12885
edb13cf9
VS
128862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
12889 GRUB.
12890
a9e9dc7c
VS
128912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
12894 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
12895 prompt here.
12896
b4ba8e02
VS
128972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12898
12899 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
12900 as GRUB_ERR_BUG. Don't malloc if no device is available.
12901
dded5540
VS
129022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12903
12904 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
12905 Mark calling with invalid term as GRUB_ERR_BUG.
12906
0cf69874
VS
129072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12908
12909 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
12910 packets rather than raising an error.
12911
59bfe502
VS
129122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
12915 in if.
12916
db5fc596
VS
129172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
12920 diagnostic to dprintf.
12921 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12922
e4b7f404
VS
129232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
12926 device name.
12927
e7b02f9e
VS
129282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12929
12930 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
12931 (grub_ntfs_iterate_dir): Likewise.
12932
0331e102
VS
129332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 Efiemu stylistic fixes and gettext.
12936
12937 * grub-core/efiemu/i386/loadcore32.c
12938 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
12939 * grub-core/efiemu/i386/loadcore64.c
12940 (grub_arch_efiemu_relocate_symbols64): Likewise.
12941 * grub-core/efiemu/i386/pc/cfgtables.c
12942 (grub_machine_efiemu_init_tables): Likewise.
12943 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
12944 (grub_efiemu_loadcore_initXX): Add a filename argument.
12945 All users updated.
12946 Improved error message.
12947 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
12948 Add a filename argument.
12949 All users updated.
12950 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
12951 Reclassify double relocation as GRUB_ERR_BUG.
12952
306fc074
VS
129532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
12956 handling.
12957
794d8ef2
VS
129582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12959
12960 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
12961 on partition.
12962
129632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
12964
12965 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
12966
794d8ef2 129672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
12968
12969 Improve string. Gettextize.
12970
78dde88e
VS
129712012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
12974 utils.
12975 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
12976
4786a90f
VS
129772012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12978
12979 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
12980 [GRUB_UTIL]: New function.
12981 (insert_array) [GRUB_UTIL]: Store partmaps.
12982 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
12983 partmaps.
12984 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
12985 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
12986 (probe_abstraction): Print diskfilter and not raid.
12987 Reported by: Lennart Sorensen
12988
0b6225bd
VS
129892012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12990
12991 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
12992 * util/grub-mkimagexx.c (MASK3): New define.
12993 (add_value_to_slot_20b): Use MASK3.
12994 (add_value_to_slot_21): Likewise.
12995 (relocate_addresses): Fix format specification.
12996 (load_image): Explicitly init symtab_section.
12997
b055f8f6
VS
129982012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12999
13000 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
13001 (grub_util_biosdisk_get_grub_dev): Fix format specification.
13002
b77c2fb7
VS
130032012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
13006 on powerpc.
13007 Reported by: Lennart Sorensen
13008
e3ec28ab
VS
130092012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 * gentpl.py: Add missing license header.
13012 * docs/grub.texi: Update copyright year.
13013
c8d9ead6
GS
130142012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13015
13016 Source grub-mkconfig_lib from the build directory at build time.
13017 Suggested by: Vladimir Serbinenko.
13018
13019 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
13020 * util/grub-install.in: Define pkgdatadir if not already set, and source
13021 grub-mkconfig_lib from there.
13022 * util/grub-kbdcomp.in: Likewise.
13023 * util/grub-mkconfig.in: Likewise.
13024 * util/grub-mknetdir.in: Likewise.
13025 * util/grub-mkrescue.in: Likewise.
13026 * util/grub-mkstandalone.in: Likewise.
13027 * util/grub-reboot.in: Likewise.
13028 * util/grub-set-default.in: Likewise.
13029 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13030
ebcecdf1
VS
130312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13032
13033 Increase warning level.
13034
13035 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
13036 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
13037 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
13038 (TARGET_CFLAGS): Likewise.
13039 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
13040 * grub-core/Makefile.core.def (decompressor_xz): Add
13041 -Wno-unreachable-code.
13042 (normal): Add -Wno-redundant-decls.
13043 (xzio): Add -Wno-unreachable-code.
13044 (lzopio): Add -Wno-redundant-decls -Wno-error.
13045 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
13046 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
13047 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
13048 * grub-core/kern/dl.c: Add exception to -Wcast-align.
13049 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
13050 * grub-core/kern/i386/coreboot/init.c: Add exception to
13051 -Wsuggest-attribute=noreturn.
13052 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
13053 * grub-core/kern/ia64/dl_helper.c: Likewise.
13054 * grub-core/kern/mips/dl.c: Likewise.
13055 * grub-core/kern/sparc64/dl.c: Likewise.
13056 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
13057 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
13058 (memcmp): Likewise.
13059 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
13060 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
13061 * grub-core/loader/mips/linux.c: Likewise.
13062 * grub-core/loader/multiboot_elfxx.c: Likewise.
13063 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
13064 * grub-core/video/sm712.c: Add exception to -Wcast-align.
13065 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
13066 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
13067 fixme.
13068 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13069 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
13070 Fix prototype.
13071
37bb97fe
VS
130722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
13075 address.
13076
29a3550b
VS
130772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13080 Avoid improper use of strings.
13081 (grub_cmd_legacy_initrdnounzip): Likewise.
13082
dfdffd0d
VS
130832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * include/grub/emu/misc.h (grub_util_warn): Add missing format
13086 attribute.
13087 (grub_util_info): Likewise.
13088 (grub_util_error): Likewise.
13089
102fae4a
VS
130902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
13093 * util/grub-fstest.c (fstest): Likewise.
13094
7e94d044
VS
130952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13096
13097 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
13098 (grub_md_sha512_real): Likewise.
13099 (grub_util_get_geli_uuid): Likewise.
13100 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
13101 (grub_util_biosdisk_open): Fix format specification.
13102 Respect format security.
13103 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
13104 (xrealloc): Likewise.
13105 (xasprintf): Likewise.
13106
5ebd9769
VS
131072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 * util/import_gcry.py: Include grub/crypto.h in init.c.
13110
495fc8c1
VS
131112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
13114 (generate_image): Make prefix a const char *.
13115 Fix format specifications. Respect format security.
13116 Avoid void * arithmetics.
13117 Avoid shadowing.
13118 (argp_parser): Remove unused variable. Respect format security.
13119 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
13120 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
13121 (count_funcs): Remove unused variable.
13122 (relocate_addresses): Fix format specification.
13123 Disable x86-64 with elf32. Remove unused variables.
13124 (add_fixup_entry): Avoid shadowing.
13125 (make_reloc_section): Fix format specification.
13126 Use assert.
13127 (locate_sections): Fix format specifications.
13128 (load_image): Avoid shadowing.
13129
043c2ea3
VS
131302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13131
13132 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
13133 Fix format specifications. Respect format security.
13134 Don't translate already translated grub_errmsg.
13135 (argp_parser): Remove unused variable
13136
3ec65a81
VS
131372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13138
13139 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
13140
a4d9fe4a
VS
131412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13142
13143 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
13144 (main): Likewise. Use xmalloc. Respect format security.
13145
15b81d49
VS
131462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
13149 a const char *.
13150 (argp_parser): Remove unused variable.
13151
31731fc0
VS
131522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13153
13154 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
13155 (add_pixel): Make static.
13156 (add_font): Likewise.
13157 (write_string_section): Make name and str a const char *.
13158 (write_be16_section): Make name a const char *.
13159 (print_glyphs): Make static.
13160 (write_font_ascii_bitmap): Likewise.
13161 (write_font_width_spec): Likewise.
13162 (write_font_pf2): Likewise.
13163 (argp_parser): Remove unused variable.
13164 Respect format security.
13165 (main): Avoid shadowing. Respect format security.
13166
0809527b
VS
131672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 * util/grub-editenv.c (argp_parser): Make static.
13170 (create_envblk_file): Use xmalloc.
13171 (open_envblk_file): Likewise.
13172 Resepect format security.
13173 (set_variables): Respect format security.
13174
45b0c8b7
VS
131752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 * util/getroot.c (grub_find_device): Respect format security.
13178 (get_mdadm_uuid): Remove unused variable.
13179 (grub_util_pull_device): Dont call gettext on already translated
13180 grub_errmsg.
13181 (find_system_device): Remove unused variable.
13182 (grub_util_get_grub_dev): Likewise.
13183 (grub_make_system_path_relative_to_its_root): Respect format security.
13184
1b024b4e
VS
131852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13186
13187 * util/grub-fstest.c (execute_command): Make first argument
13188 a const char *.
13189 (read_file): Avoid shadowing.
13190 Reuse underlying error message if device open fails.
13191 (cmd_cmp): Respect format security.
13192 (root): Make const char *.
13193 (fstest): Remove args argument and use global copy.
13194 Respect format security.
13195 (argp_parser): Make static.
13196 (main): Make default_root const char *.
13197
5d1d4e28
VS
131982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13199
13200 * util/grub-mount.c (root): Make const char *.
13201 (execute_command): Make first argument a const char *.
13202 (fuse_init): Respect format security.
13203 (argp_parser): Make static. Remove unused variable.
13204 (main): Make default_root a const char *.
13205 Respect format security.
13206
36eb7379
VS
132072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13208
13209 * util/grub-probe.c (probe): Don't call gettext on already translated
13210 grub_errmsg.
13211 Remove unused variables.
13212 (argp_parser): Remove unused variable.
13213
76fb2ea9
VS
132142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13215
13216 * util/grub-script-check.c (argp_parser): Remove unused variable.
13217 (main): Rename read to curread to avoid shadowing.
13218
56c98584
VS
132192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13220
13221 * util/misc.c (grub_util_write_image_at): Fix format specification.
13222 (grub_util_write_image): Likewise.
13223 (grub_script_execute_argument_to_string): Removed (unused).
13224 (grub_script_execute_menuentry): Likewise.
13225 (grub_putchar): Likewise.
13226
164ebb48
VS
132272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
13230 (FUNCTION) [GRUB_UTIL]: Likewise.
13231 (VARIABLE) [GRUB_UTIL]: Likewise.
13232
44318d61
VS
132332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13234
13235 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
13236 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
13237
31a26002
VS
132382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13239
13240 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
13241 buffer.
13242
132432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
13246 (LzmaEnc_SaveState): Removed (unused).
13247 (LzmaEnc_RestoreState): Likewise.
13248 (LzmaEnc_InitPriceTables): Made static.
13249 (LzmaEnc_Construct): Likewise.
13250 (LzmaEnc_FreeLits): Likewise.
13251 (LzmaEnc_Destruct): Likewise.
13252 (LzmaEnc_Init): Likewise.
13253 (LzmaEnc_InitPrices): Likewise.
13254 (LzmaEnc_Finish): Likewise.
13255 (LzmaEnc_PrepareForLzma2): Removed (unused).
13256 (LzmaEnc_MemPrepare): Likewise.
13257 (LzmaEnc_GetNumAvailableBytes): Likewise.
13258 (LzmaEnc_GetCurBuf): Likewise.
13259 (LzmaEnc_CodeOneMemBlock): Likewise.
13260
6fa67967
VS
132612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
13264 (grub_util_ldm_embed): Likewise.
13265
9a7428e6
VS
132662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 * util/grub-editenv.c (print_var): Rename name to varname to
13269 avoid shadowing.
13270 (main): Rename index to curindex to avoid shadowing.
31a26002 13271 Make filename a const char *.
9a7428e6 13272
4f96abd1
VS
132732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
13276 to arg_getline to avoid shadowing.
13277
44d10dad
VS
132782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
13281 disk_ to avoid shadowing.
13282
340ba63e
VS
132832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
13286 curindex to avoid shadowing.
13287 Make static.
13288 (MatchFinder_GetNumAvailableBytes): Make static.
13289
22965bce
VS
132902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13291
13292 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
13293 avoid shadowing.
13294
7b5784d4
VS
132952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
13298 argument from encrypt to do_encrypt to avoid shadowing.
13299
6f48ca01
VS
133002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13301
13302 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
13303 incorrect nesting of #if's.
13304
a4ea2dff
VS
133052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13306
13307 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
13308 checks which are always false on some platforms.
13309 (grub_cmd_lsacpi): Likewise.
13310 * grub-core/kern/misc.c (grub_strtoul): Likewise.
13311 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
13312 Likewise.
13313
def9fc1b
VS
133142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
13317 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
13318
a67b2a04
VS
133192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13320
13321 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
13322 re_dfa_t to avoid breaking alignment invariants.
13323 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
13324 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
13325
44c6828d
VS
133262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
13329 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
13330
bebe0dd0
VS
133312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
13334 Fix declaration.
13335
a9cdb3cf
VS
133362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
13339 conserve alignment invariants.
13340 (grub_ehci_ehcc_read16): Likewise.
13341 (grub_ehci_oper_read32): Likewise.
13342 (grub_ehci_oper_write32): Likewise.
13343 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13344 Conserve alignment invariants.
13345
ccc3b1b8
VS
133462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
13349 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
13350 declarations.
13351
987fbd95
VS
133522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13353
13354 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
13355 Remove unused variable.
13356
0df363f3
VS
133572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
13360 Remove set in if.
13361
b2c0c4a6
VS
133622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * include/grub/net.h: Remove double declarations.
13365
690c531f
VS
133662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 Remove "payload" command in ia64 Linux loader since I couldn't
13369 find any evidence of it being used for anything.
13370 Replace "relocate" command with an environment variable
13371
13372 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
13373 fields.
13374 (ia64_boot_payload): Removed.
13375 (last_payload): Likewise.
13376 (RELOCATE_OFF): Likewise.
13377 (RELOCATE_ON): Likewise.
13378 (RELOCATE_FORCE): Likewise.
13379 (relocate): Likewise.
13380 (free_pages): Don't free payloads.
13381 (grub_load_elf64): Use common error messages.
13382 Use "linux_relocate" variable.
13383 Increase the space after boot_params.
13384 (grub_cmd_payload): Removed.
13385 (grub_cmd_relocate): Likewise.
13386 (grub_cmd_fpswa): Improve messages.
13387 (cmd_payload): Removed.
13388 (cmd_relocate): Likewise.
13389 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
13390 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
13391
01783768
VS
133922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 Convert UHCI to DMA framework.
13395
13396 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
13397 (grub_uhci_pci_iter): Fill new members
13398 (grub_alloc_td): Use P2V and V2P functions.
13399 (grub_free_queue): Likewise.
13400 (grub_alloc_qh): Likewise.
13401 (grub_uhci_setup_transfer): Likewise.
13402 (grub_uhci_check_transfer): Likewise.
13403
43206939
VS
134042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
13407 Remove assignment in if while on it.
13408
571e140e
VS
134092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 * util/grub-mkstandalone.in: Fix modules directory.
13412
a9d96eeb
VS
134132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13414
13415 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
13416 on i386-pc target.
13417 (argp_parser): Accept "auto" as compression specification.
13418
e4e37e8d
VS
134192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 Fix `help' with unloaded modules.
13422
13423 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
13424 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
13425 (grub_dyncmd_dispatcher): Small stylistic fix.
13426 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
13427 explicit help is requested.
13428
e1ea3ade
VS
134292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13430
13431 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
13432 Explicitly init restart while on it.
13433
27556881
VS
134342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13435
13436 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
13437 uninited variable.
13438
d65f6b36
VS
134392012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 * util/grub-mknetdir.in: Use . rather than source for POSIX
13442 compatibility.
13443
0a1e473c
VS
134442012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13445
13446 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
13447
ce6647c8
VS
134482012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
13451 variable.
13452
66747894
VS
134532012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
13456 without quotes.
13457
71645f6e
VS
134582012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13459
13460 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
13461
0e1c1f61
VS
134622012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13463
13464 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
13465 iteration of partitions.
13466
9c4b5c13
VS
134672012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 Improve gettext support. Stylistic fixes and error handling fixes while
13470 on it.
13471
215c90cb
VS
134722012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13473
13474 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
13475 part. Instead setup the correct stack in RM.
13476 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
13477 for stack.
13478 * include/grub/i386/relocator_private.h: New file.
13479
b5c1f9bf
VS
134802012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
13483 argument.
13484 * util/grub-fstest.c (options): Add missing DEVICE part.
13485
b525fd83
VS
134862012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 Clarify and unify messages.
13489
13490 * grub-core/commands/hashsum.c (options): Unify messages.
13491 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13492 literal-only message as translatable.
13493 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
13494 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
13495 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
13496 commands.
13497 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
13498 key, not the key used to unlock. Clarify what it's used for.
13499 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
13500 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
13501 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
13502 * util/grub-editenv.c (options): Unify "verbose" message.
13503 * util/grub-fstest.c (read_file): Unify error message.
13504 (fstest): Add quotes around commands.
13505 (options): Unify "verbose" message.
13506 * util/grub-install.in: Add quotes around variable name.
13507 * util/grub-kbdcomp.in: Unify error message.
13508 * util/grub-mkfont.c (main): Likewise.
13509 * util/grub-mkrescue.in: Likewise.
13510 * util/grub-mklayout.c (options): Unify "verbose" message.
13511 * util/grub-mkstandalone.in: Unify help and verbose messages.
13512 * util/grub-mount.c (options): Unify "verbose" message.
13513 * util/grub-probe.c (options): Likewise.
13514 * util/grub-script-check.c (options): Likewise.
13515 * util/grub-setup.c (setup): Unify no-terminator message.
13516 (options): Use DEVICE and not DEV.
13517 Unify "verbose" message.
13518 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
13519
0ae70393
VS
135202012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13521
13522 Improve and unify messages.
13523
13524 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
13525 name. All users updated.
13526 Print filename in error.
13527 (read_device_map): Print filename in error.
13528 * util/getroot.c (grub_guess_root_devices): Print filename in error.
13529 (grub_util_get_os_disk): Likewise.
13530 (grub_util_biosdisk_get_grub_dev): Likewise.
13531 (grub_util_check_block_device): Likewise.
13532 (grub_util_check_char_device): Likewise.
13533 (grub_make_system_path_relative_to_its_root): Likewise.
13534 * util/grub-editenv.c (create_envblk_file): Likewise.
13535 (open_envblk_file): Likewise.
13536 (write_envblk): Likewise.
13537 * util/grub-fstest.c (cmd_cp): Likewise.
13538 (cmd_cat): Likewise.
13539 (cmd_cmp): Likewise.
13540 * util/grub-menulst2cfg.c (main): Likewise.
13541 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
13542 (write_font_width_spec): Likewise.
13543 (write_font_pf2): Likewise.
13544 * util/grub-mkimage.c (generate_image): New argument outname.
13545 All users updated.
13546 Remove unreacheable message.
13547 (options): Unify messages.
13548 (help_filter): Likewise.
13549 * util/grub-mklayout.c (usage): Removed (unused).
13550 (main): Print filename in error.
13551 * util/grub-mkrescue.in: Fix wrong quoting.
13552 * util/grub-setup.c (setup): Print filename in error.
13553 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
13554 (check_sas): Likewise.
13555 * util/misc.c (grub_util_get_fp_size): Removed.
13556 (grub_util_get_image_size): Print filename in error.
13557 (grub_util_read_at): Removed.
13558 (grub_util_read_image): Print filename in error.
13559 (grub_util_load_image): Likewise.
13560 (grub_util_write_image_at): New argument filename. All users updated.
13561 Print filename in error.
13562 (grub_util_write_image): New argument filename. All users updated.
13563 Print filename in error.
13564 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
13565 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
13566
0a96117d
VS
135672012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13568
13569 * grub-core/Makefile.core.def (pxechain): New module.
13570 * grub-core/loader/i386/pc/pxechainloader.c: New file.
13571 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
13572 function.
13573 (grub_pc_net_config_real): Use grub_pxe_get_cached.
13574 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
13575
aca002f7
VS
135762012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13577
13578 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
13579 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
13580 * include/grub/err.h (grub_error_saved): New struct.
13581 (grub_errmsg): Make array size explicit.
13582 * include/grub/misc.h (grub_error_save): New function.
13583 (grub_error_load): Likewise.
13584 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
13585 (grub_error_push): Update `errno' member name.
13586 (grub_error_pop): Likewise
13587 * grub-core/net/tftp.c (tftp_data): New member save_err.
13588 (tftp_receive): Save error.
13589 (tftp_open): Restore error.
13590
a51dab13
VS
135912012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
13594 to real mode down to execute A20-related code in protected mode as
13595 intended.
13596
eb6e6649
GS
135972012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
13598
13599 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
13600 NULL when the argument `level' has an unexpected value.
13601
92cd0f6e
VS
136022012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 Move platform-dependent files from $prefix to $prefix/$platform.
13605
13606 * config.h.in (GRUB_TARGET_CPU): New definition.
13607 (GRUB_PLATFORM): Likewise.
13608 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
13609 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
13610 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13611 * grub-core/kern/dl.c (grub_dl_load): Likewise.
13612 * grub-core/normal/autofs.c (read_fs_list): Likewise.
13613 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
13614 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
13615 * grub-core/normal/term.c (read_terminal_list): Likewise.
13616 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
13617 $prefix/locale.
13618 (grub_gettext_init_ext): Likewise.
13619 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
13620 grub_platform.
13621 * util/grub-install.in: Update directories.
13622 * util/grub-mknetdir.in: Likewise.
13623 * util/grub-mkrescue.in: Likewise.
13624
db606889
VS
136252012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13626
13627 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
13628 grub_error framework. All users updated.
13629
c39992a4
VS
136302012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13631
13632 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
13633 lists (by always binsearching), improve caching (cache strings
13634 used for binsearch, not only results), improve
13635 maintainability (by using more structured binary search) and correct
13636 error handling.
13637
1e5ec32f
VS
136382012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 * grub-core/script/execute.c (grub_script_return): Fix warning.
13641
ac576cde
VS
136422012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 * grub-core/script/execute.c (grub_script_return): Fix potential
13645 NULL-dereference.
13646 Reported by: Jim Meyering.
13647
498453f6
VS
136482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * po/POTFILES.in: Regenerate.
13651 * util/grub-install.in: Gettextize the strings missed in first pass.
13652
8be63f2e
VS
136532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13654
13655 * Makefile.util.def (grub-mkdevicemap): Removed.
13656 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
13657 * include/grub/util/deviceiter.h: Removed.
13658 * util/deviceiter.c: Likewise.
13659 * util/getroot.c (grub_util_get_os_disk): New function.
13660 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
13661 replacement for EFI.
13662 * util/grub-mkdevicemap.c: Removed.
13663 * util/grub-probe.c (probe): Handle PRINT_DISK.
13664 (argp_parser): Handle -t disk.
13665
8e1e4e39
VS
136662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 * util/grub-mkfont.c: Migrate to argp.
13669 * util/grub-mklayout.c: Likewise.
13670 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13671 * util/grub-mkrelpath.c: Likewise.
13672 * util/grub-probe.c: Likewise.
13673 * util/grub-script-check.c: Likewise.
13674
4459819a
VS
136752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13676
13677 * util/grub-reboot.in: Add missing datarootdir.
13678 Add missing newline.
13679 * util/grub-set-default.in: Add missing datarootdir.
13680 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
13681 * util/grub-mkrescue.in: Likewise.
13682
f65741c7
VS
136832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
13686
c1a33466
VS
136872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * util/grub-kbdcomp.in: Add decent help and gettextize.
13690 * docs/man/grub-kbdcomp.h2m: New file.
13691
c76899a0
VS
136922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13693
13694 Migrate grub-mkimage.c to argp.
13695
13696 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
13697 (grub-setup): Likewise.
13698 * util/grub-setup.c (print_version): Move to ...
13699 * util/argp_common.c (print_version): ... here.
13700 * util/grub-setup.c (argp_program_version_hook): Move to ...
13701 * util/argp_common.c (argp_program_version_hook): ... here.
13702 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
13703 safety.
13704 * util/grub-mkimage.c (main): Migrate to argp.
13705
57db0757
VS
137062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13707
13708 * util/grub-mkrescue.in: Use same message as
13709 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
13710 for better translations.
13711
18534ad9
VS
137122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13713
13714 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
13715 options with generic grub-mkrescue.in with the goal of future
13716 merge.
13717
c84ba308
VS
137182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13719
13720 * grub-core/kern/mm.c: Add missing include of i18n.h
13721 * grub-core/lib/relocator.c: Likewise.
13722
347998c2
VS
137232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13724
13725 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
13726 error.
13727 (allocate_pages): Check return value.
13728 Replace fatal with error.
13729 (grub_linux_boot): Replace printf with dprintf.
13730 Check find_mmap_size return value.
13731 Replace fatal with error.
13732 Don't call grub_machine_fini.
13733 (grub_load_elf64): Replace printf with dprintf.
13734 (grub_cmd_linux): Likewise.
13735 (grub_cmd_initrd): Likewise.
13736 (grub_cmd_payload): Likewise.
13737
c779226e
VS
137382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
13741 message.
13742 * grub-core/video/radeon_fuloong2e.c
13743 (grub_video_radeon_fuloong2e_setup): Likewise.
13744 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
13745 * grub-core/video/video.c (grub_video_set_mode): Don't override
13746 standard out of memory message.
13747
dc87d45a
GS
137482012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13749
13750 NetBSD disk wedge support.
13751
13752 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
13753 [__NetBSD__]: Handle NetBSD disk wedges.
13754 * util/getroot.c (convert_system_partition_to_system_disk)
13755 [__NetBSD__]: Likewise.
13756
055f856f
MW
137572012-02-03 Mark Wooding <mdw@distorted.org.uk>
13758
13759 * util/grub-mkconfig.in: Use umask rather than chmod to create
13760 grub.cfg.new to avoid insecure grub.cfg.
13761
4a9f8346
VS
137622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * grub-core/commands/ls.c: Gettextize.
13765 * grub-core/commands/setpci.c: Likewise.
13766 * grub-core/commands/videotest.c: Likewise.
13767 * grub-core/disk/geli.c: Likewise.
13768 * grub-core/kern/mm.c: Likewise.
13769 * grub-core/lib/relocator.c: Likewise.
13770 * grub-core/loader/efi/appleloader.c: Likewise.
13771 * grub-core/loader/i386/xnu.c: Likewise.
13772 * grub-core/loader/ia64/efi/linux.c: Likewise.
13773 * grub-core/loader/xnu.c: Likewise.
13774 * grub-core/net/dns.c: Likewise.
13775 * grub-core/net/net.c: Likewise.
13776 * grub-core/script/lexer.c: Likewise.
13777 * grub-core/script/parser.y: Likewise.
13778 * grub-core/script/yylex.l: Likewise.
13779 * util/getroot.c: Likewise.
13780 * util/grub-setup.c: Likewise.
13781
a646a366
VS
137822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
13785 number.
13786
54e2be26
VS
137872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13788
13789 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
13790
f7c71e68
VS
137912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
13794 macro.
13795 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
13796 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
13797
a32d5c71
VS
137982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13799
13800 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
13801 * util/grub-install.in: Gettextize.
13802 * util/grub-mkconfig.in: Likewise.
13803 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
13804 if not available.
13805 (grub_warn): Gettextize.
13806 * util/grub-mknetdir.in: Gettextize.
13807 * util/grub-mkrescue.in: Likewise.
13808 * util/grub-mkstandalone.in: Likewise.
13809 * util/grub-reboot.in: Likewise.
13810 * util/grub-set-default.in: Likewise.
13811 * util/grub.d/00_header.in: Likewise.
13812 * util/grub.d/10_hurd.in: Likewise.
13813 * util/grub.d/10_kfreebsd.in: Likewise.
13814 * util/grub.d/10_linux.in: Likewise.
13815 * util/grub.d/10_netbsd.in: Likewise.
13816 * util/grub.d/10_windows.in: Likewise.
13817 * util/grub.d/20_linux_xen.in: Likewise.
13818 * util/grub.d/30_os-prober.in: Likewise.
13819 * po/POTFILES-shell.in: Regenerate.
13820
69edd81a
RL
138212012-02-03 Richard Laager <rlaager@wiktel.com>
13822
13823 * util/grub-mkimage.c (main): Fix format-security warning.
13824 * util/grub-mkrelpath.c (main): Likewise.
13825 * util/grub-probe.c (main): Likewise.
13826
65f08dbf
RL
138272012-02-03 Richard Laager <rlaager@wiktel.com>
13828
13829 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
13830 failure.
13831 Put back lost PRINT_DRIVE.
13832
e9084abe
RL
138332012-02-03 Richard Laager <rlaager@wiktel.com>
13834
13835 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
13836 (grub_guess_root_devices): Replace strlen with sizeof.
13837 Avoid crash.
13838 (find_root_devices_from_poolname): Remove unused variable.
13839 Handle raidzN.
13840
cf5f7ee7
VS
138412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13842
13843 Support install on multi-device filesystems.
13844
13845 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
13846 (grub_guess_root_devices): ...this. Return char **. All users updated.
13847 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
13848 Removed.
13849 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
13850 (find_root_devices_from_poolname): ... here.
13851 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
13852 Support zfs-fuse.
13853 (grub_guess_root_device): Rename to ...
13854 (grub_guess_root_devices): ... this. Return char **. All users updated.
13855 * util/grub-install.in: Handle multi-device filesystems.
13856 * util/grub-probe.c (probe). Make device_names a char **. Add delim
13857 argument. All users updated.
13858 Handle multi-device filesystems.
13859 Use 'delim' as separator.
13860 Remove device check to allow filesystems on file.
13861 (main): Support -0 argument. Handle multi-device.
13862 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
13863 Fix a cross-device check while on it.
13864 (arguments): Remove root_dev.
13865 (argp_parser): Remove -r.
13866 (main): Remove root_dev.
13867
2f53a9ed
VS
138682012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13869
13870 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
13871
17e1d934
VS
138722012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13873
13874 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
13875 symbol.
13876 Reported by: NODA, Kai <nodakai>.
13877
d3e3fab5
VS
138782012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13879
13880 Fix ehci on amd64.
13881
13882 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
13883 pointers.
13884 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
13885 (grub_ehci_setup_qh): Likewise.
13886 (grub_ehci_find_qh): Likewise.
13887 (grub_ehci_transaction): Likewise.
13888 (grub_ehci_setup_transfer): Likewise.
13889 (grub_ehci_check_transfer): Likewise.
13890 (grub_ehci_portstatus): Likewise.
13891 (grub_ehci_detect_dev): Likewise.
13892 (grub_ehci_transfer_controller_data): New field td_last_phys.
13893 (grub_ehci_setup_transfer): Fill td_last_phys.
13894 (grub_ehci_check_transfer): Use td_last_phys.
13895
3008675b
SG
138962012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
13897
13898 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
13899 if no submenu is present.
13900
fc9b5652
AN
139012012-02-01 Aleš Nesrsta <starous@volny.cz>
13902
13903 CBI support.
13904
13905 * include/grub/usb.h (grub_usbms_protocol_t): New values
13906 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
13907 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
13908 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
13909 (grub_usbms_dev): Add subclass, protocol and intrpt.
13910 Remove in_maxsz and out_maxsz.
13911 (grub_usbms_reset): Rename to ...
13912 (grub_usbms_bo_reset): .. this.
13913 (grub_usbms_cbi_cmd): New function.
13914 (grub_usbms_cbi_reset): Likewise.
13915 (grub_usbms_reset): Likewise.
13916 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
13917 (grub_usbms_transfer): Rename to ...
13918 (grub_usbms_transfer_bo): ... this.
13919 (grub_usbms_transfer_cbi): Likewise.
13920 (grub_usbms_transfer): Likewise.
13921
a2b81d53
AN
139222012-02-01 Aleš Nesrsta <starous@volny.cz>
139232012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
13926 the support for the CS5536 modification thereos and few bugfixes.
13927
13928 * grub-core/Makefile.core.def (ehci): New module.
13929 * grub-core/bus/usb/ehci.c: New file.
13930 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
13931 port and hubaddr. All users updated.
13932 Save port and hubaddr into dev structure.
13933 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
13934 define.
13935 * include/grub/pci.h (grub_dma_phys2virt): New function.
13936 (grub_dma_virt2phys): Likewise.
13937 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
13938
b1d51f02
VS
139392012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
13942 check as some mkfs implementations omit it.
13943
fc694106
VS
139442012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13945
13946 * docs/grub.texi (Unicode): Mention identifier and space limitations.
13947
6c0920e3
VS
139482012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13949
13950 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
13951 Add new member volname2.
13952 (grub_jfs_label): Use volname2 if available.
13953
d1a46f9a
VS
139542012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
13957 over last_mounted as seen in image generated by mkfs.nilfs2.
13958 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
13959
dec8ed14
VS
139602012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13961
13962 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
13963 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
13964 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
13965
7397c69b
VS
139662012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13967
13968 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
13969 over the sector.
13970
b3fe42ad
VS
139712012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
13974 subvolume name (by removing a bogus and useless check).
13975
10476bb0
VS
139762012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
13979 sizeof while on it.
13980
9c08ad87
VS
139812012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
13984 (grub_scsi_read_capacity10): ... this.
13985 (grub_scsi_read_capacity16): New function.
13986 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
13987 0xffffffff.
13988 Fix off-by-one error.
13989 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
13990 64-bit unsigned.
13991 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
13992 (grub_scsi_read_capacity10): ... this.
13993 (grub_scsi_read_capacity_data): Rename to ...
13994 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
13995 (grub_scsi_read_capacity16): New struct.
13996 (grub_scsi_read_capacity16_data): Likewise.
13997 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
13998 grub_scsi_cmd_read_capacity10.
13999 New command grub_scsi_cmd_read_capacity16.
14000
bc8d0f45
VS
140012012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14002
14003 SCSI >2TiB support.
14004
14005 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
14006 (grub_scsi_write16): Likewise.
14007 (grub_scsi_read): Use read16 when necessary.
14008 (grub_scsi_write): Likewise.
14009 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
14010 (grub_scsi_write16): Likewise.
14011 (grub_scsi_cmd_t): Add READ16 and WRITE16.
14012
cc774926
VS
140132012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14014
14015 SCSI write support (for usbms mainly).
14016
14017 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
14018 a const pointer.
14019 (grub_scsi_write): Implement.
14020 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
14021
67639fd7
VS
140222012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14023
14024 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
14025 variable.
14026
9079d3ed
VS
140272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * grub-core/lib/posix_wrap/string.h (memchr): New function.
14030
c6a6f204
VS
140312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * po/POTFILES.in: Regenerate.
14034
ecbf8cd1
VS
140352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14036
14037 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
14038 with grub_printf to avoid unnecessary fatal failure.
14039
0b3b3b38
VS
140402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14041
14042 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
14043 (INT_MAX): Likewise.
14044 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
14045 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
14046 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
14047 (strcpy): Likewise.
14048 (strstr): Likewise.
14049 (strchr): Likewise.
14050 (strncpy): Likewise.
14051 (strcat): Likewise.
14052 (strncat): Likewise.
14053 (strcoll): Likewise.
14054 * include/grub/types.h (GRUB_SHRT_MAX): New define.
14055 (GRUB_INT_MAX): Likewise.
14056
db7337a3
VS
140572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
14060 unexpected error.
14061 (optimize_utf8): Likewise.
14062 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
14063
f37c87e1
VS
140642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14065
14066 * grub-core/boot/i386/pc/lnxboot.S: Use
14067 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
14068 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
14069 location.
14070 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
14071 definition.
14072 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
14073
63fe43f3
VS
140742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
14077 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
14078 now to avoid double free.
14079 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
14080 hostdisk.
14081 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
14082 * util/grub-probe.c (escape_of_path): Always return a new copy.
14083 (print_full_name): Escape path.
14084 (probe): Don't call grub_util_devname_to_ofpath on NULL.
14085 Fix hints on abstractions.
14086
ebe2c961
VS
140872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
14090 Don't add "root" line if no compatibility hont is available.
14091 Suggested by: Seth Goldberg.
14092
2b5336a2
VS
140932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14094
14095 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
14096 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
14097 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
14098 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
14099
74310bd8
VS
141002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14101
14102 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
14103
c30582ba
VS
141042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14105
14106 * util/grub-pe2elf.c (ehdr): Make static.
14107 (shdr): Likewise.
14108 (num_sections): Likewise.
14109 (offset): Likewise.
14110
5f47782c
VS
141112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14112
14113 Eliminate ofpath limits and possible overflows.
14114
14115 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
14116 (OF_PATH_MAX): Removed.
14117 (MAX_DISK_CAT): New const.
14118 (find_obppath): Use allocated rather than preallocated buffer.
14119 Return result. Argument of_path removed. All users updated.
14120 Add missing fdstat.
14121 (xrealpath): New function.
14122 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
14123 Allocate rather than use preallocated buffer. All users updated.
14124 (__of_path_common): Use allocated rather than preallocatecd buffer.
14125 Return result. Argument of_path removed. All users updated.
14126 (vendor_is_ATA): Read only needed part form the file.
14127 (check_sas): Allocate depending on contents rather than fixed.
14128 (main) [STANDALONE]: Handle NULL result.
14129
f990cbf9
VS
141302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 * grub-core/normal/completion.c (iterate_dev): Close the disk.
14133
9c6e84b8
VS
141342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14135
14136 Cryptodisk write support.
14137
14138 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
14139 (grub_cryptodisk_decrypt): Moved logic to ...
14140 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
14141 (grub_cryptodisk_write): Implement.
14142 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
14143 (grub_util_fd_write): ... this. Make global.
14144 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
14145
87cf9744
VS
141462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 * include/grub/list.h (grub_list_remove): Don't crash if element is
14149 removed twice.
14150
ca8c0baf
VS
141512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14152
14153 Rename ofconsole to console.
14154
14155 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
14156 as sysnonym to console.
14157 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
14158 * grub-core/term/ieee1275/console.c: ... this. All users updated.
14159 Rename grub_ofconsole_ to grub_console_. All users updated
14160 (grub_console_term_output): Rename "ofconsole" to "console".
14161 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
14162 as "console".
14163
64c8b8f6
VS
141642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14165
14166 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
14167 handling.
14168 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
14169 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
14170 GRUB_DISK_DEVICE_FILE_ID.
14171
f6c434d5
VS
141722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14173
14174 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
14175 and improve performance.
14176
5858b42d
VS
141772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14178
14179 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
14180 missing ieee1275/ prefix on whole disk.
14181
4ed3c26b
VS
141822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14183
14184 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
14185 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14186
df71143e
VS
141872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14188
14189 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
14190
076e7c0f
VS
141912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 Merge common RAID and LVM logic to an abstract diskfilter.
14194 Add LDM support using the same framework.
14195
14196 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
14197 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
14198 (libgrubmods): Remove grub-core/disk/raid.c and
14199 grub-core/partmap/gpt.c.
14200 * grub-core/Makefile.core.def (ldm): New module.
14201 (raid): Renamed to diskfilter. All users updated.
14202 * grub-core/disk/raid.c: Moved to ...
14203 * grub-core/disk/diskfilter.c: ... here.
14204 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
14205 (lv_num): New var.
14206 (find_array): Renamed to ...
14207 (find_lv): ... this. Support multi-LV. Skip nameless LVs
14208 (grub_is_array_readable): Renamed to ...
14209 (grub_is_lv_readable): ... this. Support multinode hierarchy.
14210 (insert_array): New argument id.
14211 (is_node_readable): New function.
14212 (scan_device): Rename to ...
14213 (scan_disk): .. this. Restrict to one disk.
14214 (scan_devices): New function.
14215 (grub_diskfilter_iterate): Support multi-LV.
14216 Skip invisible and nameless LVs.
14217 (grub_diskfilter_memberlist): Support multi-LV.
14218 (grub_diskfilter_read_node): New function.
14219 (grub_raid_read): Most of logic moved to ...
14220 (read_segment): ... here
14221 (read_lv): New function.
14222 (grub_diskfilter_get_vg_by_uuid): New function.
14223 (grub_diskfilter_make_raid): Likewise.
14224 * grub-core/disk/ldm.c: New file.
14225 * grub-core/disk/lvm.c (vg_list): Removed.
14226 (lv_count): Likewise.
14227 (scan_depth): Likewise.
14228 (is_lv_readable): Likewise.
14229 (grub_lvm_getvalue): Advance pointer past the number.
14230 (find_lv): Removed.
14231 (do_lvm_scan): Refactored into ...
14232 (grub_lvm_detect): ... this. Support raid.
14233 (grub_lvm_iterate): Removed.
14234 (grub_lvm_memberlist): Likewise.
14235 (grub_lvm_open): Likewise.
14236 (grub_lvm_close): Likewise.
14237 (read_lv): Likewise.
14238 (read_node): Likewise.
14239 (is_node_readable): Likewise.
14240 (is_lv_readable): Likewise.
14241 (grub_lvm_read): Likewise.
14242 (grub_lvm_write): Likewise.
14243 (grub_lvm_dev): Use diskfilter
14244 (GRUB_MOD_INIT): Likewise.
14245 (GRUB_MOD_FINI): Likewise.
14246 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
14247 new interface.
14248 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
14249 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14250 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
14251 grub_diskfilter_read_node.
14252 Fix a bug with xor.
14253 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
14254 grub_diskfilter_read_node.
14255 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
14256 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
14257 (grub_disk_dev_iterate): Move from here...
14258 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
14259 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
14260 Make global.
14261 (grub_hostdisk_find_partition_start): Likewise.
14262 (grub_hostdisk_os_dev_to_grub_drive): New function.
14263 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
14264 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
14265 * util/getroot.c (make_device_name): ... here.
14266 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
14267 Move to ...
14268 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
14269 * grub-core/kern/emu/hostdisk.c
14270 (convert_system_partition_to_system_disk): Move to ...
14271 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
14272 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
14273 * util/getroot.c (device_is_wholedisk): ... here.
14274 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
14275 * util/getroot.c (find_system_device): ... here.
14276 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
14277 Move to ...
14278 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
14279 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14280 Move to ...
14281 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
14282 Handle LDM.
14283 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14284 Move to ...
14285 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
14286 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
14287 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
14288 DISKFILTER.
14289 * include/grub/raid.h: Renamed to ...
14290 * include/grub/diskfilter.h: ... this.
14291 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
14292 (GRUB_RAID_LAYOUT_*): Make into array.
14293 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
14294 (grub_diskfilter_vg): New struct.
14295 (grub_diskfilter_pv_id): Likewise.
14296 (grub_raid_member): Removed.
14297 (grub_raid_array): Likewise.
14298 (grub_diskfilter_pv): New struct.
14299 (grub_diskfilter_lv): Likewise.
14300 (grub_diskfilter_segment): Likewise.
14301 (grub_diskfilter_node): Likewise.
14302 (grub_diskfilter_get_vg_by_uuid): New proto.
14303 (grub_raid_register): Inline.
14304 (grub_diskfilter_unregister): Likewise.
14305 (grub_diskfilter_make_raid): New proto.
14306 (grub_diskfilter_vg_register): Likewise.
14307 (grub_diskfilter_read_node): Likewise.
14308 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
14309 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
14310 (grub_util_is_ldm): Likewise.
14311 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
14312 (grub_hostdisk_find_partition_start): Likewise.
14313 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
14314 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
14315 New definition.
14316 (grub_gpt_partition_map_iterate): New proto.
14317 * include/grub/lvm.h (grub_lvm_vg): Removed.
14318 (grub_lvm_pv): Likewise.
14319 (grub_lvm_lv): Likewise.
14320 (grub_lvm_segment): Likewise.
14321 (grub_lvm_node): Likewise.
14322 * util/getroot.c [...]
14323 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
14324 (probe_abstraction): Likewise.
14325 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
14326 (main): Remove dead logic.
14327
8a7f9b9c
VS
143282012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 Simplify root device discover and don't fail when trying to open
14331 incorrect devices.
14332
14333 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
14334 function.
14335 (get_diskname_from_path): Likewise.
14336 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
14337 of iterating.
14338
30545b85
VS
143392012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14340
14341 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
14342
28ea58cf
VS
143432012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14344
14345 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
14346 pastthe end.
14347
692dabca
VS
143482012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14349
14350 * util/grub-install.in: Add missing \.
14351 Reported by: gentoofan
14352
f6e4ea70
VS
143532012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
14356 (direct_read): Use correct compressed size.
14357 (grub_squash_read_data): Likewise.
14358
143592012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
14360
14361 * docs/grub.texi (Platform limitations): New section.
14362 (Platform-specific operations): Likewise.
14363 * docs/grub-dev.texi (Porting): Likewise.
14364
76261110
VS
143652012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14366
14367 IEEE1275 disk write support.
14368
14369 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
14370 const void *.
14371 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
14372 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
14373 and seek loginc to ...
14374 (grub_ofdisk_prepare): ... here.
14375 (grub_ofdisk_write): Implement.
14376
fc36d603
VS
143772012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 ARC disk write support.
14380
14381 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
14382 (reopen): New argument writable. All users updated.
14383 Handle required access mode.
14384 (grub_arcdisk_write): Implement.
14385 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
14386 (grub_arc_firmware_vector): Make buffer to write a const buffer.
14387
e06c2e7a
VS
143882012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14389
14390 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
14391 (read_sblock): Don't attempt to read superblocks outside the disk size.
14392
ff447958
VS
143932012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14394
14395 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
14396 first superblock to find the second one when possible.
14397
9e88df39
VS
143982012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14399
14400 * util/grub-install.in: Fix an ARC bug.
14401 Print a warning if no platform-specific setup is available.
14402
bb26e4ff
VS
144032012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14404
14405 Use static allocation rather than scratch pointer in reed_solomon.
14406 It decreases its size significantly and avoids a variable in .text.
14407
14408 * grub-core/lib/reed_solomon.c (scratch): Removed.
14409 (chosenstat): New const or static array.
14410 (sigma): Likewise.
14411 (errpot): Likewise.
14412 (errpos): Likewise.
14413 (sy): Likewise.
14414 (mstat): Likewise.
14415 (errvals): Likewise.
14416 (eqstat): Likewise.
14417 (pol_evaluate): Replace x with log_x argument. All users updated.
14418 (syndroms): Removed.
14419 (gauss_solve): Use statically allocated arrays.
14420 (rs_recover): Likewise.
14421 Calculate syndroms directly.
14422 (decode_block): Use statically allocated arrays.
14423 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
14424 (main) [TEST]: Allow -DTEST -DSTANDALONE.
14425
2e13ede5
VS
144262012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14427
14428 Eliminate fixed limit on reed solomon decoder length.
14429
14430 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
14431 rather than hardcoding the address.
14432 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
14433 no_reed_solomon_length.
14434 Move gate_a20 to no-reed-solomon part.
14435 Don't force a particular size of no reed-solomon part.
14436 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14437 Removed.
14438 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
14439 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
14440
f8a9ab12
VS
144412012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14442
14443 * grub-core/commands/wildcard.c (match_files): Handle filenames
14444 without explicit device.
14445 (wildcard_expand): Don't add explicit device if not already present.
14446 * tests/grub_script_echo1.in: Add a new expansion test.
14447
87edb894
VS
144482012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14449
14450 Replace single-linked with double-linked lists. It results in more
14451 compact and more efficient code.
14452
14453 * grub-core/kern/list.c (grub_list_push): Moved from here ...
14454 * include/grub/list.h (grub_list_push): ... to here. Set prev.
14455 (grub_list_remove): Moved from here ...
14456 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
14457 (grub_prio_list_insert): Set prev.
14458 * include/grub/list.h (grub_list): Add prev. All users updated.
14459
48b391e9
VS
144602012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14461
14462 Handle newer autotools. Add some missing quotes while on it.
14463
14464 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
14465 (pkglib_DATA): Move grub-mkconfig_lib from here ...
14466 (pkgdata_DATA): ... here.
14467 * Makefile.util.def (update-grub_lib): Removed.
14468 * conf/Makefile.common (pkglib_DATA): Removed.
14469 (pkglib_SCRIPTS): Likewise.
14470 (pkgdata_DATA): New variable.
14471 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
14472 needed.
14473 Add missing quotes.
14474 Remove unused variable while on it.
14475 * tests/util/grub-shell.in: Likewise.
14476 * util/grub-install.in: Likewise.
14477 * util/grub-mkconfig.in: Likewise.
14478 * util/grub-mknetdir.in: Likewise.
14479 * util/grub-mkrescue.in: Likewise.
14480 * util/grub-mkstandalone.in: Likewise.
14481 * util/grub.d/00_header.in: Likewise.
14482 * util/grub.d/10_hurd.in: Likewise.
14483 * util/grub.d/10_illumos.in: Likewise.
14484 * util/grub.d/10_kfreebsd.in: Likewise.
14485 * util/grub.d/10_linux.in: Likewise.
14486 * util/grub.d/10_netbsd.in: Likewise.
14487 * util/grub.d/10_windows.in: Likewise.
14488 * util/grub.d/20_linux_xen.in: Likewise.
14489 * util/grub.d/30_os-prober.in: Likewise.
14490 * util/update-grub_lib.in: Removed.
14491
144922012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
14493
14494 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
14495 a workaround for intel problem.
14496
66832792
PRP
144972012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
144982012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
144992012-01-23 pfsmorigo
14500
14501 * util/grub-install.in: Support dd'in into PreP partition.
14502 * util/grub-probe.c (probe): Support discovering partition type.
14503 (main): Support -t msdos_parttype.
14504
7816a17e
VS
145052012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
14508 infinite recursion using counter.
14509 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14510 init to skip it if the magic check fails.
14511 (dec_stream_header): Init s->crc32.
14512
8f9d3a8c
ZB
145132012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
145142012-01-22 Zachary Bedell <pendorbound@gmail.com>
145152012-01-22 Richard Laager <rlaager@wiktel.com>
14516
14517 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14518 All users updated.
14519 (find_bestub): Determine correct size.
14520 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
14521 (scan_disk): Align the size down.
14522 Call check pool before find_bestub to have ashift.
14523
b055dd32
VS
145242012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14525
14526 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
14527 dprintf in no-malloc zone.
14528
d779e9bd
ML
145292012-01-22 Mario Limonciello <mario_limonciello@dell.com>
14530
14531 * configure.ac: Add back in test for limits.h.
14532
b508af69
VS
145332012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 Support 4K-sector NTFS.
14536
14537 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
14538 (grub_ntfs_data): Remove blocksize.
14539 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
14540 Remove data argument. All users updated.
14541
dad9c8b5
VS
145422012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
14545 being in .text to avoid dprel references.
14546 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
14547 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
14548 (grub_arch_highmemsize): Likewise.
14549 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
14550 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
14551 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
14552
d43a777e
VS
145532012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14554
14555 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
14556
14557 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
14558 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
14559
34e4208f
VS
145602012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
14563 GRUB_UTIL.
14564 (grub_set_datetime_cmos): Likewise.
14565
3ec0fc1c
VS
145662012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 Make XZ compression parameters dependent on target and not host CPU.
14569
14570 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
14571 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
14572
22489834
VS
145732012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14574
14575 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
14576 set but not used variable.
14577
8502fbca
VS
145782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14579
14580 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
14581 created when no uuid support is compiled into mkfs.reiser.
14582
76df2068
VS
145832012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14584
14585 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
14586 (utf8_to_macroman): Do the opposite.
14587 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
14588
64e3f8f6
VS
145892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14590
14591 * configure.ac: Refise build qemu_mips w/o unifont.
14592
9c271078
VS
145932012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 Eliminate grub_min/grub_max prone to overflow usage.
14596
14597 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
14598 (poll_nonroot_hub): Likewise.
14599 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
14600 (grub_affs_label): Likewise.
14601 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
14602 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
14603 (grub_hfs_label): Likewise.
14604 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
14605 * grub-core/fs/zfs/zfs.c (MIN): Remove.
14606 (zap_leaf_array_equal): Use grub_size. Remove MIN.
14607 (zap_leaf_array_get): Likewise.
14608 (dnode_get_path): Likewise.
14609 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
14610 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
14611 * grub-core/script/execute.c (grub_script_break): Likewise.
14612 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
14613 grub_max.
14614 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
14615 * include/grub/misc.h (grub_min): Removed.
14616 (grub_max): Likewise.
14617
80662dbc
VS
146182012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14619
14620 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
14621 direct.inode = 0.
14622
e6da1467
VS
146232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14624
14625 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
14626
b1ac4cb1
VS
146272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14628
14629 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
14630
b4bf7c3b
VS
146312012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14632
14633 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
14634 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
14635
8ee1101a
VS
146362012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14637
14638 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
14639 rather than a hack for grub_strncasemap.
14640
146412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14642
14643 Support multiple initrds
14644 Note: part of this was accidently committed in r3739.
14645
14646 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
14647 initrd.
14648 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
14649 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
14650 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14651 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14652 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14653
4d1e2bc9
VS
146542012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14655
14656 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
14657 disks with unknown size.
14658 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
14659
75b49ebe
VS
146602012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14661
14662 Remove defines pertaining to arbitrary limits not affecting GRUB
14663 anymore.
14664
14665 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
14666 (EXT2_MAX_SYMLINKCNT): Likewise.
14667 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
14668 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
14669 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
14670 (GRUB_PXE_MAX_BLKSIZE): Likewise.
14671 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
14672 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
14673 (DN_MAX_OBJECT_SHIFT): Likewise.
14674 (DN_MAX_OFFSET_SHIFT): Likewise.
14675 (DN_MAX_OBJECT): Likewise.
14676 (DNODES_PER_LEVEL_SHIFT): Likewise.
14677 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
14678 (SPA_MAXBLOCKSIZE): Likewise.
14679 (SPA_BLOCKSIZES): Likewise.
14680 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
14681 (MZAP_MAX_BLKSZ): Likewise.
14682
74a1dce7
VS
146832012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14684
14685 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
14686 handle NULL appropriately.
14687 Remove MIN.
14688
30c7d3ce
VS
146892012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14690
14691 Fix efiemu.
14692
14693 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
14694 cpu/types.h.
14695 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
14696 * configure.ac: Fix efiemu check.
14697
3c76ea0c
VS
146982012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14699
14700 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
14701 grub_probe.
14702 Reported by: adamwill
14703
7e532280
SG
147042012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
14705
14706 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
14707
30492374
VS
147082012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14709
14710 Fix handling of wide characters in gfxterm.
14711
14712 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
14713 (clear_char): Likewise.
14714 (paint_char): Skip code == NULL chars.
14715 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
14716
e70cb72f
VS
147172012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14718
14719 * grub-core/normal/charset.c: Move comment to right place.
14720
5c827cf9
VS
147212012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
14724 (GRUB_AFFS_FLAG_FFS): Put back where it was.
14725 (grub_affs_mount): Revert the correct version checking.
14726
53603892
VS
147272012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14728
14729 * docs/grub.texi (Unicode): Mention several other unsupported features.
14730
ff094b9b
VS
147312011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
14734 case statements as compile-time one.
14735 (direct_read): Prevent spurious warnings.
14736 (grub_squash_read_data): Likewise.
14737
c029da8a
VS
147382011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14739
14740 Various squash4 fixes and LZO and XZ support.
14741
14742 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
14743 Add xzembed source files.
14744 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
14745 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
14746 (grub_squash_inode): New subtype long_dir.
14747 (SQUASH_TYPE_LONG_DIR): New inode type.
14748 (COMPRESSION): New enum.
14749 (XZBUFSIZ): New const.
14750 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
14751 (read_chunk): Use data->decompress.
14752 (zlib_decompress): New function.
14753 (lzo_decompress): Likewise.
14754 (xz_decompress): Likewise.
14755 (squash_mount): Set new data fields.
14756 (grub_squash_iterate_dir): Handle long dir.
14757 (squash_unmount): Free xzdec and xzbuf.
14758 (grub_squash_open): Check ino type.
14759 (direct_read): Stylistic fixes. Use data->decompress.
14760 (grub_squash_read_data): Likewise.
14761 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
14762 (get_byte): Likewise.
14763 (grub_zlib_disk_read): Removed.
14764 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
14765 (GRUB_POSIX_BOOL_DEFINED): New define.
14766 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
14767 * grub-core/lib/xzembed/xz.h: Addmissing includes.
14768 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
14769 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
14770
7a45a539
VS
147712011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14772
14773 Don't override more informative errors.
14774
14775 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
14776 * grub-core/font/font.c (open_section): Likewise.
14777 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
14778 filename. Don't override errors.
14779 (grub_cmd_openbsd_ramdisk): Don't override errors.
14780 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
14781 (grub_cmd_initrd): Likewise.
14782 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14783 (grub_cmd_initrd): Likewise.
14784 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
14785 (grub_cmd_linux): Likewise.
14786 (grub_cmd_initrd): Likewise.
14787 (grub_cmd_payload): Likewise.
14788 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14789 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
14790 (grub_cmd_module): Likewise.
14791 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14792 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14793 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
14794 (grub_cmd_xnu_mkext): Likewise.
14795 (grub_cmd_xnu_ramdisk): Likewise.
14796 (grub_xnu_check_os_bundle_required): Likewise.
14797 (grub_xnu_load_kext_from_dir): Likewise.
14798 (grub_cmd_xnu_kextdir): Likewise.
14799 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
14800
b2d004db
VS
148012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
14804 as 1024 in block size field. Found on one of my test images.
14805 Small optimisation while on it.
14806
ec000eac
VS
148072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14808
14809 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
14810 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
14811 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
14812 performance fixes while on it.
14813 (grub_sfs_close): Fix memory leak while on it.
14814 (grub_sfs_label): Convert Latin1 to UTF-8.
14815
f50e1165
VS
148162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14817
14818 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
14819 space to avoid overflows.
14820 (grub_hfs_label): Convert from macroman to UTF-8.
14821
2ae254de
VS
148222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14823
14824 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
14825
0108f491
VS
148262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
14829
f45f5f89
VS
148302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14831
14832 * unicode: Import Unicode 6.0 data.
14833
4d8c4765
VS
148342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14835
63fa8ef9
VS
14836 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
14837 outside of range.
14838
148392011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14840
14841 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
14842
14843 * include/grub/charset.h (grub_getend): New function.
14844 * grub-core/script/function.c (grub_script_function_find): Use
14845 grub_getend.
14846 * grub-core/normal/completion.c (add_completion): Likewise.
14847
f3cb4a4e
VS
148482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
14851 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
14852 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
14853 (GRUB_UNICODE_TAG_END): Likewise.
14854 (GRUB_UNICODE_LAST_VALID): Likewise.
14855
5da8dbc5
VS
148562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
14859 len and make it smaller. All users updated.
14860 * util/import_unicode.py: Put length and not end character.
14861 Check length.
14862
8569f13d
VS
148632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14864
14865 Make better Unicode-compliant and unify some UTF-8 code pathes.
14866
14867 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
14868 valid character.
14869 (grub_is_valid_utf8): Use grub_utf8_process.
14870 Check resulting code range.
14871 (grub_utf8_to_ucs4): Use grub_utf8_process.
14872 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
14873 valid character.
14874
cc4fddf5
VS
148752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
14878
bbc47747
VS
148792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14880
14881 * docs/grub.texi (Filesystems): Mention AFS.
14882
f63d6bf4
VS
148832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 * docs/grub.texi (Filesystems): Clarify restrictions.
14886 (Regexp): Mention non-Unicode regexp behaviour.
14887 (Other): Mention non-Unicode matching behaviour.
14888
74bbf0db
VS
148892011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14890
f63d6bf4 14891 Make HFS implementation use MacRoman.
74bbf0db
VS
14892
14893 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
14894 (macroman): New const array.
14895 (macroman_to_utf8): New function.
14896 (utf8_to_macroman): Likewise.
14897 (grub_hfs_find_dir): Use utf8_to_macroman.
14898 (grub_hfs_dir): Use macroman_to_utf8.
14899 Set case_insensitive.
14900
4ea0316e
VS
149012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14902
14903 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
14904
d3c13cbd
VS
149052011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 Integrate hints into autogeneration scripts.
14908
14909 * docs/grub.texi (Filesystems): Add a hostdisk example.
14910 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
14911 (grub-probe): Add ofpath.
14912 * gentpl.py: Remove group nosparc64.
14913 * grub-core/commands/search.c (cache_entry): New struct.
14914 (cache): New var.
14915 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
14916 * grub-core/commands/search_wrap.c (options): Add platform-specific
14917 hint options.
14918 (grub_cmd_search): Handle platform-specific hints.
14919 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
14920 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
14921 (grub_util_biosdisk_data): Likewise.
14922 (grub_util_biosdisk_open): Set device_map.
14923 (read_device_map): Handle "" as indication of no map.
14924 Set device_map.
14925 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
14926 (grub_util_biosdisk_get_compatibility_hint): New function.
14927 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
14928 * include/grub/emu/hostdisk.h
14929 (grub_util_biosdisk_get_compatibility_hint): New proto.
14930 * util/grub-install.in: Don't call grub-mkdevicemap.
14931 Add platform-specific hint to load.cfg.
14932 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
14933 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14934 hints. Set root preliminary to compatibility hint, not to OS name.
14935 * util/grub-probe.c (PRINT_*): Add hints.
14936 (print): Make static.
14937 (escape_of_path): New function.
14938 (guess_bios_drive): Likewise.
14939 (guess_efi_drive): Likewise.
14940 (guess_baremetal_drive): Likewise.
14941 (print_full_name): Likewise.
14942 (probe): Handle hints.
14943 (main): Likewise.
14944 * util/ieee1275/devicemap.c: Removed.
14945 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
14946 updated.
14947 (grub_util_devname_to_ofpath): Return NULL on failure.
14948
14949 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
14950 resource leak.
14951 * util/getroot.c (grub_util_pull_device): Fix memory leak.
14952
14953 * po/POTFILES.in: Regenerated.
14954
14955 Allow purely long options
14956
14957 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
14958 (SHORT_ARG_USAGE): Likewise.
14959 (grub_arg_show_help): Compare opt with help_options.
14960 (parse_option): Receive opt as argument. If makes big simplificatons.
14961 All users updated
14962
00ce2df3
VS
149632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
14966 Restructure to avoid warning.
14967
e77e325f
VS
149682011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14969
14970 * util/grub-install.in: Account for possible escaped comma in device
14971 name.
14972
165099ea
VS
149732011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14974
14975 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
14976 channel.
14977
ce4a999d
VS
149782011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14979
14980 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
14981 allocation and zero-setting.
14982 (grub_ieee1275_get_devname): Check that alias is complete.
14983
379586ad
VS
149842011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14985
14986 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
14987 unaligned segments.
14988
9197b0ad
VS
149892011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14990
14991 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
14992 prefix.
14993 (grub_ofdisk_open): Check and discard ieee1275 prefix.
14994 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14995 Add ieee1275 prefix.
14996
edddb7f9
VS
149972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14998
14999 * docs/grub.texi (Filesystems): Update.
15000
a1a8b1b9
VS
150012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15002
15003 Support odc, newc and bigendian cpio formats.
15004
15005 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
15006 * grub-core/Makefile.core.def (newc): New module.
15007 (odc): Likewise.
15008 (cpio_be): Likewise.
15009 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
15010 (MAGIC): Likewise.
15011 (MAGIC2): Likewise.
15012 (head) [MODE_ODC]: Adapt for the format.
15013 (head) [MODE_NEWC]: Likewise.
15014 (head) [!MODE_*]: Write fields of interest as arrays.
15015 (MAGIC_USTAR): Removed.
15016 (read_number) [MODE_NEWC]: Change to hex.
15017 (read_number) [!MODE_*]: Parse binary arrays.
15018 (grub_cpio_find_file): Factor out the code for better structure and
15019 always use read_number.
15020 (grub_cpio_mount): Use MAGIC and MAGIC2.
15021 (grub_cpio_dir): Exit on first hook non-0 return.
15022 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
15023 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
15024 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
15025 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
15026 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
15027 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
15028 * grub-core/fs/newc.c: New file.
15029 * grub-core/fs/odc.c: Likewise.
15030 * grub-core/fs/cpio_be.c: Likewise.
15031
58eba9ee
VS
150322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15033
15034 Fix handling of tar numbers occupying the whole field.
15035
15036 * grub-core/fs/cpio.c (read_number): New function.
15037 (grub_cpio_find_file): Use read_number instead of strtoull.
15038
a54a0e12
VS
150392011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15040
15041 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
15042 occupying the whole field size.
15043
a6120aca
LA
150442011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
15045
15046 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
15047
a93964ce
VS
150482011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
15051
3ea1ca46
SG
150522011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
15053
15054 * grub-core/Makefile.core.def (lzma_decompress): Add missing
15055 TARGET_IMG_LDFLAGS.
15056
b87f7ef2
VS
150572011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15058
15059 * util/getroot.c (ESCAPED_PATH_MAX): New define.
15060 (mountinfo_entry): Increase the field size to take escaping into
15061 account.
15062 (find_root_device_from_libzfs): Add one byte to size of strings for
15063 security.
15064
62092395
VS
150652011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
15068 an assert.
15069 * util/grub-setup.c (setup): Likewise.
15070
1f0b1a77
VS
150712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
15074 _LzmaDecodeA.
15075
8eba9997
VS
150762011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 * docs/grub.texi (Internationalisation): New section.
15079
dd0c91e9
VS
150802011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15081
15082 * docs/grub.texi (Loopback booting): New section.
15083
150842011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
15085
15086 * util/grub-mkstandalone.in: Fix minor typo errors.
15087
198e150a
VS
150882011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15089
15090 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
15091
15092 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
15093 net/icmp.c and net/icmp6.c.
15094 (http): New module.
15095 (priority_queue): Likewise.
15096 * grub-core/io/bufio.c: Rewritten.
15097 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
15098 TYPE_WITH_CONFIGFILE_OPTION.
15099 (legacy_commands): Add bootp and dhcp.
15100 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
15101 (grub_legacy_parse): Likewise.
15102 * grub-core/lib/priority_queue.c: New file.
15103 * grub-core/net/arp.c: Add missing license header.
15104 (arp_find_entry): Removed.
15105 (arp_find_entry): Likewise.
15106 (grub_net_arp_resolve): Rename to ...
15107 (grub_net_arp_send_request): ...this.
15108 (grub_net_arp_receive): New card argument.
15109 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
15110 Set router and DNS server.
15111 (grub_net_configure_by_dhcp_ack): Handle routing information.
15112 (grub_cmd_bootp): Set checksum.
15113 (grub_bootp_init): Remove net_dhcp.
15114 * grub-core/net/dns.c: New file.
15115 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
15116 completion.
15117 (get_card_packet): Handle allocation.
15118 (grub_efinet_findcards): Set mtu.
15119 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
15120 (get_card_packet): Handle allocation.
15121 (emucard): Set mtu.
15122 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
15123 (GRUB_MOD_INIT): Set mtu.
15124 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
15125 mtu.
15126 (get_card_packet): Handle allocation.
15127 (grub_ofnet_findcards): Set mtu.
15128 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
15129 assert.
15130 (grub_net_recv_ethernet_packet): Handle IPv6.
15131 * grub-core/net/http.c: New file.
15132 * grub-core/net/icmp.c: Likewise.
15133 * grub-core/net/icmp6.c: Likewise.
15134 * grub-core/net/ip.c (ip6addr): New type.
15135 (ip6hdr): Likewise.
15136 (reassemble): Likewise.
15137 (cmp): New function.
15138 (reassembles): New variable.
15139 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
15140 (id): New variable.
15141 (send_fragmented): New function.
15142 (grub_net_send_ip_packet): Rename to ...
15143 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
15144 Handle non-UDP.
15145 (grub_net_recv_ip_packets): Rename to ...
15146 (handle_dgram): ... this. Check checksum. Handle non-UDP.
15147 (free_rsm): New function.
15148 (free_old_fragments): Likewise.
15149 (grub_net_recv_ip4_packets): New function.
15150 (grub_net_send_ip6_packet): Likewise.
15151 (grub_net_send_ip_packet): Likewise.
15152 (grub_net_recv_ip6_packets): Likewise.
15153 (grub_net_recv_ip_packets): Likewise.
15154 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
15155 (LINK_LAYER_CACHE_SIZE): New const.
15156 (link_layer_find_entry): New function.
15157 (grub_net_link_layer_add_address): Likewise.
15158 (grub_net_link_layer_resolve_check): Likewise.
15159 (grub_net_link_layer_resolve): Likewise.
15160 (grub_net_ipv6_get_slaac): Likewise.
15161 (grub_net_ipv6_get_link_local): Likewise.
15162 (grub_cmd_ipv6_autoconf): Likewise.
15163 (parse_ip): Handle one number representation.
15164 (parse_ip6): New functoion.
15165 (match_net): Handle IPv6.
15166 (grub_net_resolve_address): Handle IPv6 and DNS.
15167 (grub_net_resolve_net_address): Handle IPv6.
15168 (route_cmp): New function.
15169 (grub_net_route_address): Find best route.
15170 (grub_net_addr_to_str): Handle IPv6.
15171 (grub_net_addr_cmp): New function.
15172 (grub_net_add_addr): Register local route.
15173 (print_net_address): Handle net address.
15174 (grub_net_poll_cards): Retransmit TCP.
15175 (grub_net_poll_cards_idle_real): Likewise.
15176 (have_ahead): New function.
15177 (grub_net_seek_real): Use underlying seek.
15178 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
15179 * grub-core/net/tcp.c: New file.
15180 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
15181 (cmp): New function.
15182 (ack): Likewise.
15183 (tftp_receive): Handle unordered input.
15184 (destroy_pq): New function.
15185 (tftp_close): Close pq.
15186 * grub-core/net/udp.c: Put missing license header.
15187 (grub_net_udp_socket): New function.
15188 (udp_socket_register): Likewise.
15189 (grub_net_udp_close): Likewise.
15190 (grub_net_recv_udp_packet): Check checksum.
15191 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
15192 * include/grub/misc.h (grub_memchr): New function.
15193 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
15194 (grub_net_card_driver): Return buf in recv.
15195 (grub_net_slaac_mac_list): New struct.
15196 (grub_network_level_protocol_id): Add ipv6.
15197 (grub_net_network_level_addr): Likewise.
15198 (grub_net_network_level_net_addr): Likewise.
15199 (grub_net_app_protocol): Add seek.
15200 (grub_net_socket): Removed.
15201 (grub_net_sockets): Likewise.
15202 (grub_net_socket_register): Likewise.
15203 (grub_net_socket_unregister): Likewise.
15204 (FOR_NET_SOCKETS): Likewise.
15205 (grub_net_add_addr): Add const.
15206 (GRUB_NET_BOOTP_*): New enum.
15207 (grub_net_addr_cmp): New proto.
15208 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
15209 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
15210 (grub_net_hwaddr_to_str): NEw proto.
15211 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
15212 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
15213 (grub_dns_init): New proto.
15214 (grub_dns_fini): Likewise.
15215 (grub_net_tcp_retransmit): Likewise.
15216 (grub_net_link_layer_add_address): Likewise.
15217 (grub_net_link_layer_resolve_check): Likewise.
15218 (grub_net_link_layer_resolve): Likewise.
15219 (grub_net_dns_lookup): Likewise.
15220 (grub_net_add_dns_server): Likewise.
15221 (grub_net_remove_dns_server): Likewise.
15222 (GRUB_NET_TRIES): New const.
15223 (GRUB_NET_INTERVAL): Likewise.
15224 * include/grub/net/arp.h: Mostly rewritten.
15225 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
15226 * include/grub/net/ip.h: Mostly rewritten.
15227 * include/grub/net/netbuff.h: Indent.
15228 * include/grub/net/tcp.h: New file.
15229 * include/grub/net/udp.h: Mostly rewritten.
15230 * include/grub/priority_queue.h: New file.
15231 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
15232 (grub_swap_bytes64_compile_time): Likewise.
15233 (grub_cpu_to_be16_compile_time): Likewise.
15234 (grub_cpu_to_be32_compile_time): Likewise.
15235 (grub_cpu_to_be64_compile_time): Likewise.
15236 (grub_be_to_cpu64_compile_time): Likewise.
15237
215c1800
VS
152382011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15239
15240 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
15241 UINT_TO_PTR with cast.
15242
c17e546c
VS
152432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15244
15245 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
15246 don't use them.
15247
ff6b18b6
VS
152482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
15251 already there.
15252
70ffcc93
VS
152532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15254
15255 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
15256 confusing ipxe.
15257
e5f4d260
VS
152582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15259
15260 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
15261 Add missing const attribute.
15262 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
15263 Likewise.
15264 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
15265 Likewise.
15266
8e54b4b7
VS
152672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
15270 misaligned access.
15271 (serpent_setkey): Likewise.
15272 (serpent_encrypt_internal): Likewise.
15273 (serpent_decrypt_internal): Likewise.
15274 (serpent_encrypt): Don't put an alignment-increasing cast.
15275 (serpent_decrypt): Likewise.
15276 (serpent_test): Likewise.
15277
813c0a2b
VS
152782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
15281
f2b60fbd
VS
152822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15283
15284 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
15285
15286 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
15287 grub_addr_t casts.
15288 (PTR_TO_UINT64): Likewise.
15289 (PTR_TO_UINT32): Likewise.
15290
5ef5c511
VS
152912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15292
15293 * util/grub-mkimage.c (generate_image): Decrease the higher limit
15294 because of stack.
15295 * util/grub-setup.c (setup): Don't add redundancy past the higher load
15296 limit.
15297
c476e6df
VS
152982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15299
15300 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
15301 text_width > available width a bit more gracefully.
15302
384ad7cc
VS
153032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15304
15305 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
15306 current address calculation.
15307
96f8caf8
VS
153082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15309
15310 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
15311 stack.
15312 (encode_block): Likewise.
15313
276b7a8b
VS
153142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15315
15316 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
15317 certainety.
15318
e3fd394a
VS
153192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15320
15321 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
15322 non-RS part to avoid RS messing with GDT.
15323 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
15324 Increase to suit in realmode routines.
15325
153262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 * grub-core/kern/i386/realmode.S: Increase alignment.
15329 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
15330
ee9c2e7a
VS
153312011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
15334 be deterministic.
15335 (syndroms): Compute 0 syndrom.
15336 (rs_recover): Use 0 syndrom.
15337
7a7f7cc9
VS
153382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15339
15340 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
15341
a14b16d1
VS
153422011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15343
15344 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
15345 brackets.
15346
9f59e9fc
VS
153472011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15348
ca1b552c
VS
15349 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
15350 account.
15351 (get_top_pad): Likewise.
15352 (get_right_pad): Likewise.
15353 (get_bottom_pad): Likewise.
15354
153552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15356
15357 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 15358
e739d698
VS
153592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15360
15361 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
15362 attribute as the structure isn't guaranteed to be properly aligned.
15363 (grub_efi_pci_device_path): Likewise.
15364 (grub_efi_pccard_device_path): Likewise.
15365 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
15366 specify the size of `memory_type'.
15367 (grub_efi_vendor_device_path): Likewise.
15368 (grub_efi_controller_device_path): Likewise.
15369 (grub_efi_acpi_device_path): Likewise.
15370 (grub_efi_expanded_acpi_device_path): Likewise.
15371 (grub_efi_atapi_device_path): Likewise.
15372 (grub_efi_scsi_device_path): Likewise.
15373 (grub_efi_fibre_channel_device_path): Likewise.
15374 (grub_efi_1394_device_path): Likewise.
15375 (grub_efi_usb_device_path): Likewise.
15376 (grub_efi_usb_class_device_path): Likewise.
15377 (grub_efi_i2o_device_path): Likewise.
15378 (grub_efi_mac_address_device_path): Likewise.
15379 (grub_efi_ipv4_device_path): Likewise.
15380 (grub_efi_ipv6_device_path): Likewise.
15381 (grub_efi_infiniband_device_path): Likewise.
15382 (grub_efi_uart_device_path): Likewise.
15383 (grub_efi_vendor_messaging_device_path): Likewise.
15384 (grub_efi_hard_drive_device_path): Likewise.
15385 (grub_efi_cdrom_device_path): Likewise.
15386 (grub_efi_vendor_media_device_path): Likewise.
15387 (grub_efi_file_path_device_path): Likewise.
15388 (grub_efi_protocol_device_path): Likewise.
15389 (grub_efi_piwg_device_path): Likewise.
15390 (grub_efi_bios_device_path): Likewise.
15391
cb8f88ea
VS
153922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15393
15394 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
15395 (grub_ucs4_to_utf8_alloc): Likewise.
15396 (grub_ucs4_to_utf8): Likewise.
15397 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
15398 (grub_ucs4_to_utf8_alloc): Likewise.
15399
309e5352
VS
154002011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 AFFS never uses unicode.
15403
15404 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
15405 (grub_latin1_to_utf8): New inline function.
15406 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
15407
e7987e1b
VS
154082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15409
15410 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
15411 overflow.
15412
efc2616e
VS
154132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15414
15415 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
15416 (grub_squash_dirent_header): Likewise.
15417 (read_chunk): Don't double swap.
15418 (grub_squash_iterate_dir): Fix swap sizes.
15419
3c349f5a
VS
154202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
15423
b453412d
VS
154242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15425
15426 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
15427 (grub_hfs_iterate_dir): Likewise.
15428
12e9d4d1
VS
154292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15430
15431 Fix video on platforms where unaligned access is forbidden.
15432 Make several optimisations while on it.
15433
15434 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
15435 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15436 (grub_video_fbblit_replace_32bit_1bit): Likewise.
15437 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15438 Disable.
15439 (grub_video_fbblit_replace_16bit_1bit):
15440 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15441 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15442 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
15443 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
15444 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15445 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15446 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
15447 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
15448 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
15449 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
15450 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
15451 (grub_video_fbblit_replace_index_RGB888): Likewise.
15452 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
15453 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
15454 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
15455 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
15456 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
15457 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15458 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15459 Disable.
15460 (grub_video_fbblit_blend_XXX565_1bit):
15461 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15462 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
15463 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
15464 void *.
15465 * grub-core/video/fb/video_fb.c (common_blitter)
15466 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
15467 (grub_video_fb_create_render_target_from_pointer)
15468 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
15469 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
15470 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
15471 definition.
15472 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
15473
ace96609
VS
154742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15475
15476 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
15477 HH22 and HM10 relocations.
15478
fd261d73
VS
154792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15480
15481 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
15482
e59b7857
VS
154832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15484
15485 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
15486 allocation succeeded.
15487
9b4baaa4
VS
154882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15489
15490 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
15491 argument a u8 pointer. All users updated.
15492 Handle unaligned buffers.
15493
dc713193
VS
154942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15495
15496 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
15497 add_part to workaround compiler bug.
15498
30dd48c2
VS
154992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15500
15501 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
15502
0c6087a8
VS
155032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15504
15505 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
15506 Reserve alignment invariants.
15507 (grub_multiboot_load): Likewise.
15508 (retrieve_video_parameters): Likewise.
15509 (grub_multiboot_make_mbi): Likewise.
15510
c2e77777
VS
155112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
15514 incorrect pointer.
15515
b70b6d11
VS
155162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15517
15518 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
15519 (grub_pata_pio_write): Likewise.
15520
02a2bf83
VS
155212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 Add noreturn attributes and remove unreachable code.
15524
15525 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
15526 code.
15527 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
15528 code. Mark as noreturn.
15529 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
15530 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
15531 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
15532 unreachable code.
15533 * grub-core/kern/main.c (grub_main): Mark as noreturn.
15534 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
15535 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
15536 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
15537 * include/grub/kernel.h (grub_main): Mark as noreturn.
15538 * include/grub/reader.h (grub_rescue_run): Likewise.
15539
2019d09e
VS
155402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
15543 redundant declaration.
15544
d1c501ee
VS
155452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15546
15547 * include/grub/net.h (grub_net_network_level_interfaces): Remove
15548 redundant declaration.
15549 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
15550
61664420
VS
155512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
15554 to ensure alignment.
15555 (grub_hdparm_print_identify): Make argument uint16 * to ensure
15556 alignment. Ensure tmp alignment.
15557 (grub_cmd_hdparm): Ensure buf alignment.
15558 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
15559 to ensure alignment.
15560 (grub_ata_dumpinfo): Ensure text alignment.
15561 (grub_atapi_identify): Preserve alignment invariant.
15562 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
15563
0d51ee20
VS
155642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15565
15566 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
15567 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
15568 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
15569 * include/grub/misc.h (grub_reboot)
15570 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
15571 (grub_halt) [__mips__]: Likewise.
15572
753ef8c1
VS
155732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15574
15575 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
15576 Remove redundant declaration.
15577 (grub_mmap_get_post64): Likewise.
15578 (grub_mmap_get_upper): Likewise.
15579 (grub_mmap_get_lower): Likewise.
15580
85c85365
VS
155812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15582
15583 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
15584 uint32_t * to ensure alignment.
15585 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
15586
a23f2cc4
VS
155872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15588
93018f64
VS
15589 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
15590 uint16_t * to ensure alignment.
15591 (sun_pc_partition_map_iterate): Make `block' a union to ensure
15592 alignment.
15593
155942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15595
15596 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
15597 to ensure alignment.
15598 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
15599
58acccd6
VS
156002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 * grub-core/fs/ntfs.c (u16at): Make into inline function.
15603 Handle unaligned pointers.
15604 (u32at): Likewise.
15605 (u64at): Likewise.
15606 (fixup): Use byte access instead of v16at.
15607 (find_attr): Fix imporper usage of v32at.
15608 (read_data): Likewise.
15609 (list_file): Handle byte-swapping and unaligned strings.
15610 (grub_ntfs_label): Likewise.
15611
9b05cad7
VS
156122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15613
15614 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
15615 as it's not necessarily aligned.
15616
b3950b84
VS
156172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15618
15619 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
15620 redundant declaration.
15621 (grub_serial_init): Likewise.
15622 (grub_terminfo_init): Likewise.
15623
fcd232b7
VS
156242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15625
15626 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
15627 function.
15628 (ZAP_HASH_IDX): Likewise.
15629 (ZAP_LEAF_HASH_SHIFT): Likewise.
15630 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
15631 (LEAF_HASH): Likewise.
15632 (ZAP_LEAF_NUMCHUNKS): Likewise.
15633 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
15634 alignment invariants. Return pointer. All users updated.
15635 (ZAP_LEAF_ENTRY): Make into inline function.
15636 (NBBY): Removed.
15637 (xor): LIkewise.
15638 (xor_out): Use grub_crypto_xor.
15639 (dnode_get_path): Use grub_get_unaligned.
15640 (nvlist_find_value): Likewise.
15641 (grub_zfs_nvlist_lookup_uint64): Likewise.
15642 (grub_zfs_nvlist_lookup_string): Likewise.
15643 (get_nvlist_size): Likewise.
15644 (grub_zfs_open): Likewise.
15645 (fill_fs_info): Likewise.
15646 (grub_zfs_dir): Likewise.
15647 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
15648 alignment invariants.
15649 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
15650 necessarily aligned.
15651
f138623a
VS
156522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15653
15654 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
15655
564840dc
VS
156562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
15659 arithmetic to conserve alignment invariants.
15660
9b40df20
VS
156612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
15664 redundant declaration.
15665 (grub_efiemu_mm_obtain_request): Likewise.
15666 (grub_efiemu_prepare): Likewise.
15667
d1c930f9
VS
156682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15669
15670 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
15671 to match types.
15672
4c5f3056
VS
156732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15674
15675 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
15676 case of aunaligned recptr.
15677 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
15678 alignment.
15679 (grub_hfsplus_btree_search): Handle unaligned index.
15680
728cba91
VS
156812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15682
15683 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
15684 to get freetag and skip.
15685
eb561f31
VS
156862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
15689 array.
15690 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
15691 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
15692
20993fbb
VS
156932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15694
15695 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
15696 name for checksum and fix allocation algorithm.
15697
1f313b94
VS
156982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 * include/grub/types.h (grub_properly_aligned_t): New type.
15701 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
15702 (grub_get_unaligned16): Add explicit casts.
15703 (grub_get_unaligned32): Likewise.
15704 (grub_get_unaligned64): Likewise.
15705 (grub_set_unaligned16): New function.
15706 (grub_set_unaligned32): Likewise.
15707
47ae27ec
VS
157082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15711
78c2cd1c
VS
157122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15713
15714 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
15715 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
15716 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
15717
53072f9b
VS
157182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15719
15720 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
15721 conditionals.
15722
055dc239
VS
157232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
15726 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
15727
496bd074
VS
157282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 Unify and improve RAID and crypto xor.
15731
15732 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
15733 changed to grub_crypto_xor
15734 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
15735 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
15736 Use bigger types when possible.
15737
ef6e4335
VS
157382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15739
15740 * grub-core/disk/raid.c (scan_devices): Fix condition.
15741
5d048bf2
VS
157422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15743
15744 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
15745 Make name a const ptr.
15746
ee533335
VS
157472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
15750 first argument a const pointer.
15751 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15752 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
15753 proto.
15754 (grub_children_iterate): Likewise.
15755 (grub_machine_mmap_iterate): Remove redundant declaration.
15756
cc8f3668
VS
157572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15758
15759 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
15760 (grub_cmd_acpi) [!x86]: Disable EBDA.
15761
c5fc563a
VS
157622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15763
15764 Enable UTF8 in gnulib regexp.
15765
15766 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
15767 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
15768 (isupper): Use grub_isupper.
15769 (isascii): New inline function.
15770 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
15771 * grub-core/lib/posix_wrap/wctype.h: Likewise.
15772 * grub-core/normal/charset.c (grub_utf8_process): New function.
15773 (grub_utf8_to_utf16): Use grub_utf8_process.
15774 (grub_encode_utf8_character): New function.
15775 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
15776 * include/grub/charset.h (grub_utf8_process): New declaration.
15777 (grub_encode_utf8_character): Likewise.
15778 * include/grub/misc.h (grub_islower): New inline function.
15779 (grub_isupper): Likewise.
15780 (grub_strchrsub): Moved down to fix the definitions.
15781
0af2346f
VS
157822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
15785 specification.
15786
74dbd244
VS
157872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15788
15789 * include/grub/loader.h (grub_loader_register_preboot_hook):
15790 Use struct preboot * and not void * for handle. All users updated.
15791 (grub_loader_unregister_preboot_hook): Likewise.
15792
1bc8f60d
VS
157932011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15794
15795 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
15796 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
15797 UTF-16-BE. All users updated.
15798 (grub_hfsplus_cmp_catkey): Fix unicode handling.
15799 (grub_hfsplus_iterate_dir): Likewise.
15800 (grub_hfsplus_label): Likewise.
15801
48d6e456
VS
158022011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15803
15804 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
15805
bf3a3857
VS
158062011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
15807
15808 Add missing const qualifiers.
15809
15810 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
15811 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
15812 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
15813 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
15814 (grub_lvm_check_flag): Likewise.
15815 * grub-core/efiemu/i386/coredetect.c
15816 (grub_efiemu_get_default_core_name): Likewise
15817 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
15818 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
15819 * grub-core/fs/ntfs.c (fixup): Likewise.
15820 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
15821 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
15822 (fzap_lookup): Likewise.
15823 (zap_lookup): Likewise.
15824 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
15825 * grub-core/lib/legacy_parse.c (check_option): Likewise.
15826 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
15827 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
15828 (grub_freebsd_add_meta_module): Likewise.
15829 (grub_cmd_freebsd_module): Likewise.
15830 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
15831 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
15832 (grub_xnu_writetree_get_size): Likewise.
15833 (grub_xnu_writetree_toheap_real): Likewise.
15834 (grub_xnu_find_key): Likewise.
15835 (grub_xnu_create_key): Likewise.
15836 (grub_xnu_create_value): Likewise.
15837 (grub_xnu_register_memory): Likewise.
15838 (grub_xnu_check_os_bundle_required): Likewise.
15839 (grub_xnu_scan_dir_for_kexts): Likewise.
15840 (grub_xnu_load_kext_from_dir): Likewise.
15841 * grub-core/normal/color.c (color_list): Likewise.
15842 * grub-core/normal/completion.c (current_word): Likewise.
15843 * grub-core/normal/menu_entry.c (insert_string): Likewise.
15844 * grub-core/term/serial.c (grub_serial_find): Likewise.
15845 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
15846 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
15847 Likewise.
15848 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
15849 (grub_freebsd_add_meta_module): Likewise.
15850 * include/grub/lib/arg.h (grub_arg_option): Likewise.
15851 * include/grub/net.h (grub_net_card_driver): Likewise.
15852 (grub_net_card): Likewise.
15853 (grub_net_app_protocol): Likewise.
15854 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
15855 * include/grub/serial.h (grub_serial_find): Likewise.
15856 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
15857 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
15858 (grub_xnu_create_value): Likewise.
15859 (grub_xnu_find_key): Likewise.
15860 (grub_xnu_scan_dir_for_kexts): Likewise.
15861 (grub_xnu_load_kext_from_dir): Likewise.
15862
15863 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
15864 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
15865 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
15866 Moved from here ...
15867 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
15868
112b4837
CW
158692011-11-28 Colin Watson <cjwatson@ubuntu.com>
15870
15871 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
15872
49e891ac
VS
158732011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
15876 (read_device): Fix size calculation.
15877
fd258e5c
RM
158782011-11-25 Robert Millan <rmh@gnu.org>
15879
15880 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
15881 (find_root_device_from_libzfs): Add zpool output parser to be used
15882 as fallback when libzfs isn't available.
15883
78845dc2
SG
158842011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
15885
15886 * po/Makefile.in.in: Add missing escape-continuation.
15887
adac5211
VS
158882011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
15891
10b64f1c
VS
158922011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
15895
bb416954
VS
158962011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
15899
bdfe9eeb
VS
159002011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15901
15902 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
15903
581ffa8a
VS
159042011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15905
15906 * grub-core/lib/adler32.c: Add missing license specification.
15907 * grub-core/lib/crc64.c: Likewise.
15908 * grub-core/loader/i386/pc/plan9.c: Likewise.
15909 * grub-core/partmap/plan.c: Likewise.
15910
2536cf64
LK
159112011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
15912
15913 Add facility to debug GRUB with gdb under qemu.
15914
15915 * grub-core/gdb_grub.in: New file.
15916 * grub-core/gmodule.pl.in: Likewise.
15917 * grub-core/Makefile.core.def (gmodule.pl): New script.
15918 (gdb_grub): Likewise.
15919
bc108a4a
VS
159202011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15921
15922 * util/grub-mount.c (argp_parser): Accept relative pathes.
15923 * util/grub-fstest.c (argp_parser): Likewise.
15924
111c1778
VS
159252011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15926
15927 Plan9 support.
15928
15929 * Makefile.util.def (libgrubmods): Add
15930 grub-core/partmap/plan.c.
15931 * docs/grub.texi: Notice Plan9 support.
15932 * grub-core/Makefile.core.def (plan9): New module.
15933 (part_plan): Likewise.
15934 * grub-core/loader/i386/pc/plan9.c: New file.
15935 * grub-core/partmap/plan.c: Likewise.
15936 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
15937 define.
15938 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
15939 * include/grub/mm.h (grub_extend_alloc): New inline function.
15940
c30be3b6
VS
159412011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15942
15943 Make Reed-Solomon faster by using power of generator representation of
15944 GF(256)*.
15945
15946 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
15947 (gf_double_t): Likewise.
15948 (gf_invert): Removed.
15949 (gf_powx): New array.
15950 (gf_powx_inv): Likewise.
15951 (scratch): Move higher.
15952 (gf_reduce): Removed.
15953 (gf_mul): Use powx.
15954 (gf_invert): Likewise.
15955 (init_inverts): Replaced with ...
15956 (init_powx): ...this. All users updated.
15957 (pol_evaluate): Replace multiplications with additions.
15958 (rs_encode): Likewise.
15959 (gauss_eliminate): Call gf_invert.
15960 (grub_reed_solomon_add_redundancy): Call init_powx.
15961 (grub_reed_solomon_recover): Call init_powx unconditionally.
15962
fa5aeffc
VS
159632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15964
15965 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
15966
a346b81c
VS
159672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15968
15969 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
15970 disk->partiton for safety.
15971
d89ee414
VS
159722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
15975 Fix a memory leak.
15976 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
15977
91ee7b6d
VS
159782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15979
15980 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
15981
91e5a33d
VS
159822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
15985
9edd7be2
VS
159862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15987
15988 Fix spaces handling in proc/self/mountinfo.
15989
15990 * util/getroot.c (unescape): New function.
15991 (grub_find_root_device_from_mountinfo): Use unescape.
15992
ba102053
VS
159932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 Support ZFS embedding.
15996
15997 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
15998 (grub_zfs_fs): Register grub_zfs_embed.
15999
aa94b870
VS
160002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16001
16002 Fix MIPS compilation.
16003
16004 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
16005 * include/grub/offsets.h: Rename decompressor fields from
16006 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
16007 * util/grub-mkimage.c (image_targets): Use new names.
16008
5fbdac14
VS
160092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16010
16011 Defer multiboot device parsing until we're in compressed part.
16012
16013 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
16014 bsd_part. setdevice has fallen into disuse.
16015 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
16016 (bsd_part): Likewise.
16017 (boot_dev): New variable.
16018 (multiboot_trampoline): Don't parse multiboot device.
16019 Pass multiboot device in %edx.
16020 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
16021 grub_boot_device.
16022 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
16023 Likewise.
16024 * grub-core/kern/i386/pc/startup.S: Save edx.
16025 (grub_boot_drive): Removed.
16026 (grub_install_dos_part): Likewise.
16027 (grub_install_bsd_part): Likewise.
16028 (grub_boot_device): New variable.
16029 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
16030 (grub_install_bsd_part): Likewise.
16031 (grub_boot_drive): Likewise.
16032 (grub_boot_device): New variable.
16033 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
16034 Removed.
16035 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16036 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
16037 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
16038 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
16039 * util/grub-install.in: Remove redundant condition.
16040
691cbb58
VS
160412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16042
16043 Fix bug introduced by previous commit.
16044
16045 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
16046
60240b8b
VS
160472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 Use decompressors framework on i386-pc. It increases core size
16050 by 46 bytes but improves compatibility and maintainability.
16051
16052 * grub-core/Makefile.core.def (lzma_decompress): New image.
16053 (kernel): Add i386_pc_ldflags.
16054 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
16055 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
16056 to real_to_prot, prot_to_real and device info.
16057 * include/grub/offsets.h: Renamed decompressor offsets.
16058 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
16059 (image_target_desc): Remove raw_size and rename decompressor fields.
16060 (compress_kernel): Handle lzma.
16061 (generate_image): Handle decompressors on i386-pc.
16062
e9d3421c
VS
160632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16064
16065 * configure.ac: Add -fno-asynchronous-unwind-tables.
16066
2b23074a
VS
160672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16068
16069 Move assembly code to C by using intwrap. It increases core size
16070 by 88 bytes but improves compatibility and maintainability.
16071
16072 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
16073 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
16074 ... here. Translated to C.
16075 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
16076 * grub-core/term/i386/pc/console.c (grub_console_getkey):
16077 ... here. Translated to C.
16078 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
16079 * grub-core/term/i386/pc/console.c (grub_console_getxy):
16080 ... here. Translated to C.
16081 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
16082 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
16083 ... here. Translated to C.
16084 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
16085 * grub-core/term/i386/pc/console.c (grub_console_cls):
16086 ... here. Translated to C.
16087 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
16088 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
16089 ... here. Translated to C.
16090 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
16091 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
16092 Translated to C.
16093 * grub-core/term/i386/pc/console.c (int10_9): New function.
16094 (grub_console_putchar): Likewise.
16095 * include/grub/i386/pc/console.h: Removed the not anymore shared
16096 functions.
16097
678f4b67
VS
160982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16099
16100 Move grub_chainloader_real_boot out of the kernel.
16101
16102 * grub-core/Makefile.am: Remove machine/loader.h.
16103 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16104 Removed.
16105 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
16106 variable.
16107 (grub_relocator16_keep_a20_enabled): Likewise.
16108 (grub_relocator16_boot): Fill new variables.
16109 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
16110 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
16111 relocator.
16112 (grub_chainloader_unload): Likewise.
16113 (grub_chainloader_cmd): Likewise.
16114 * include/grub/i386/pc/loader.h: Removed.
16115 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
16116 and esi. All initialisers updated.
16117
4626edf6
VS
161182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
161192011-11-12 Colin Watson <cjwatson@ubuntu.com>
16120
16121 * Makefile.util.def (grub-mount): New util.
16122 * .bzrignore: Add grub-mount.
16123 * configure.ac: Check for fuse and enable grub-mount if available.
16124 * docs/man/grub-mount.h2m: New file.
16125 * util/grub-mount.c: Likewise.
16126
10f0117b
VS
161272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16128
16129 * grub-core/commands/efi/fixvideo.c: Gettextize.
16130 * grub-core/commands/hashsum.c: Likewise.
16131 * grub-core/commands/i386/cmostest.c: Likewise.
16132 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16133 * grub-core/commands/i386/pc/lsapm.c: Likewise.
16134 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16135 * grub-core/commands/lsmmap.c: Likewise.
16136 * grub-core/commands/menuentry.c: Likewise.
16137 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
16138 * grub-core/commands/setpci.c: Likewise.
16139 * grub-core/loader/i386/bsd.c: Likewise.
16140 * grub-core/loader/i386/linux.c: Likewise.
16141 * util/getroot.c: Likewise.
16142 * util/grub-editenv.c: Likewise.
16143 * util/grub-fstest.c: Likewise.
16144 * util/grub-mkfont.c: Likewise.
16145 * util/grub-mkimage.c: Likewise.
16146 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16147 * util/grub-pe2elf.c: Likewise.
16148 * util/grub-probe.c: Likewise.
16149 * util/grub-setup.c: Likewise.
16150 * util/ieee1275/ofpath.c: Likewise.
16151 * util/misc.c: Likewise.
16152 * util/raid.c: Likewise.
16153
566f779b
RM
161542011-11-11 Robert Millan <rmh@gnu.org>
16155
16156 * util/getroot.c (grub_util_get_geom_abstraction): Remove
16157 __attribute__((unused)) from `os_dev', which *is* being used.
16158
b50787de
VS
161592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
16162 forgotten define.
16163 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
16164 GRUB_IA64_DL_GOT_ALIGN.
16165 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
16166 GRUB_IA64_DL_TRAMP_ALIGN.
16167
119d11c8
VS
161682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 Replace grub_fatal with normal errors in i386 linux loader.
16171
16172 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
16173 (allocate_pages): Check find_efi_mmap_size return value.
16174 (grub_e820_add_region): Return error.
16175 (grub_linux_boot): Check mmap return value.
16176
6e0632e2
VS
161772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 * grub-core/commands/acpihalt.c: Gettextized.
16180 * grub-core/commands/cacheinfo.c: Likewise.
16181 * grub-core/commands/cmp.c: Likewise.
16182 * grub-core/commands/efi/loadbios.c: Likewise.
16183 * grub-core/commands/gptsync.c: Likewise.
16184 * grub-core/commands/ieee1275/suspend.c: Likewise.
16185 * grub-core/commands/legacycfg.c: Likewise.
16186 * grub-core/commands/memrw.c: Likewise.
16187 * grub-core/commands/minicmd.c: Likewise.
16188 * grub-core/commands/parttool.c: Likewise.
16189 * grub-core/commands/time.c: Likewise.
16190 * grub-core/commands/videoinfo.c: Likewise.
16191 * grub-core/disk/geli.c: Likewise.
16192 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
16193 * grub-core/disk/luks.c: Likewise.
16194 * grub-core/disk/lvm.c: Likewise.
16195 * grub-core/font/font_cmd.c: Likewise.
16196 * grub-core/fs/zfs/zfscrypt.c: Likewise.
16197 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16198 * grub-core/gfxmenu/view.c: Likewise.
16199 * grub-core/kern/emu/hostdisk.c: Likewise.
16200 * grub-core/kern/emu/main.c: Likewise.
16201 * grub-core/kern/emu/misc.c: Likewise.
16202 * grub-core/kern/emu/mm.c: Likewise.
16203 * grub-core/kern/mips/arc/init.c: Likewise.
16204 * grub-core/kern/mips/loongson/init.c: Likewise.
16205 * grub-core/kern/partition.c: Likewise.
16206 * grub-core/lib/i386/halt.c: Likewise.
16207 * grub-core/lib/mips/arc/reboot.c: Likewise.
16208 * grub-core/lib/mips/loongson/reboot.c: Likewise.
16209 * grub-core/loader/i386/pc/chainloader.c: Likewise.
16210 * grub-core/loader/i386/xnu.c: Likewise.
16211 * grub-core/loader/multiboot.c: Likewise.
16212 * grub-core/net/bootp.c: Likewise.
16213 * grub-core/net/net.c: Likewise.
16214 * grub-core/normal/term.c: Likewise.
16215 * grub-core/partmap/bsdlabel.c: Likewise.
16216 * grub-core/parttool/msdospart.c: Likewise.
16217 * grub-core/term/gfxterm.c: Likewise.
16218 * grub-core/term/terminfo.c: Likewise.
16219 * grub-core/video/i386/pc/vbe.c: Likewise.
16220 * util/grub-menulst2cfg.c: Likewise.
16221 * util/grub-mkdevicemap.c: Likewise.
16222 * util/grub-mklayout.c: Likewise.
16223 * util/grub-mkrelpath.c: Likewise.
16224 * util/grub-script-check.c: Likewise.
16225 * util/ieee1275/grub-ofpathname.c: Likewise.
16226 * util/resolve.c: Likewise.
16227
073aa7a9
VS
162282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16229
16230 Support %1$d syntax.
16231
16232 * tests/printf_unit_test.c: New file.
16233 * Makefile.util.def (printf_test): New test.
16234 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
16235
c76b5417
VS
162362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16237
16238 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
16239 fix.
16240
df067ad1
VS
162412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16242
16243 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
16244 dprintf.
16245 * grub-core/font/font.c (grub_font_load): Likewise.
16246
5b289bc5
VS
162472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * util/grub-macho2img.c: Add comment concerning gettext.
16250 * grub-core/lib/legacy_parse.c: Likewise.
16251
c1860f87
VS
162522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
16255 (grub_xvasprintf): Likewise.
16256
d35d0d37
VS
162572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16258
16259 Add const keyword to grub_env_get and gettextize week days.
16260
16261 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
16262 (grub_read_hook_datetime): Return const char *.
16263 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
16264 updated.
16265 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16266 Mark for gettext.
16267 (grub_get_weekday_name): Return const char *. Call gettext.
16268 * grub-core/script/argv.c (grub_script_argv_append): Receive const
16269 char * and len as the argument. All users updated.
16270 (grub_script_argv_split_append): Receive const char *.
16271 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
16272 * include/grub/env.h (grub_env_get): Likewise.
16273 (grub_env_read_hook_t): Return const char *.
16274 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
16275 (grub_script_argv_split_append): Likewise.
16276
9aed8a71
VS
162772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16278
16279 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
16280
067fdf00
VS
162812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16282
16283 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
16284 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
16285
a8bd9d39
VS
162862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
16289 Fix prototype.
16290
f7ce5baf
VS
162912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16292
16293 Fix mips compilation.
16294
16295 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
16296 normal decoder.
16297 (hashes): Use in embed decoder as well (for sizes).
16298 (dec_stream_header): Fix embed decompressor logic.
16299 (dec_stream_footer): Likewise.
16300
9bb182f3
VS
163012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16302
16303 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
16304 an error and not a fatal on unrecognised relocation types.
16305
63a9e6f6
VS
163062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16307
16308 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16309 Issue error rather than printf on unknown arguments.
16310
4c458569
VS
163112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16312
16313 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
16314 Make buf a const.
16315
e2d22baf
VS
163162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16317
16318 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
16319 Fix module name.
16320
53dc8590
VS
163212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
16324 leftover debug printf.
16325
6c189294
VS
163262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16327
16328 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
16329
f7688369
VS
163302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16331
16332 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
16333 A stylistic fix.
16334
11a775a3
VS
163352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16336
16337 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
16338
33f784e8
SL
163392011-11-10 Shea Levy <slevy@tieronedesign.com>
16340
16341 Allow all modules to perform serial IO
16342
16343 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
16344 * include/grub/serial.h (grub_serial_port_configure): New inline
16345 function.
16346 (grub_serial_port_fetch): Likewise.
16347 (grub_serial_port_put): Likewise.
16348 (grub_serial_port_fini): Likewise.
16349 (grub_serial_find): New proto.
16350
f6276525
VS
163512011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16352
16353 Put symlink at the end of the node and fix a potential
16354 memory corruption.
16355
16356 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
16357 Make symlink into an array.
16358 (set_rockridge): Set have_symlink and alloc_dirents.
16359 (grub_iso9660_read_symlink): Use new layout.
16360 (grub_iso9660_iterate_dir): Fix memory corruption.
16361 Use new layout.
16362 (grub_iso9660_dir): Set have_symlink.
16363 (grub_iso9660_open): Likewise.
16364
c3591189
VS
163652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 Remove local keyword.
16368
16369 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
16370 (version_test_gt): Likewise.
16371 (version_find_latest): Likewise.
16372 (gettext_printf): Likewise.
16373 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
16374
cb544caa
VS
163752011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16376
16377 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
16378
45bd824d
VS
163792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16380
16381 Fix ZFS memory and resource leaks.
16382
16383 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
16384 All users updated.
16385 Free type on exit.
16386 (fill_vdev_info): New parameter inserted. All users updated.
16387 (check_pool_label): Likewise.
16388 (scan_disk): Likewise.
16389 (scan_devices): Close non-inserted disks.
16390 (fzap_iterate): Free l.
16391 (unmount_device): Free children descripto memory.
16392
ad9a2f44
VS
163932011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16394
16395 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
16396 argument (access out of bounds).
16397
6b68db81
VS
163982011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16399
16400 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
16401 >= 6 drives.
16402
28840fda
VS
164032011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16404
16405 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
16406 Fix declaration.
16407
8a5a3a5b
VS
164082011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16409
16410 Fix several memory leaks.
16411
16412 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
16413 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
16414 (grub_cpio_dir): Likewise.
16415 * grub-core/fs/fat.c (grub_fat_label): Likewise.
16416 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
16417 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
16418 (grub_romfs_label): Likewise.
16419 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
16420 (squash_unmount): New function.
16421 (grub_squash_dir): Fix memory leak.
16422 (grub_squash_open): Likewise.
16423 (grub_squash_read): Likewise.
16424 (grub_squash_mtime): Likewise.
16425 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
16426 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
16427 * util/grub-fstest.c (fstest): Likewise.
16428
57b01250
VS
164292011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16430
16431 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
16432 avoid accessing beyond the array.
16433
19e81ba7
VS
164342011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
16437
52b656c0
VS
164382011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16439
16440 Several AFFS fixes.
16441
16442 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
16443 (GRUB_AFFS_FLAG_FFS): Removed.
16444 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
16445 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
16446 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
16447 (grub_fshelp_node): Make block 32-bit.
16448 Add block_cache and last_block_cache.
16449 (grub_affs_read_block): Fill and use block cache.
16450 (grub_affs_read_file): Removed.
16451 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
16452 boot block.
16453 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
16454 safety.
16455 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
16456 space.
16457 (grub_affs_close): Free block cache.
16458 (grub_affs_read): Use grub_fshelp_read_file directly.
16459
438a746a
VS
164602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16461
16462 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
16463 with no error set.
16464
49a45021
VS
164652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16466
16467 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
16468 used variable.
16469 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16470 Likewise.
16471
3ae17eb8
VS
164722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
16475
16476 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
16477 byteswap when needed.
16478
27610c38
VS
164792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16480
16481 Fix FreeBSD compilation.
16482
16483 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
16484 to avoid circular dependency.
16485 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
16486 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
16487 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
16488
4a19b601
VS
164892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 Fix ZFS crypto error types.
16492
16493 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
16494 (grub_gcm_decrypt): Likewise.
16495 (grub_zfs_load_key_real): Fix error code type. Handle possible error
16496 from PBKDF2.
16497
958ee221
VS
164982011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16499
16500 Illumos support.
16501
16502 * Makefile.util.def (10_illumos): New script.
16503 * configure.ac: Set COND_HOST_ILLUMOS.
16504 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
16505 Support Illumos calls.
16506 (find_partition_start) [__sun__]: Likewise.
16507 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
16508 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
16509 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
16510 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
16511 device.
16512 * util/grub-probe.c (probe) [__sun__]: Do character check.
16513 * util/grub.d/10_illumos.in: New file.
16514
cac14fb6
VS
165152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16516
16517 Support escaped commas in hostdisk.
16518
16519 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
16520 (find_grub_drive): Use unescape_cmp.
16521 (make_device_name): Escape commas.
16522
78e08dc3
VS
165232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16524
16525 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
16526
9f421dd1
VS
165272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16528
16529 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
16530 variable.
16531
ed64e9e2
VS
165322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16533
16534 Support trampoline jumps on powerpc.
16535
16536 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
16537 __ia64__ path.
16538 (grub_dl_load_segments): Set mod->sz.
16539 (grub_dl_flush_cache): Flush whole space occupied by module, not just
16540 segments.
16541 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
16542 (jump): Likewise.
16543 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
16544 function.
16545 (trampoline): New struct.
16546 (trampoline_template): New const.
16547 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
16548 * include/grub/dl.h (grub_dl): Add sz element.
16549 [__powerpc__]: Follow __ia64__.
16550 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
16551 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
16552 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
16553 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
16554
3084ede4
VS
165552011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 ZFS crypto support.
16558
16559 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
16560 * grub-core/Makefile.core.def (zfscrypt): New module.
16561 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
16562 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
16563 it. All users updated.
16564 (grub_zfs_decrypt): New var.
16565 (grub_zfs_load_key): Likewise.
16566 (zio_checksum_functions): Add SHA256+MAC.
16567 (zio_checksum_verify): Handle incomplete comparison due to MAC.
16568 (zio_read): Handle encrypted blocks.
16569 (zap_verify): Remove incorrect check.
16570 (fzap_iterate): Handle non-standard fzap.
16571 (zap_iterate): Likewise.
16572 (zap_iterate_u64): New function.
16573 (dnode_get_fullpath): Load keys.
16574 * grub-core/fs/zfs/zfscrypt.c: New file.
16575 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
16576 (grub_crypto_ecb_encrypt): Make input const.
16577 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
16578 (grub_crypto_ecb_encrypt): Make input const.
16579 (GRUB_CIPHER_AES): New macro.
16580 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
16581 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
16582 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
16583 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
16584 prefix. All users updated.
16585 (grub_zfs_add_key): New proto.
16586 (grub_zfs_decrypt): Likewise.
16587 (grub_zfs_load_key): Likewise.
16588 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
16589 * util/grub-fstest.c (options): Add -K option.
16590 (argp_parser): Likewise.
16591
b632b404
VS
165922011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16593
16594 Support zle compression on ZFS.
16595
16596 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
16597 (decomp_table): Add zle.
16598 * include/grub/zfs/zio.h (zio_compress): Add zle.
16599
c7ba4f69
VS
166002011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 Support BtrFS embedding.
16603
16604 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
16605 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
16606 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
16607 * util/grub-setup.c (setup): Use fs embedding if available.
16608 Add additional sanity check.
16609
455377d9
VS
166102011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16611
16612 * util/grub-install.in: Fix condition for config_opt.
16613
c2fd16ca
VS
166142011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16615
16616 Support third redundancy strip on raidz3.
16617
16618 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
16619 Return error on singularity. All users updated.
16620 (read_device): Don't stop on 3rd failure on raidz3.
16621
8622923b
VS
166222011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16623
16624 Support case-insensitive ZFS subvolumes.
16625
16626 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
16627 All users updated.
16628 (zap_hash): Likewise.
16629 (name_cmp): New function.
16630 (zap_leaf_array_equal): New parameter case_insensitive.
16631 All users updated.
16632 (zap_leaf_lookup): Likewise.
16633 (fzap_lookup): Likewise.
16634 (zap_lookup): Likewise.
16635 (dnode_get_path): New parameter case_insensitive. Retrieve case
16636 sensitiviness of a volume. All users updated.
16637 (dnode_get_fullpath): New parameter case_insensitive.
16638 All users updated.
16639 (grub_zfs_dir): Set info.case_insensitiveness.
16640
95f2e860
VS
166412011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16642
16643 Support second redundancy strip on raidz(2,3).
16644
16645 * grub-core/fs/zfs/zfs.c (powx): New array.
16646 (powx_inv): Likewise.
16647 (poly): New const.
16648 (xor_out): New function.
16649 (gf_mul): Likewise.
16650 (recovery): Likewise.
16651 (read_device): Use second redundancy strip.
16652
11ee4389
VS
166532011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16654
16655 Use a power of generator representation of GF(256) multiplication group
16656 to save space time and complexity.
16657
16658 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
16659 (raid6_table2): Likewise.
16660 (powx): New array.
16661 (powx_inv): Likewise.
16662 (poly): New const.
16663 (grub_raid_block_mul): Replace with ...
16664 (grub_raid_block_mulx): ...this.
16665 (grub_raid6_init_table): Rewritten.
16666 (grub_raid6_recover): Use power of generator representation.
16667
09e2763f
VS
166682011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16669
16670 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
16671 for the right device.
16672
8bec9a28
VS
166732011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16674
16675 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
16676 expected by grub-mkimage and it's more clear since there is no implicit
16677 padding.
16678
dbd3a32e
VS
166792011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
16682 disk.
16683 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16684
182c872a
PMH
166852011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
16686
16687 * util/grub-mkrescue.in: Fix handling xorriso option.
16688
1e51cabd
VS
166892011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16690
16691 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
16692 NULL.
16693
9cc3581d 166942011-11-03 crocket <crockabiscuit@gmail.com>
16695
16696 * util/grub.d/10_linux.in: Add Slackware initrd naming.
16697
158dc1ea
VS
166982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16699
16700 XZ CRC64 and SHA256 support.
16701
16702 * Makefile.util.def (libgrubmods): Add crc64.c.
16703 * grub-core/Makefile.core.def (crc64): New module.
16704 * grub-core/lib/crc64.c: New file.
16705 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
16706 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
16707 Fix the type.
16708 (MAX_HASH_SIZE): New define.
16709 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
16710 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
16711 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16712 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16713 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
16714 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
16715 Handle non-crc32 hashes.
16716 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
16717 (dec_stream_header): Handle non-crc32 hashes.
16718 (dec_stream_footer): Likewise.
16719 (dec_block_header): Likewise.
16720 (dec_main): Likewise.
16721 (xz_dec_init): Likewise.
16722 (xz_dec_reset): Likewise.
16723 (xz_dec_end): Likewise.
16724 * util/import_gcry.py: Add CRC64 line.
16725
9d9b3d2f
VS
167262011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16727
16728 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
16729 as well.
16730
7d0ac931
VS
167312011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16732
16733 Make reiserfs label retrieval similar to other *_label functions.
16734
16735 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
16736 (REISERFS_MAX_LABEL_LENGTH): Removed.
16737 (REISERFS_LABEL_OFFSET): Likewise.
16738 (grub_reiserfs_label): Rewritten.
16739
167402011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16741
16742 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
16743 field.
16744
cf5ba824
VS
167452011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16746
16747 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
16748
17744004
VS
167492011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16750
16751 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
16752 drive failure on both raidz and raidz2.
16753
aca5aefc
VS
167542011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 Fix RAIDZ(2) for >= 5 devices.
16757
16758 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
16759 asize argument. All users updated.
16760
ce8ca56e
VS
167612011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 Fix RAIDZ(2).
16764
16765 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
16766 (fill_vdev_info_real): Set ashift.
16767 (read_device): Rewrite RAIDZ part based on reverse engineering.
16768
7c01e783
VS
167692011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16770
16771 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
16772 don't report potentially unavialiable fields in debug output.
16773 (find_path): Fix double-free and memory leak.
16774
ce109e84
VS
167752011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16776
16777 Read label on UFS1.
16778
16779 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
16780 (grub_ufs_fs): Always set .label.
16781
87661123
VS
167822011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 Use shifts in UFS.
16785
16786 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
16787 (grub_ufs_data): New field log2_blksz.
16788 (grub_ufs_read_file): Use shifts.
16789 (grub_ufs_mount): Check block size and logarithm it.
16790
46bc1dc2
VS
167912011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16792
16793 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
16794 long symlinks.
16795
19ee2987
VS
167962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 Handle symlinks and long names on tar and cpio.
16799
16800 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
16801 (ATTR_FILE): Likewise.
16802 (ATTR_DIR): Likewise.
16803 (ATTR_LNK): Likewise.
16804 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
16805 (grub_cpio_find_file): Fill mode, handle linkname field as well as
16806 L and K entries.
16807 (grub_cpio_mount): Zero-fill data.
16808 (handle_symlink): New function.
46bc1dc2
VS
16809 (grub_cpio_dir): Handle symlinks.
16810 (grub_cpio_open): Likewise.
16811 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 16812
c83a08d8
VS
168132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16814
16815 Fix iso9660 filename limitations and fix memory leaks.
16816
16817 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
16818 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
16819
45cdd3ea
VS
168202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16821
16822 Fix JFS file name length limitations.
16823
16824 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
16825 (grub_jfs_diropen): Fix maximum filename length.
16826 (grub_jfs_getent): Fix filename length.
16827 (grub_jfs_lookup_symlink): Fix size checks.
16828
94ef05c2
VS
168292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16830
16831 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
16832 string.
16833
785ab8c7
VS
168342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16835
eb0b6b45
VS
16836 Leverage BFS implementation to read AFS.
16837
16838 * Makefile.util.def (libgrubmods): Add afs.c.
16839 * grub-core/Makefile.core.def (afs): New module
16840 * grub-core/fs/afs.c: New file.
16841 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
16842
168432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16844
16845 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 16846
c4a1628f
VS
168472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16848
16849 * grub-core/fs/bfs.c: Run indent.
16850
5825b379
VS
168512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16852
16853 BFS implementation based on the specification.
16854
16855 * grub-core/fs/bfs.c: New file.
16856 * Makefile.util.def (libgrubmods): Add bfs.c.
16857 * grub-core/Makefile.core.def (bfs): New module.
16858
42b2a706
VS
168592011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16860
16861 * util/grub-fstest.c (cmd_cp): Clarify error message.
16862 (cmd_cmp): Likewise.
16863
61b99bfc
YB
168642011-10-30 Yves Blusseau <blusseau@zetam.org>
16865
16866 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
16867 and befs_be.
16868
faba3d16
VS
168692011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
16870
16871 Remove afs and befs because of copyright problem.
16872
16873 * grub-core/fs/afs.c: Removed.
16874 * grub-core/fs/afs_be.c: Removed.
16875 * grub-core/fs/befs.c: Removed.
16876 * grub-core/fs/befs_be.c: Removed.
16877 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
16878 * grub-core/Makefile.core.def (afs): Removed.
16879 (afs_be): Likewise.
16880 (befs): Likewise.
16881 (befs_be): Likewise.
16882
c39224b0
VS
168832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16884
16885 Prefer rockridge over Joliet.
16886
16887 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
16888 to ...
16889 (set_rockridge): ... here.
16890 (grub_iso9660_mount): Check rockridge on the primary label when
16891 discovering. Ignore Joliet if Rockridge is present.
16892
e551115a
VS
168932011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 Use shifts in nilfs2.
16896
16897 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
16898 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
16899 (grub_nilfs2_palloc_entries_per_group): Replace with ...
16900 (grub_nilfs2_log_palloc_entries_per_group): ... this.
16901 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
16902 (grub_nilfs2_entries_per_block): Replaced with ...
16903 (grub_nilfs2_log_entries_per_block_log): ... this.
16904 (grub_nilfs2_blocks_per_group): Replaced with ...
16905 (grub_nilfs2_blocks_per_group_log): ... this.
16906 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
16907 (grub_nilfs2_blocks_per_desc_block_log): ... this.
16908 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
16909 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
16910 (grub_nilfs2_palloc_entry_offset): Replaced ...
16911 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
16912 (grub_nilfs2_dat_translate): Use shifts.
16913 (grub_nilfs2_read_inode): Likewise.
16914 (GRUB_MOD_INIT): Ensure that logs are correct.
16915
564dd58c
VS
169162011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16917
16918 Use shifts in minix filesystem.
16919
16920 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
16921 (GRUB_MINIX_ZONE2SECT): Likewise.
16922 (grub_minix_data): Replace block_size with log_block_size.
16923 (grub_minix_read_file): Use shifts.
16924 (grub_minix_mount): Check block size and take a logarithm.
16925
ed9ba06d
VS
169262011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16927
16928 Use shifts in squash4.
16929
16930 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
16931 (squash_mount): Check block size and take logarithm.
16932 (direct_read): Use shifts.
16933
ad03fe76
VS
169342011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 Correct befs block counting logic.
16937
16938 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
16939 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
16940 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
16941 (grub_afs_read_inode): Use block_shift.
16942 (RANGE_SHIFT): New definition.
16943 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
16944 unexpected conditions, use shifts and appropriate types.
16945 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
16946
6563f63d
VS
169472011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16948
16949 * grub-core/disk/raid.c (scan_devices): Check partition.
16950 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16951
5b1ae25f
VS
169522011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 Support BFS (befs) UUID.
16955
16956 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
16957 (grub_afs_small_data_element_header): New struct.
16958 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
16959 (grub_afs_read_attribute) [MODE_BFS]: New function.
16960 (grub_afs_iterate_dir): Allocate for complete inode.
16961 (grub_afs_mount): Likewise.
16962 (grub_afs_uuid) [MODE_BFS]: New function.
16963 (grub_afs_fs) [MODE_BFS]: Add .uuid.
16964
f8d82408
VS
169652011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16966
16967 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
16968 (zfs_unmount): Fix memory leak.
16969
5773fb64
VS
169702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16971
16972 Support NTFS reparse points.
16973
16974 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
16975 (symlink_descriptor): New struct.
16976 (grub_ntfs_read_symlink): New function.
16977 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
16978 (grub_ntfs_open): Likewise.
16979
91c3fdde
VS
169802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16981
16982 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
16983
3be82e10
VS
169842011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16985
16986 fstest xnu_uuid subcommand.
16987
16988 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
16989 grub-core/commands/xnu_uuid.c.
16990 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
16991 (fstest): Handle xnu_uuid.
16992 (options): Document xnu_uuid.
16993 (argp_parser): Parse xnu_uuid.
16994
8e32442e
VS
169952011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16996
16997 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
16998 -l argument. Add newline at the end if printing.
16999 (GRUB_MOD_INIT): Document -l.
17000
52a05075
VS
170012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17002
17003 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
17004
1869edb5
VS
170052011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 ZFS multi-device and version 33 support.
17008
17009 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
17010 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
17011 (grub_zfs_data): Add multidev-ice-related fields.
17012 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
17013 (dva_get_offset): Make dva const.
17014 (zfs_fetch_nvlist): New function.
17015 (fill_vdev_info_real): Likewise.
17016 (fill_vdev_info): Likewise.
17017 (check_pool_label): Likewise.
17018 (scan_disk): Likewise.
17019 (scan_devices): Likewise.
17020 (read_device): Likewise.
17021 (read_dva): Likewise.
17022 (zio_read_gang): Use read_dva.
17023 (zio_read_data): Likewise.
17024 (zap_leaf_lookup): Add missing endian conversion.
17025 (zap_verify): Add missing endian conversion. All users updated.
17026 (fzap_lookup): Likewise.
17027 (fzap_iterate): Likewise.
17028 (dnode_get_path): Handle SA bonus.
17029 (nvlist_find_value): Make input const. All users updated.
17030 (unmount_device): New function.
17031 (zfs_unmount): Use unmount_device.
17032 (zfs_mount): Use scan_disk.
17033 (zfs_mtime): New function.
17034 (grub_zfs_open): Handle system attributes.
17035 (fill_fs_info): Likewise.
17036 (grub_zfs_dir): Likewise.
17037 (grub_zfs_fs): Add mtime.
17038 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
17039 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
17040 (SA_MTIME_OFFSET): Likewise.
17041 (SA_SYMLINK_OFFSET): Likewise.
17042 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
17043 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
17044 (fstest): Support zfsinfo.
17045 (argp_parser): Likewise.
17046
186b4028
VS
170472011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17048
17049 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
17050 error.
17051
170522011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
17053
17054 ZFS fixes.
17055
17056 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
17057 sharing the same block. Iterate over correct number of indices.
17058 (dnode_get_path): Handle symlinks correctly.
17059
c0584900
VS
170602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17061
17062 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
17063
67e2bd71
VS
170642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17065
17066 Read label on HFS+.
17067
17068 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
17069 (grub_hfsplus_btree_search): Fix types.
17070 (grub_hfsplus_label): Implement.
17071
e9cc6b7b
VS
170722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
17075
19832ddb
VS
170762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
17079
66b40850
VS
170802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17081
17082 Fix symlink handling on iso9660.
17083
17084 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
17085 All users updated.
17086 (grub_iso9660_susp_iterate): Accept zero-size iterate.
17087 (grub_iso9660_read_symlink): Moved most of code ...
17088 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
17089
db821363
VS
170902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17091
17092 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17093 Use union to avoid breaking strict-aliasing rules.
17094
e1211949
VS
170952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17096
17097 Support multi-extent iso files.
17098
17099 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
17100 Add node.
17101 (grub_fshelp_node): Revamp. All users updated.
17102 (FLAG_*): New enum.
17103 (read_node): New function.
17104 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
17105 All users updated.
17106 (grub_iso9660_mount): Don't attempt to read sua when there is none.
17107 (get_node_size): New function.
17108 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
17109 entries.
17110 Fix memory leak on . and ..
17111 (grub_iso9660_read): Use read_node.
17112 (grub_iso9660_close): Free node.
17113
d4888031
VS
171142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17115
17116 Fix tar 4G limit and handle paths containing dot.
17117
17118 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
17119 (canonicalize): New function.
17120 (grub_cpio_find_file): Use canonicalize. Store offs in
17121 grub_disk_addr_t.
17122 (grub_cpio_dir): Use grub_disk_addr_t.
17123 (grub_cpio_open): Likewise.
17124
9f12e664
VS
171252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 Fix handling of uncompressed blocks on squashfs and break 4G limit.
17128
17129 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
17130 unused flags.
17131 (grub_squash_inode): Add long_file and block_size.
17132 (grub_squash_cache_inode): New struct.
17133 (grub_squash_dirent): Make types into enum.
17134 (SQUASH_TYPE_LONG_REGULAR): New type.
17135 (grub_squash_frag_desc): Add field size.
17136 (SQUASH_BLOCK_FLAGS): New enum.
17137 (grub_squash_data): Use grub_squash_cache_inode.
17138 (grub_fshelp_node): Make ino_chunk 64-bit.
17139 (read_chunk): Minor argument change. All users updated.
17140 (squash_mount): Use correct le_to_cpu.
17141 (grub_squash_open): Handle LONG_REGULAR.
17142 (direct_read): New function.
17143 (grub_squash_read_data): Handle blocks correctly.
17144
9f326fba
VS
171452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17146
17147 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
17148
f4d9b64b
VS
171492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17150
17151 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
17152
5bbd28b8
VS
171532011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17154
17155 Fix 2G limit on ZFS.
17156
17157 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
17158 types.
17159 (uberblock_verify): Likewise.
17160 (dmu_read): Likewise.
17161 (grub_zfs_read): Likewise. Remove invalid cast.
17162
68c72069
VS
171632011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17164
17165 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
17166 (grub_jfs_blkno): Fix incorrect shift.
17167 (grub_jfs_read_file): Use more appropriate types.
17168
6e536dc8
VS
171692011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 Support triple indirect on minix2 and minix3.
17172
17173 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
17174 Declare triple_indir_zone.
17175 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
17176 indirect.
17177
e0864e7a
VS
171782011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17179
17180 Minix FS fixes.
17181
17182 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
17183 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
17184 Rename ctime to mtime. All users updated.
17185 (grub_minix_get_file_block): Fix types and double indirect computations.
17186
89481cab
VS
171872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
17190 if no label is found.
17191 (grub_fat_iterate_dir): Fix file size type.
17192 (grub_fat_iterate_dir): Likewise.
17193
f646e143
VS
171942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17195
17196 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
17197 save some space.
17198 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17199 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17200
534d769e
VS
172012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17202
17203 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
17204
e084ba18
VS
172052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17206
17207 * util/import_gcry.py: Accept space between # and include.
17208
3471ecdf
VS
172092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17210
17211 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
17212
124df5f6
VS
172132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17214
17215 Fine grainely disable warnings on lexer. Remove Wno-error on it.
17216
17217 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
17218 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
17219 yylex_strncpy.
17220 * grub-core/script/yylex.l: Add fine-grained #pragma.
17221
4defb8d5
VS
172222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17223
17224 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
17225 New inline function.
17226 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
17227 Likewise.
17228 (memset) [GRUB_UTIL]: Likewise.
17229 (memcmp) [GRUB_UTIL]: Likewise.
17230
4e94ae65
VS
172312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
17234 inline function rather than a define.
17235
18c575e5
VS
172362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17237
17238 * util/grub-setup.c: Add missing include.
17239
f8bc22a8
VS
172402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17241
17242 * util/ieee1275/grub-ofpathname.c: Add missing include.
17243
3ce69fc9
VS
172442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17245
17246 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
17247 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
17248 Likewise.
17249
d1e293bb
VS
172502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17251
17252 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
17253 grub_memcmp usage.
17254
7a5c54a4
VS
172552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 * util/grub-install.in: Add datarootdir as per automake manual
17258 suggestion.
17259 * util/grub-mknetdir.in: Likewise.
17260
172612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
17262
17263 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
17264 suggestion.
17265 * util/grub.d/10_kfreebsd.in: Likewise.
17266 * util/grub.d/10_linux.in: Likewise.
17267 * util/grub.d/10_netbsd.in: Likewise.
17268 * util/grub.d/10_windows.in: Likewise.
17269 * util/grub.d/20_linux_xen.in: Likewise.
17270
766f7d08
VS
172712011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 Remove redundant grub_kernel_image_size.
17274
17275 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
17276 _edata and _start.
17277 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
17278 the small code. It moves it only by few bytes but simplifies the code.
17279 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
17280 _start.
17281 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
17282 (grub_kernel_image_size): Removed.
17283 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
17284 (grub_kernel_image_size): Removed.
17285 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
17286 compiled with Apple toolchain.
17287 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
17288 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
17289 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
17290 (grub_total_module_size): Likewise.
17291 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
17292 Removed.
17293 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
17294 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
17295 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
17296 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
17297 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
17298 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
17299 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
17300 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
17301 Removed.
17302 (grub_total_module_size): Removed.
17303 * util/grub-mkimage.c (image_target_desc): Remove image_size.
17304 (image_targets): Likewise.
17305 Set .compressed_size to no field on sparc.
17306 (generate_image): Remove kernel_image_size handling.
17307
fcf1d672
SJ
173082011-10-19 Szymon Janc <szymon@janc.net.pl>
17309
17310 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
17311 NULL pointer dereference.
17312
de9c615e
VS
173132011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17314
17315 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
17316 done with a dedicated section.
17317
17318 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
17319 Ensure the correct position of boot_path.
17320 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
17321 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
17322 other fields.
17323 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
17324 * include/grub/boot.h: Removed. All references removed.
17325 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17326 Removed.
17327 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
17328
e55599dc
VS
173292011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17330
17331 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
17332 name.
17333
36dd20ad
VS
173342011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17335
17336 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
17337
f8f72eb8
VS
173382011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17341 Don't add the bogus brackets.
17342
a374751b
VS
173432011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17344
17345 ExFAT support.
17346
17347 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
17348 * grub-core/Makefile.core.def (exfat): New module.
17349 * grub-core/fs/exfat.c: New file.
17350 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
17351 (GRUB_FAT_ATTR_*): Make into an enum.
17352 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
17353 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
17354 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
17355 (GRUB_FAT_MAXFILE): Removed.
17356 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
17357 (grub_current_fat_bpb_t): New type.
17358 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
17359 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
17360 (grub_fat_dir_node_t): New type.
17361 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
17362 (fat_log2) [MODE_EXFAT]: Removed.
17363 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
17364 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
17365 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
17366 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
17367 (grub_fat_label) [MODE_EXFAT]: New function.
17368 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
17369 reserved_first_sector to 0.
17370
544c2487
VS
173712011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17372
17373 Move grub_reboot out of the kernel.
17374
17375 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
17376 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
17377 * grub-core/lib/efi/reboot.c: ... here.
17378 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
17379 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17380 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
17381 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
17382 * grub-core/lib/i386/reboot_trampoline.S: ... here.
17383 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
17384 * grub-core/lib/ieee1275/reboot.c: ... here.
17385 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
17386 * grub-core/lib/mips/arc/reboot.c: ... here.
17387 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
17388 * grub-core/lib/mips/loongson/reboot.c: ...here.
17389 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
17390 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
17391 * include/grub/emu/misc.h (grub_reboot): New function declaration.
17392 * include/grub/i386/reboot.h: New file.
17393 * include/grub/mips/loongson/ec.h: Fix includes.
17394 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
17395 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
17396 * grub-core/lib/i386/reboot.c: New file.
17397
a97501d2
VS
173982011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 Make grub_prefix into module to fix the arbitrary limit and save
17401 some space.
17402
17403 * grub-core/kern/emu/main.c (grub_prefix): Removed.
17404 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
17405 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
17406 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
17407 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
17408 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
17409 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
17410 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
17411 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17412 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
17413 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
17414 * include/grub/ia64/efi/kernel.h: Removed.
17415 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
17416 (grub_prefix): Removed.
17417 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
17418 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
17419 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
17420 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
17421 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
17422 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
17423 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
17424 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
17425 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
17426 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
17427 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17428 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17429 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17430 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17431 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
17432 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
17433 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
17434 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17435 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
17436 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
17437 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
17438 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
17439 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
17440 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
17441 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
17442 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
17443 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
17444 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
17445 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
17446 from module.
17447 * util/grub-mkimage.c (image_target_desc): Removed prefix and
17448 prefix_end.
17449 (image_targets): Likewise.
17450 (generate_image): Put prefix as a module.
17451
39705fad
VS
174522011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17453
17454 Replace grub_module_iterate with FOR_MODULES.
17455
17456 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
17457 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
17458 (grub_efi_modules_addr): ...this.
17459 * grub-core/kern/efi/init.c (grub_modbase): New variable.
17460 (grub_efi_init): Set grub_modbase.
17461 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
17462 (grub_modbase): New variable.
17463 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
17464 (grub_modbase): New variable.
17465 (grub_machine_init): Set grub_modbase.
17466 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
17467 (grub_modbase): New variable.
17468 (grub_machine_init): Set grub_modbase.
17469 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
17470 (grub_modbase): New variable.
17471 (grub_machine_init): Set grub_modbase.
17472 * grub-core/kern/main.c (grub_module_iterate): Remove.
17473 (grub_modules_get_end): Use grub_modbase.
17474 (grub_load_modules): Use FOR_MODULES.
17475 (grub_load_config): Likewise.
17476 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
17477 (grub_modbase): New variable.
17478 (grub_machine_init): Set grub_modbase.
17479 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
17480 (grub_modbase): New variable.
17481 (grub_machine_init): Set grub_modbase.
17482 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
17483 Removed.
17484 (grub_modbase): New variable.
17485 (grub_machine_init): Set grub_modbase.
17486 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
17487 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
17488 (grub_module_iterate): Likewise.
17489 (grub_modbase): New variable declaration.
17490 (FOR_MODULES): New macro.
17491
2afb7f6c
VS
174922011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 * configure.ac: Check for __ctzdi2 and __ctzsi2.
17495 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
17496
366e34fa
VS
174972011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17498
17499 Fix few obvious type discrepancies.
17500
17501 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
17502 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
17503 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
17504 variable.
17505 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
17506 and connected types.
17507 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
17508 offset.
17509 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
17510 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
17511 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
17512 and connected types.
17513
177b960e
VS
175142011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17515
17516 Fix python 3.x incompatibilities.
17517
17518 * gentpl.py: Put brackets around print strings.
17519 * util/import_gcry.py: Open explicitly as utf-8.
17520 Use in instead of has_key.
17521
3b619ae1
VS
175222011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17523
17524 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
17525 (GRUB_XFS_INO_AGBITS): Make into inline function.
17526 (GRUB_XFS_INO_INOINAG): Likewise.
17527 (GRUB_XFS_INO_AG): Likewise.
17528 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17529 (GRUB_XFS_EXTENT_OFFSET): Likewise.
17530 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17531 (GRUB_XFS_EXTENT_SIZE): Likewise.
17532 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
17533 (GRUB_XFS_NEXT_DIRENT): Likewise.
17534 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
17535 (grub_xfs_read_file): Fix offset type.
17536
8bcebcb8
RM
175372011-10-15 Robert Millan <rmh@gnu.org>
17538
17539 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
17540
0017e5ef
RM
175412011-10-15 Robert Millan <rmh@gnu.org>
17542
17543 Fix build problem on FreeBSD and GNU/kFreeBSD.
17544
17545 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
17546
d8919552
VS
175472011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17548
17549 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
17550
17551 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
17552 types.
17553 (grub_hfsplus_btree_recoffset): Likewise.
17554 (grub_hfsplus_btree_recptr): Likewise.
17555 (grub_hfsplus_find_block): Likewise.
17556 (grub_hfsplus_btree_search): Likewise.
17557 (grub_hfsplus_read_block): Likewise.
17558 (grub_hfsplus_read_file): Likewise.
17559 (grub_hfsplus_mount): Likewise.
17560 (grub_hfsplus_btree_iterate_node): Likewise.
17561 (grub_hfsplus_btree_search): Likewise.
17562 (grub_hfsplus_iterate_dir): Likewise.
17563 (grub_hfsplus_read): A small code simplification.
17564
c81296b6
VS
175652011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17566
17567 * grub-core/kern/emu/hostdisk.c
17568 (convert_system_partition_to_system_disk): Don't assume that children
17569 of mapper nodes are mapper nodes.
17570
0eb8ffb1
VS
175712011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
17574 * include/grub/misc.h (grub_isxdigit): New function.
17575 * grub-core/video/colors.c (my_isxdigit): Removed. All users
17576 switched to grub_isxdigit.
17577 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
17578 number starting with a letter.
17579
a98f4a08
RM
175802011-10-09 Robert Millan <rmh@gnu.org>
17581
17582 LVM support for FreeBSD and GNU/kFreeBSD.
17583
17584 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
17585 GNU/kFreeBSD.
17586 (LVM_DEV_MAPPER_STRING): Move from here ...
17587 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
17588 * util/getroot.c: Include `<grub/util/lvm.h>'.
17589 (grub_util_get_dev_abstraction): Enable
17590 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
17591 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
17592 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
17593 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
17594 support it.
17595 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
17596 GNU/kFreeBSD.
17597 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
17598 when LVM abstraction is required for ${GRUB_DEVICE}.
17599
050e8e90
SJ
176002011-10-06 Szymon Janc <szymon@janc.net.pl>
17601
17602 Add support for LZO compression in GRUB:
17603 - import of minilzo library,
17604 - LZO decompression for btrfs,
17605 - lzop files decompression.
17606
17607 * grub-core/io/lzopio.c: New file.
17608 * grub-core/lib/adler32.c: Likewise.
17609 * grub-core/lib/minilzo/lzoconf.h: Likewise.
17610 * grub-core/lib/minilzo/lzodefs.h: Likewise.
17611 * grub-core/lib/minilzo/minilzo.c: Likewise.
17612 * grub-core/lib/minilzo/minilzo.h: Likewise.
17613 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
17614 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
17615 grub-core/lib/minilzo/minilzo.c to common.
17616 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
17617 cflags in cppflags.
17618 * grub-core/Makefile.core.def (btrfs): Likewise.
17619 * grub-core/Makefile.core.def (lzopio): New module.
17620 (adler32): Likewise.
17621 * grub-core/fs/btrfs.c: Include minilzo.h.
17622 (GRUB_BTRFS_COMPRESSION_LZO): New define.
17623 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
17624 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
17625 (grub_btrfs_lzo_decompress): New function.
17626 (grub_btrfs_extent_read): Add support for LZO compression type.
17627 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
17628 (GRUB_USHRT_MAX): Likewise.
17629 (GRUB_UINT_MAX): Likewise.
17630 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
17631 (UINT_MAX): Likewise.
17632 (CHAR_BIT): Likewise.
17633 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
17634 grub-core/lib/posix_wrap/limits.h
17635 (UCHAR_MAX): Likewise.
17636 * include/grub/file.h (grub_file_filter_id): New compression filter
17637 GRUB_FILE_FILTER_LZOPIO.
17638 * include/grub/file.h (grub_file_filter_id): Set
17639 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
17640 * include/grub/types.h (grub_get_unaligned16): New function.
17641 (grub_get_unaligned32): Likewise.
17642 (grub_get_unaligned64): Likewise.
17643 * util/import_gcry.py (cryptolist): Add adler32.
17644
0eb8ffb1
VS
176452011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
17646
17647 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
17648 in perspective decreases the complexity of build system and fixes
17649 compilation right now.
17650
ce79cc99 176512011-10-01 Ales Nesrsta <starous@volny.cz>
17652
17653 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
17654 (fixed problem related to using UHCI with coreboot).
17655
8667a314
BC
176562011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17657
17658 * gentpl.py: Use Autogen macros so that the output template file
17659 (Makefile.tpl) size is reduced.
17660
fc5efcc0
MK
176612011-09-29 Mads Kiilerich <mads@kiilerich.com>
17662
17663 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
17664 extra_dist.
17665
d1ab689d
ML
176662011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17667
17668 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
17669 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
17670
c05de032
ML
176712011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17672
17673 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
17674 _fullpath.
17675
cca7ccd8
ML
176762011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17677
17678 Remove extra declaration of sleep for mingw32.
17679
17680 * util/misc.c (sleep) [__MINGW32__]: Removed.
17681 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
17682
e0b0dc83
GS
176832011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
17684
17685 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
17686 type and packname.
17687 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
17688 Resurrected.
17689 (NETBSD_BTINFO_BOOTWEDGE): New definition.
17690 (grub_netbsd_btinfo_bootwedge): New struct.
17691 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17692 New function.
17693 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
17694
91a1a164
TH
176952011-09-28 Thomas Haller <thomas.haller@fen-net.de>
17696
17697 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
17698 loader.
17699
2ded951e
AB
177002011-09-28 Andreas Born <futur.andy@googlemail.com>
17701
17702 Fix incorrect identifiers in bash-completion.
17703
17704 * util/bash-completion.d/grub-completion.bash.in
17705 (_grub_mkpasswd-pbkdf2): Rename to ...
17706 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
17707 (_grub_script-check): Rename to ...
17708 (_grub_script_check): ... this. All users updated.
17709
69915030
VS
177102011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17711
17712 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
17713 Return 0 if disk isn't biosdisk.
17714
20fd15f9
GS
177152011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17716
17717 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
17718 on NetBSD.
17719 * Makefile.util.def (grub-fstest): Likewise.
17720
1a7d7db9
GS
177212011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17722
17723 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
17724 Get sector size from disk label.
17725
2221ab6c
CW
177262011-09-05 Colin Watson <cjwatson@ubuntu.com>
17727
17728 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
17729 */README* as well as README*.
17730 Reported by: Axel Beckert.
17731
ca51c4a0
VS
177322011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17733
17734 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
17735 case of less than 256 MiB of RAM.
17736
ab80f326
VS
177372011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 * grub-core/commands/wildcard.c (make_regex): Handle @.
17740
4155e697
VS
177412011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17742
17743 * util/grub-install.in: Move cryptodisk logic to appropriate place.
17744
ab178c08
SJ
177452011-08-21 Szymon Janc <szymon@janc.net.pl>
17746
17747 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
17748 AC_LANG_CONFTEST macros.
17749
7dc3c686
SJ
177502011-08-20 Szymon Janc <szymon@janc.net.pl>
17751
17752 Add grub-fstest option to uncompress data for commands.
17753
17754 * util/grub-fstest.c (uncompress): New var.
17755 (options): New option -u.
17756
fe8d4a7b
SJ
177572011-08-20 Szymon Janc <szymon@janc.net.pl>
17758
17759 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
17760 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
17761
a5219af1
SJ
177622011-08-20 Szymon Janc <szymon@janc.net.pl>
17763
17764 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
17765 file type was not recognized correctly (not gzip or corrupted).
17766
f87abff5
VS
177672011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17768
17769 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
17770 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
17771
d94497ea
VS
177722011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
17775 loongson.
17776 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17777 video_radeon_fuloong2e.
17778 * grub-core/video/radeon_fuloong2e.c: New file.
17779 * include/grub/video.h (grub_video_id_t): Add new ID
17780 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
17781
0d1fd011
VS
177822011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17783
17784 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
17785 define.
17786 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
17787 that PRID matches the detected subplatform and reset the subplatform
17788 if it doesn't.
17789
84beb0ee
VS
177902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17791
17792 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
17793
1227c133
VS
177942011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17795
17796 Fix PCI iterating on functions >= 4.
17797
17798 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
17799 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
17800 Removed.
17801 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
17802 (grub_pci_read): Fix bitmask.
17803 (grub_pci_read_word): Likewise.
17804 (grub_pci_read_byte): Likewise.
17805 (grub_pci_write): Likewise.
17806 (grub_pci_write_word): Likewise.
17807 (grub_pci_write_byte): Likewise.
17808
9594c689
VS
178092011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
17812 can still be specified in TARGET_CFLAGS)
17813
14a2562c
VS
178142011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17815
17816 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
17817
17818 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
17819 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
17820 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
17821 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
17822 (FULOONG): Rename to ...
17823 (FULOONG2F): ... this. All users updated.
17824 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
17825 (machtype_fuloong2f_str): ... this.
17826 (machtype_fuloong2e_str): New string.
17827 Check for machtype_fuloong2e_str.
17828 * grub-core/loader/mips/linux.c (loongson_machtypes)
17829 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
17830 * grub-core/term/serial.c (loongson_defserial)
17831 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
17832 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
17833 loongson_defserial.
17834 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
17835 Rename to ...
17836 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
17837 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
17838 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
17839 to IMAGE_FULOONG2F_FLASH. All users updated.
17840 (image_targets): Rename images.
17841 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
17842
b526cbb6
SJ
178432011-08-19 Szymon Janc <szymon@janc.net.pl>
17844
17845 Make enable of disk cache statistics code configurable.
17846
17847 * configure.ac: --enable-cache-stats added.
17848 * config.h.in (DISK_CACHE_STATS): New define.
17849 * grub-core/Makefile.core.def (cacheinfo): New command.
17850 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
17851 * grub-core/commands/cacheinfo.c: New file.
17852 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
17853 moved to cacheinfo.c.
17854 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
17855 debug code.
17856 * include/grub/disk.h: Likewise.
17857
fb739ccd
SJ
178582011-08-19 Szymon Janc <szymon@janc.net.pl>
17859
17860 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
17861 * grub-core/Makefile.am: Likewise.
17862
2bba8cfd
VS
178632011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17864
17865 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
17866 non-zero pull.
17867
43526629
VS
178682011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17869
17870 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
17871 All users updated.
17872 (grub_jfs_lookup_symlink): Use correct starting inode.
17873
5c144cc8
VS
178742011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17875
17876 * util/grub-setup.c (main): Add missing gcry initialisation.
17877
b1257f65
VS
178782011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17879
17880 Don't accept text modes on EFI when booting Linux.
17881
17882 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
17883 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
17884
828bc390
ML
178852011-08-15 Mario Limonciello <mario_limonciello@dell.com>
178862011-08-15 Colin Watson <cjwatson@ubuntu.com>
17887
17888 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
17889 use of "/path/.." as in grub-install for EFI as well as handling
17890 symlinks correctly.
17891 Fixes Debian bug #637768.
17892
5f60ccac
CW
178932011-08-15 Colin Watson <cjwatson@ubuntu.com>
17894
17895 * util/grub-probe.c: Remove duplicate #include.
17896
6dc212f9
RM
178972011-08-10 Robert Millan <rmh@gnu.org>
17898
17899 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
17900
17901 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
17902 function.
17903 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
17904 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
17905
66816d85
RM
179062011-08-03 Robert Millan <rmh@gnu.org>
17907
17908 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
17909 la_array as packed.
17910 Reported by: Zachary Bedell
17911
20168fca
CW
179122011-07-26 Colin Watson <cjwatson@ubuntu.com>
17913
17914 * configure.ac: The Loongson port requires grub-mkfont due to its
17915 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
17916 be built.
17917
303b6246
CW
179182011-07-26 Colin Watson <cjwatson@ubuntu.com>
17919
17920 * util/grub-install.in: Don't source grub-mkconfig_lib until after
17921 processing arguments (otherwise help2man fails when GRUB has not yet
17922 been installed).
17923
6795300e
VS
179242011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17925
41aa28ea
VS
17926 New script grub-mkstandalone.
17927
17928 * Makefile.util.def (grub-mkstandalone): New script.
17929 * docs/man/grub-mkstandalone.h2m: New file.
17930 * util/grub-mkstandalone.in: Likewise.
17931
179322011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17933
17934 Support ATA disks with 4K sectors.
6795300e
VS
17935
17936 * include/grub/ata.h (grub_ata): New member log_sector_size.
17937 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
17938 (grub_ata_identify): Read sector size.
17939 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
17940
92227597
VS
179412011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17942
17943 * util/grub-install.in: Don't use uhci outside of x86.
17944
c77069f5
VS
179452011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17946
17947 * util/grub-mkrescue.in: Add missing quotes.
17948
179492011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
17950
17951 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
17952 dereference.
17953
583168a2
VS
179542011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
17957
6be1c01f
VS
179582011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * include/grub/video.h: add missing EXPORT_FUND on
17961 grub_video_edid_checksum and grub_video_edid_preferred_mode.
17962
a1167439
VS
179632011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17964
17965 * include/grub/mips/kernel.h: Fix define conflict.
17966
bf66054f
VS
179672011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17968
17969 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
17970 all four ways.
17971
8fc4fa45
CW
179722011-07-21 Colin Watson <cjwatson@ubuntu.com>
17973
17974 Preferred resolution detection for VBE.
17975
17976 * grub-core/video/video.c (grub_video_edid_checksum): New function.
17977 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
17978 the Flat Panel extension, in line with the X.org VESA driver.
17979 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
17980 New function.
17981 (grub_vbe_bios_get_ddc_capabilities): Likewise.
17982 (grub_vbe_bios_read_edid): Likewise.
17983 (grub_vbe_get_preferred_mode): Likewise.
17984 (grub_video_vbe_setup): When the mode is "auto", try to get the
17985 preferred mode from VBE, and use the largest mode that is no larger
17986 than the preferred mode (some BIOSes expose a preferred mode that is
17987 not in their mode list!). If this fails, fall back to 640x480 as a
17988 safe conservative choice.
17989 (grub_video_vbe_get_edid): New function.
17990 (grub_video_vbe_adapter): Add get_edid.
17991 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
17992 (struct grub_video_adapter): Add get_edid.
17993 (grub_video_edid_checksum): Add prototype.
17994 (grub_video_edid_preferred_mode): Likewise.
17995 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
17996 structure.
17997
17998 * grub-core/commands/videoinfo.c (print_edid): New function.
17999 (grub_cmd_videoinfo): Print EDID if available.
18000
18001 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
18002 is more appropriate on a wider range of platforms than 640x480.
18003 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
18004 documentation.
18005
ca5572a9
VS
180062011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18007
18008 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
18009
e4bcf625
VS
180102011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18011
18012 * po/POTFILES.in: Regenerate.
18013
c4edd548
VS
180142011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18015
18016 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
18017 incorrect memory usage.
18018
16a2bab0
VS
180192011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 * util/grub-install.in: Source grub-mkconfig_lib.
18022
2e418de6
VS
180232011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18024
18025 Remove getroot.c from core on emu platform.
18026
18027 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
18028 kern/emu/raid.c.
18029 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
18030 useless.
18031 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
18032 * util/getroot.c (get_win32_path): ... here.
18033 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
18034 * util/getroot.c (fini_libzfs): ... here.
18035 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
18036 * util/getroot.c (grub_get_libzfs_handle): ... here.
18037 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
18038 Moved from here...
18039 * util/getroot.c (grub_find_zpool_from_dir): ... here.
18040 * grub-core/kern/emu/misc.c
18041 (grub_make_system_path_relative_to_its_root): Moved from here...
18042 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
18043 * grub-core/kern/emu/getroot.c: Moved from here ...
18044 * util/getroot.c: ... here. All users updated.
18045 * grub-core/kern/emu/raid.c: Moved from here ...
18046 * util/raid.c: ... here. All users updated.
18047
def9832a
VS
180482011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * po/POTFILES.in: Regenerate.
18051
cd8fe79a
VS
180522011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18053
18054 Fix compilation on GNU/Linux.
18055
18056 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
18057 Disable geli.
18058 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
18059 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
18060 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
18061
a251b719
VS
180622011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
180632011-07-07 Michael Gorven <michael@gorven.za.net>
180642011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
18065
18066 LUKS and GELI support.
18067
18068 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
18069 grub-core/disk/luks.c, grub-core/disk/geli.c,
18070 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
18071 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
18072 grub-core/lib/arg.c.
18073 (libgrubmods.a): Remove gcrypts cflags and cppflags.
18074 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
18075 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
18076 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
18077 (grub-bin2h): Add libgcry.a.
18078 (grub-mkimage): Likewise.
18079 (grub-mkrelpath): Likewise.
18080 (grub-script-check): Likewise.
18081 (grub-editenv): Likewise.
18082 (grub-mkpasswd-pbkdf2): Likewise.
18083 (grub-pe2elf): Likewise.
18084 (grub-fstest): Likewise.
18085 (grub-mkfont): Likewise.
18086 (grub-mkdevicemap): Likewise.
18087 (grub-probe): Likewise.
18088 (grub-ofpath): Likewise.
18089 (grub-mklayout): Likewise.
18090 (example_unit_test): Likewise.
18091 (grub-menulst2cfg): Likewise.
18092 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
18093 * grub-core/Makefile.core.def (cryptodisk): New module.
18094 (luks): Likewise.
18095 (geli): Likewise.
18096 * grub-core/disk/AFSplitter.c: New file.
18097 * grub-core/disk/cryptodisk.c: Likewise.
18098 * grub-core/disk/geli.c: Likewise.
18099 * grub-core/disk/luks.c: Likewise.
18100 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
18101 grub_util_is_lvm.
18102 (grub_util_get_dm_abstraction): New function.
18103 (grub_util_follow_gpart_up): Likewise.
18104 (grub_util_get_geom_abstraction): Likewise.
18105 (grub_util_get_dev_abstraction): Use new functions.
18106 (grub_util_pull_device): Pull GELI and LUKS.
18107 (grub_util_get_grub_dev): Handle LUKS and GELI.
18108 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
18109 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
18110 (follow_geom_up): Removed.
18111 (grub_util_fd_seek): New function.
18112 (open_device): Use grub_util_fd_seek.
18113 (nread): Rename to ..
18114 (grub_util_fd_read): ... this. All users updated.
18115 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
18116 (grub_crypto_cbc_decrypt): Likewise.
18117 (grub_crypto_hmac_write): Likewise.
18118 (grub_crypto_hmac_buffer): Likewise.
18119 (grub_password_get): Extend to util.
18120 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
18121 New member modname.
18122 (gcry_md_spec) [GRUB_UTIL]: Likewise.
18123 * include/grub/cryptodisk.h: New file.
18124 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
18125 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
18126 LUKS and GELI.
18127 (grub_util_follow_gpart_up): New proto.
18128 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
18129 (grub_util_fd_read): Likewise.
18130 (grub_cryptodisk_cheat_mount): Likewise.
18131 (grub_util_cryptodisk_print_uuid): Likewise.
18132 (grub_util_get_fd_sectors): Likewise.
18133 * util/grub-fstest.c (mount_crypt): New var.
18134 (fstest): Mount crypto if requested.
18135 (options): New option -C.
18136 (argp_parser): Parse -C.
18137 (main): Init and fini gcry.
18138 * util/grub-install.in: Support cryptodisk install.
18139 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
18140 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
18141 cryptodisk.
18142 (prepare_grub_to_access_device): Likewise.
18143 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
18144 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
18145 (probe_cryptodisk_uuid): New function.
18146 (probe_abstraction): Likewise.
18147 (probe): Use new functions.
18148 * util/import_gcry.py: Create Makefile.utilgcry.def.
18149 Add modname member.
18150
9bfdcbbc
VS
181512011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18152
18153 Lazy device scanning.
18154
18155 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
18156 (grub-setup): Remove util/raid.c.
18157 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
18158 * grub-core/disk/lvm.c (scan_depth): New variable.
18159 (grub_lvm_iterate): Rescan if necessary.
18160 (find_lv): New function based on grub_lvm_open.
18161 (grub_lvm_open): Use find_lv. Rescan on error.
18162 (is_node_readable): New function.
18163 (is_lv_readable): Likewise.
18164 (grub_lvm_scan_device): Skip already found disks.
18165 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
18166 Stop if searched device is found and readable.
18167 * grub-core/disk/raid.c (inscnt): New variable.
18168 (scan_depth): Likewise.
18169 (scan_devices): New function based on grub_raid_register. Abort if
18170 looked for device is found.
18171 (grub_raid_iterate): Rescan if needed.
18172 (find_array): NEw function based on -grub_raid_open.
18173 (grub_raid_open): Use find_array and rescan.
18174 (insert_array): Set became_readable_at.
18175 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
18176 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
18177 New function.
18178 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
18179 (grub_util_pull_device): New function.
18180 (grub_util_get_grub_dev): Call grub_util_pull_device.
18181 * util/raid.c: Moved to ..
18182 * grub-core/kern/emu/raid.c: ... here.
18183 (grub_util_raid_getmembers): New parameter "bootable".
18184 All users updated. Support 1.x.
18185 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
18186 All users updated.
18187 * include/grub/disk.h (grub_disk_pull_t): New enum.
18188 (grub_disk_dev): Change iterate prototype.
18189 All users updated.
18190 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
18191 New proto.
18192 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
18193 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
18194 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
18195 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
18196 All users updated.
18197 * include/grub/util/raid.h: Removed.
18198
1c358e59
VS
181992011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18200
18201 * po/POTFILES.in: Regenerate.
18202
abee94ed
VS
182032011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18204
18205 Unify sparc init with other ieee1275.
18206
18207 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
18208 instead of kern/sparc64/ieee1275/init.c.
18209 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
18210 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
18211 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
18212 grub/machine/kernel.h.
18213 (grub_ieee1275_original_stack) [__sparc__]: New variable.
18214 (grub_claim_heap) [__sparc__]: Use sparc version.
18215 (grub_machine_init): Moved args parsing to
18216 (grub_parse_cmdline): ...this.
18217 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
18218 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
18219 New definition.
18220 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
18221
18222 Move BOOTP to separate file.
18223
18224 * grub-core/Makefile.core.def (net): Add net/bootp.c.
18225 * grub-core/net/net.c: Move all BOOTP functions to
18226 * grub-core/net/bootp.c: ... here.
18227
18228 Use frame interface on PXE.
18229
18230 * grub-core/Makefile.core.def (pxecmd): Removed.
18231 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
18232 * grub-core/commands/i386/pc/pxecmd.c: Removed.
18233 * grub-core/i386/pc/pxe.c: Moved from here ...
18234 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
18235 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
18236 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
18237
18238 EFI network support.
18239
18240 * grub-core/Makefile.core.def (efinet): New module.
18241 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
18242 here...
18243 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
18244 All users updated.
18245 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
18246 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
18247 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
18248 * grub-core/net/drivers/efi/efinet.c: New file.
18249 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
18250 (grub_efi_net_config): New extern var.
18251
18252 Various cleanups and bugfixes.
18253
18254 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
18255 error.
18256 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
18257 disk declared as partition.
18258 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
18259 leak on failure.
18260 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
18261 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
18262 (grub_debug_zalloc): Likewise.
18263 (grub_debug_realloc): Likewise.
18264 (grub_debug_memalign): Likewise.
18265 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
18266 Check that target is IPv4.
18267 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
18268 local-mac-address as fallback.
18269 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
18270 memory leak.
18271 * grub-core/net/ip.c (ipchksum): Rename to ...
18272 (grub_net_ip_chksum): ... this. All users updated.
18273 (grub_net_recv_ip_packets): Special handling for DHCP.
18274 * util/grub-mkimage.c (generate_image): Zero-out aout header.
18275
18276 Unify prefix handling
18277
18278 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
18279 (grub_machine_get_bootlocation): ... this.
18280 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
18281 (grub_machine_get_bootlocation): ... this.
18282 (grub_prefix): New variable.
18283 (prefix): Removed.
18284 (root_dev): New variable.
18285 (dir): Likewise.
18286 (main): Use new variables.
18287 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
18288 Revamped into ...
18289 (grub_machine_get_bootlocation): ... this.
18290 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
18291 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
18292 (grub_machine_get_bootlocation): ... this.
18293 (grub_machine_set_prefix): Removed.
18294 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
18295 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
18296 Revamped into ...
18297 (grub_machine_get_bootlocation): ... this.
18298 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
18299 (grub_set_prefix_and_root): ... this. All users updated.
18300 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
18301 Revamped into ...
18302 (grub_machine_get_bootlocation): ... this.
18303 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
18304 (grub_machine_get_bootlocation): New proto.
18305 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
18306
18307 Less intrusive and more reliable seek on network implementation.
18308
18309 * grub-core/kern/file.c (grub_file_net_seek): Removed.
18310 (grub_file_seek): Don't call grub_file_net_seek.
18311 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
18312 (grub_net_fs_read_real): .. this.
18313 (grub_net_seek_real): Use net->offset.
18314 (grub_net_fs_read): Seek if necessary.
18315
18316 Unify IEEE1275 netwotk config with the other platforms.
18317
18318 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
18319 New variable.
18320 (grub_machine_get_bootlocation): Support network.
18321 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
18322 Support type and device parsing.
18323 (grub_ieee1275_get_device_type): New function.
18324 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
18325 into ...
18326 (grub_ieee1275_net_config_real): ... this.
18327 (grub_ofnet_probecards): Removed.
18328 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
18329 * include/grub/ieee1275/ofnet.h: Removed.
18330 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
18331 extern var.
18332 (grub_ieee1275_get_device_type): New function.
18333
18334 Unify network device closing across platforms and make more robust.
18335
18336 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
18337 grub_grubnet_fini.
18338 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
18339 already.
18340 * grub-core/net/net.c (grub_net_network_level_interface_register):
18341 Update num_ifaces.
18342 (grub_net_card_unregister): Close all interfaces.
18343 (receive_packets): Don't poll if no iterfaces are registered.
18344 Open if necessary.
18345 (grub_net_fini_hw): New function.
18346 (grub_net_restore_hw): Likewise.
18347 (fini_hnd): New variable.
18348 (GRUB_MOD_INIT): Register preboot hook.
18349 (GRUB_MOD_FINI): Run and unregister preboot hook.
18350
18351 Poll network cards when idle.
18352
18353 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
18354 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
18355 * grub-core/net/net.c (receive_packets): Save last poll time.
18356 (grub_net_poll_cards_idle_real): New function.
18357 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
18358 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
18359 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
18360
18361 Rename ofnet interfaces.
18362
18363 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
18364 (grub_ofnet_findcards): Use ofnet_%s names.
18365
18366 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
18367
18368 Cleanup socket opening.
18369
18370 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
18371 (grub_net_fs_close): Likewise.
18372 (grub_net_fs_read_real): Use eof member.
18373 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
18374 (+grub_net_udp_close): New inline function.
18375
18376 * include/grub/net/tftp.h: Moved to the top of ...
18377 * grub-core/net/tftp.c: ... here.
18378 * include/grub/net/ip.h: Moved mostly to the top of ...
18379 * grub-core/net/ip.c: ... here.
18380 * include/grub/net/ethernet.h: Moved mostly to the top of ...
18381 * grub-core/net/ethernet.c: ... here.
18382
18383 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
18384
18385 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
18386 FS name.
18387
18388 * include/grub/net/ip.h (ipv4_ini): Removed.
18389 (ipv4_fini): Likewise.
18390
18391 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
18392 (grub_net_send_ip_packets): Likewise.
18393
cf1337aa
VS
183942011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18395
18396 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
18397 grub_read_cmos prototype.
18398
93c06ff9
VS
183992011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18400
18401 VGA text support in qemu-mips
18402
18403 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
18404 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
18405 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
18406 text.
18407 * grub-core/kern/i386/qemu/init.c: Renamed to ...
18408 * grub-core/kern/vga_init.c: ... this.
18409 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
18410 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
18411 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
18412 Adjust.
18413 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
18414 GRUB_MACHINE_PCI_IO_BASE.
18415
748ccabe
VS
184162011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18417
18418 MIPS qemu flash support.
18419
18420 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
18421 magic.
18422 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
18423 (grub_machine_init): Probe memory if its size isn't known.
18424 * util/grub-mkimage.c (image_targets): Add flash targets.
18425 (generate_image): Handle flash targets.
18426
d7345994
VS
184272011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18428
18429 MIPS qemu at_keyboard support.
18430
18431 * gentpl.py (videoinkernel): Add qemu-mips.
18432 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
18433 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
18434 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
18435 modules.
18436 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
18437 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
18438 * grub-core/term/serial.c (grub_serial_register)
18439 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
18440
a07a81b3
VS
184412011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 CMOS support on sparc.
18444
18445 * gentpl.py (cmos): Add powerpc and sparc.
18446 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
18447 powerpc and sparc.
18448 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
18449 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
18450 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
18451 grub_set_datetime_cmos.
18452 * grub-core/lib/ieee1275/cmos.c: New file.
18453 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
18454 (find_rtc): Set no_ieee1275_rtc on error.
18455 (grub_get_datetime): Call grub_get_datetime_cmos on error.
18456 (grub_set_datetime): Call grub_set_datetime_cmos on error.
18457 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
18458 fail. Move value to argument. All users updated
18459 (grub_cmos_write): Likewise.
18460 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
18461 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
18462 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
18463 grub_get_datetime_cmos and grub_set_datetime_cmos.
18464
77546584
GS
184652011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18466
18467 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
18468 sourcing grub-mkconfig_lib.
18469 * util/update-grub_lib.in: Likewise.
18470 * util/grub.d/00_header.in: Likewise.
18471 * util/grub.d/10_hurd.in: Likewise.
18472 * util/grub.d/10_kfreebsd.in: Likewise.
18473 * util/grub.d/10_linux.in: Likewise.
18474 * util/grub.d/10_netbsd.in: Likewise.
18475 * util/grub.d/10_windows.in: Likewise.
18476 * util/grub.d/20_linux_xen.in: Likewise.
18477 * util/grub.d/30_os-prober.in: Likewise.
18478
54894791
CW
184792011-06-28 Colin Watson <cjwatson@ubuntu.com>
18480
18481 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
18482 default_bg_color rather than black.
18483 (grub_gfxterm_fullscreen): Likewise.
18484 (grub_gfxterm_background_color_cmd): Save new background color in
18485 default_bg_color.
18486
8d5d8444
VS
184872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18488
18489 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
18490
5afeb5bd
VS
184912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18492
18493 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
18494 mismerge.
18495
ba7df45e
VS
184962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18497
18498 Chainloading on coreboot support.
18499
18500 * grub-core/Makefile.core.def (chain): Add coreboot.
18501 * grub-core/loader/i386/coreboot/chainloader.c: New file.
18502
d0b526b2
VS
185032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18504
18505 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
18506 if it happens.
18507
5ff1d945
VS
185082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18509
18510 Implement time command.
18511
18512 * grub-core/Makefile.core.def (time): New module.
18513 * grub-core/commands/time.c: New file.
18514 * grub-core/script/parser.y: Remove "time" keyword.
18515 * grub-core/script/yylex.l: Likewise.
18516
5ebaad7e
VS
185172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18518
18519 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
18520
bdea3798
VS
185212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18522
18523 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
18524 when handling leftovers.
18525
b28c5655
VS
185262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18527
18528 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
18529 so that help2man doesn't fail.
18530
b6f945dc
VS
185312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18532
18533 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
18534 type in pointers on sparc64.
18535 (get_card_packet): Likewise.
18536
f9b75e8a
CW
185372011-06-27 Colin Watson <cjwatson@ubuntu.com>
18538
18539 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
18540 with `*'.
18541 (grub_cmd_videoinfo): Fetch current video mode.
18542
1e3d9b86
VS
185432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
18546 because of underlying system restrictions.
18547
efff4b1c
VS
185482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18549
18550 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
18551 necessary.
18552
9fc9ce37
VS
185532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18554
18555 Coreboot video support.
18556
18557 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
18558 (vbe): Likewise.
18559 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
18560 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
18561 here ...
18562 * grub-core/kern/i386/int.S: ... here.
18563 * grub-core/video/i386/pc/vbe.c: Updated includes.
18564 * grub-core/video/i386/pc/vga.c: Likewise.
18565 * include/grub/i386/coreboot/memory.h
18566 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
18567 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
18568 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
18569 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
18570 Disable interrupts.
18571 * include/grub/i386/pc/vga.h: Removed. All users updated.
18572
41bec7fe
VS
185732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18574
18575 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
18576 definitions for dprintf.
18577 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
18578
ca80309d
VS
185792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18580
18581 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
18582 prototype.
18583 (get_card_packet): Likewise.
18584
9e322ce8
YB
185852011-06-26 Yves Blusseau <blusseau@zetam.org>
18586
18587 Display the path of the file when file is not found
18588
18589 * grub-core/fs/fat.c: Display the filename when file is not found.
18590 * grub-core/fs/fshelp.c: Likewise.
18591 * grub-core/fs/hfs.c: Likewise.
18592 * grub-core/fs/jfs.c: Likewise.
18593 * grub-core/fs/minix.c: Likewise.
18594 * grub-core/fs/ufs.c: Likewise.
18595 * grub-core/fs/btrfs.c: Likewise.
18596 * grub-core/commands/i386/pc/play.c: Likewise.
18597
cbf597af
SJ
185982011-06-26 Szymon Janc <szymon@janc.net.pl>
18599
18600 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
18601 pointer checks before calling grub_free().
18602 * grub-core/commands/wildcard.c (match_devices): Likewise.
18603 * grub-core/commands/wildcard.c (match_files): Likewise.
18604 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
18605 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
18606 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
18607 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
18608 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
18609 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
18610 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
18611 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18612 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
18613
6295b32f
P
186142011-06-25 Patrick <p55@mailinator.com>
18615
18616 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
18617
77c0840b
VS
186182011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
18619
18620 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
18621 (grub_pxe_send): Likewise.
18622 (GRUB_MOD_INIT): Fix types.
18623
40ea05de
SJ
186242011-06-24 Szymon Janc <szymon@janc.net.pl>
18625
18626 * grub-core/io/xzio.c: Fix code style issues
18627
90162423
MRA
186282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
186292011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
18630
18631 Network infrastructure.
18632 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
18633
18634 * include/grub/net/arp.h: New file.
90162423
MRA
18635 * include/grub/net/device.h: Likewise.
18636 * include/grub/net/ethernet.h: Likewise.
18637 * include/grub/net/ip.h: Likewise.
18638 * include/grub/net/netbuff.h: Likewise.
18639 * include/grub/net/tftp.h: Likewise.
18640 * include/grub/net/udp.h: Likewise.
18641 * include/grub/ieee1275/ofnet.h: Likewise.
18642 * include/grub/emu/export.h: Likewise.
18643 * include/grub/net.h: Likewise.
18644 * grub-core/net/arp.c: Likewise.
18645 * grub-core/net/ethernet.c: Likewise.
18646 * grub-core/net/ip.c: Likewise.
18647 * grub-core/net/udp.c: Likewise.
18648 * grub-core/net/tftp.c: Likewise.
18649 * grub-core/net/netbuff.c: Likewise.
18650 * grub-core/net/net.c: Likewise.
18651 * grub-core/net/drivers/emu/emunet.c: Likewise.
18652 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
18653 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
18654 export.h.
18655 * grub-core/Makefile.core.def (net): New module.
18656 (tftp): Likewise.
18657 (ofnet): Likewise.
18658 (emunet): Likewise.
18659 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
18660 network protocols.
18661 * grub-core/kern/device.c (grub_net_open) : New variable.
18662 (grub_device_open): Handle network device.
18663 (grub_device_close): Likewise.
18664 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
18665 (grub_grubnet_fini): Likewise.
18666 (grub_file_seek): Seek in network device.
18667 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
18668 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
18669 network root.
18670 (grub_machine_fini): Call grub_grubnet_fini.
18671 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
18672 network.
18673 (grub_ieee1275_get_aliasdevname): New function.
18674 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18675 Add unofficial Solaris network info.
18676 (grub_multiboot_make_mbi): Likewise.
18677 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
18678 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
18679 * include/grub/device.h (grub_fs): Removed.
18680 * include/grub/err.h (grub_err_t): Add network-related values.
18681 * include/grub/i386/pc/pxe.h: Removed bootp parts.
18682 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
18683 (grub_ieee1275_get_aliasdevname): New proto.
18684 * include/grub/net.h: Rewritten.
423a1849 18685
031f22a0
VS
186862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18687
18688 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
18689 names.
18690
4388ca72
VS
186912011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18692
18693 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
18694 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
18695 it truncates the output.
18696 Reported by: Ximin Luo.
18697
98e2f506
VS
186982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
18701
2a5e94d8
VS
187022011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18703
18704 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18705 partmap before abstraction.
18706
535c1910
AK
187072011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
18708
18709 * util/grub-mkconfig_lib.in: Add missing quotes.
18710
bc09e1a2
VS
187112011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18712
18713 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
18714 old method if mountinfo would return /dev/root and /dev/root doesn't
18715 exist.
18716
290766fb
VS
187172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18718
18719 ZFS zlib support
18720
18721 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
18722 (decomp_table): Add zlib entries.
18723 (zio_read): USe 8 bits for compression function rather than 3.
18724 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
18725
187262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18727
18728 * grub-core/disk/ahci.c: Add missing license statements.
18729 * grub-core/fs/romfs.c: Likewise.
18730 * grub-core/lib/ia64/setjmp.S: Likewise.
18731 * grub-core/loader/i386/pc/freedos.c: Likewise.
18732 * grub-core/loader/ia64/efi/linux.c: Likewise.
18733 * grub-core/video/colors.c: Likewise.
18734 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
18735
5ab3f48a
VS
187362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18737
18738 AHCI support.
18739
18740 * grub-core/Makefile.core.def (ata_pthru): Removed.
18741 (ahci): New module.
18742 (pata): Likewise.
18743 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
18744 on unload.
18745 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
18746 readwrite.
18747 (grub_hdparm_do_check_powermode_cmd): Likewise.
18748 (grub_hdparm_do_smart_cmd): Likewise.
18749 (grub_hdparm_set_val_cmd): Likewise.
18750 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
18751 * grub-core/disk/ahci.c: New file.
18752 * grub-core/disk/ata.c: Factor out the low-level part into ...
18753 * grub-core/disk/pata.c: ... here.
18754 * grub-core/disk/ata_pthru.c: Contents moved to ...
18755 * grub-core/disk/pata.c: ... here.
18756 * grub-core/disk/scsi.c (grub_scsi_names): New array.
18757 (grub_scsi_iterate): Use grub_scsi_names.
18758 (grub_scsi_open): Likewise.
18759 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
18760 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
18761 (grub_ata_regs_t): New struct.
18762 (grub_disk_ata_pass_through_parms): Likewise.
18763 (grub_ata_device): Renamed to ...
18764 (grub_ata): ... this.
18765 (grub_ata_dev): New struct.
18766 Removed all low-level inline functions.
18767 * include/grub/scsi.h: Add PATA and AHCI subsystems.
18768 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
18769 iterate hooks and open. All users updated.
18770 * util/grub-install.in: Handle AHCI disk module.
18771
c31dc5f5
SJ
187722011-06-23 Szymon Janc <szymon@janc.net.pl>
18773
18774 Add support for DRI and RSTn markers in JPEG files.
18775
18776 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
18777 (JPEG_MARKER_RST0): Likewise.
18778 (JPEG_MARKER_RST1): Likewise.
18779 (JPEG_MARKER_RST2): Likewise.
18780 (JPEG_MARKER_RST3): Likewise.
18781 (JPEG_MARKER_RST4): Likewise.
18782 (JPEG_MARKER_RST5): Likewise.
18783 (JPEG_MARKER_RST6): Likewise.
18784 (JPEG_MARKER_RST7): Likewise.
18785 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
18786 (grub_jpeg_decode_dri): New function.
18787 (grub_jpeg_decode_sos): Move image data related part into
18788 grub_jpeg_decode_data function.
18789 (grub_jpeg_decode_data): New function.
18790 (grub_jpeg_reset): New function.
18791 (grub_jpeg_decode_jpeg): Handle new markers.
18792
fe12fd5b
VS
187932011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18794
18795 * util/ieee1275/ofpath.c (check_sas): Close fd.
18796 (main): Free of_path.
18797 Reported by: David Volgyes <dvolgyes>.
18798
03147f46
VS
187992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18800
18801 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
18802 Reported by: David Volgyes <dvolgyes>.
18803
cad3237f
VS
188042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18805
18806 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
18807 file after stat.
18808 Reported by: David Volgyes <dvolgyes>.
18809
13548d26
VS
188102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18811
18812 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
18813
18814 Reported by: David Volgyes <dvolgyes>.
18815
e061a1b5
VS
188162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18817
18818 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
18819 Prevent memory leak.
18820
1abe47dc
VS
188212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18822
18823 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
18824 (main): Close file.
e061a1b5 18825 Reported by: David Volgyes <dvolgyes>.
1abe47dc 18826
fbc62666
VS
188272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18828
18829 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
18830 to continue if allocation is failed.
18831
18832 Reported by: David Volgyes <dvolgyes>.
18833
e98c83e9
DV
188342011-06-23 David Volgyes <dvolgyes>
18835
18836 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
18837 dereference.
18838
a199a8cd
VS
188392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18840
18841 Fix spurious warning.
18842
18843 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
18844 (acorn_partition_map_find): Use .bin member.
18845
e2d1dba0
VS
188462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18847
18848 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
18849 /dev/root as a valid device.
18850
8a5d6919
JM
188512011-06-23 Jim Meyering <meyering@redhat.com>
18852
e2d1dba0
VS
18853 Avoid NULL deref in grub_device_open.
18854
8a5d6919
JM
18855 * grub-core/kern/device.c (grub_device_open): Don't dereference
18856 a NULL pointer upon failed grub_env_get.
18857
f7db6f4a
VS
188582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18859
18860 Support non-512B sectors and agglomerate reads.
18861
18862 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
18863 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
18864 (disk_io_guid): Removed.
18865 (make_devices): Locate solely by BlockIO.
18866 (grub_efidisk_open): Fill log_sector_size and total_sectors.
18867 (grub_efidisk_read): Use read_blocks.
18868 (grub_efidisk_write): Use write_blocks.
18869 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
18870 log_sector_size.
18871 (get_safe_sectors): Handle non-512B sectors.
18872 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
18873 sectors.
18874 (grub_biosdisk_write): Handle non-512B sectors.
18875 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
18876 (grub_scsi_read): Remove special non-512B block handling (now handled
18877 one level up).
18878 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
18879 and do sanity checks.
18880 (grub_disk_adjust_range): Handle non-512B sectors.
18881 (transform_sector): New function.
18882 (grub_disk_read_small): Likewise.
18883 (grub_disk_read): Rewritten.
18884 (grub_disk_write): Handle non-512B sectors.
18885 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
18886 log_sector_size.
18887 (open_device): Use log_sector_size.
18888 (grub_util_biosdisk_read): Likewise.
18889 (grub_util_biosdisk_write): Likewise.
18890 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
18891 non-512B sectors.
18892 (pc_partition_map_embed): Likewise.
18893 * include/grub/disk.h (grub_disk): New field log_sector_size.
18894 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
18895 (GRUB_DISK_CACHE_BITS): Increased to 6.
18896 * util/grub-fstest.c (fstest): New command testload.
18897 (argp_parser): Likewise.
18898
881ac815
RM
188992011-06-16 Robert Millan <rmh@gnu.org>
18900
18901 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
18902 `ata' driver on kernel of FreeBSD 9.
18903
18904 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
18905 (get_ataraid_disk_name): New functions.
18906 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
18907 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
18908 get_ataraid_disk_name() and get_ada_disk_name().
18909
1e9aef7d
CW
189102011-06-13 Colin Watson <cjwatson@ubuntu.com>
18911
18912 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
18913 input format.
18914
351c7c8a
CW
189152011-05-29 Colin Watson <cjwatson@ubuntu.com>
18916
18917 * docs/grub.texi (Obtaining and Building GRUB): Substitute
18918 `ftp.gnu.org' for `alpha.gnu.org'.
18919
6b4e6430
CW
189202011-05-27 Colin Watson <cjwatson@ubuntu.com>
18921
18922 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
18923 partitions under /dev/disk/by-id/.
18924
c64db050
CW
189252011-05-27 Colin Watson <cjwatson@ubuntu.com>
18926
18927 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
18928 after ten consecutive open failures. Scanning all the way up to
18929 10000 is excessive and can cause serious performance problems in
18930 some configurations.
18931 Fixes Ubuntu bug #787461.
18932
245f4aba
VS
189332011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
18936 opening new one.
18937
f767c929
VS
189382011-05-21 Colin Watson <cjwatson@ubuntu.com>
189392011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18940
18941 Don't stat devices unless we have to.
18942
18943 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
18944 dir == /dev/mapper.
18945 (grub_guess_root_device): Use already known os_dev if possible.
18946 * grub-core/kern/emu/hostdisk.c
18947 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
18948 if device is known to be a dm one.
18949
f35fa3a6
CW
189502011-05-20 Colin Watson <cjwatson@ubuntu.com>
18951
18952 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
18953 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
18954 Reported by: Pawel Tecza.
18955
9a79fcf2
VS
189562011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
18959 (lsefisystab): Likewise.
18960 (lssal): Likewise.
18961 (lsefimmap): Likewise.
18962 (hdparm): Enable on qemu-mips.
18963 (setjmp): Add ia64 nodist.
18964 (serial): Simplify tags.
18965
63e3eea9
CW
189662011-05-18 Colin Watson <cjwatson@ubuntu.com>
18967
18968 * Makefile.util.def (grub-ofpathname): Install manual page.
18969
09728256
CW
189702011-05-18 Colin Watson <cjwatson@ubuntu.com>
18971
18972 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
18973
8b63a142
CW
189742011-05-18 Colin Watson <cjwatson@ubuntu.com>
18975
18976 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
18977
e775d8ed
VS
189782011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18979
18980 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
18981 into dprintf.
18982
bf947d36
VS
189832011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18984
18985 Use full 64-bit division.
18986
18987 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
18988 (grub_divmod64): ... this.
18989 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
18990 version.
18991
b84f26c5
CW
189922011-05-18 Colin Watson <cjwatson@ubuntu.com>
18993
18994 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
18995 `source'.
18996
5626056f
CW
189972011-05-18 Colin Watson <cjwatson@ubuntu.com>
18998
18999 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
19000 to avoid accidents when debugging with 'sh -x'.
19001 * grub-core/gensyminfo.sh.in: Likewise.
19002 * tests/example_scripted_test.in: Likewise.
19003 * tests/grub_cmd_regexp.in: Likewise.
19004 * tests/grub_script_blanklines.in: Likewise.
19005 * tests/grub_script_dollar.in: Likewise.
19006 * tests/grub_script_expansion.in: Likewise.
19007 * tests/grub_script_final_semicolon.in: Likewise.
19008 * tests/partmap_test.in: Likewise.
19009 * tests/util/grub-shell-tester.in: Likewise.
19010 * tests/util/grub-shell.in: Likewise.
19011
e2965f4a
CW
190122011-05-18 Colin Watson <cjwatson@ubuntu.com>
19013
19014 Move gfxmenu color handling to video, so that gfxterm can use it
19015 too.
19016
19017 * grub-core/gfxmenu/named_colors.c: Move to ...
19018 * grub-core/video/colors.c: ... here. Rename
19019 grub_gui_get_named_color to grub_video_get_named_color.
19020 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
19021 * grub-core/video/colors.c (my_isxdigit): ... here.
19022 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
19023 Move to ...
19024 * grub-core/video/colors.c (parse_hex_color_component): ... here.
19025 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
19026 to ...
19027 * grub-core/video/colors.c (grub_video_parse_color): ... here.
19028
19029 * include/grub/gui.h (grub_gui_color_t): Move to ...
19030 * include/grub/video.h (grub_video_rgba_color_t): ... here.
19031 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
19032 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
19033 * include/grub/gui.h (grub_gui_map_color): Move to ...
19034 * include/grub/video.h (grub_video_map_rgba_color): ... here.
19035 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
19036 to ...
19037 * include/grub/video.h (grub_video_get_named_color): ... here.
19038 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
19039 * include/grub/video.h (grub_video_parse_color): ... here.
19040
19041 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
19042 video/colors.c.
19043 (gfxmenu): Remove gfxmenu/named_colors.c.
19044 (video) [videomodules]: Add video/colors.c.
19045
19046 Add a background_color command.
19047
19048 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
19049 function.
19050 (GRUB_MOD_INIT): Register background_color command.
19051 (GRUB_MOD_FINI): Unregister background_color command.
19052 (redraw_screen_rect): Allow blend/replace of text layer to be
19053 controlled independently from whether there is a background bitmap.
19054 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
19055 changing bitmap.
19056
1e4b4390
VS
190572011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19058
26618ff0
VS
19059 Patch BPB in ntldr and chainloader --bpb.
19060
1e4b4390
VS
19061 * grub-core/fs/fat.c: Include grub/fat.h.
19062 (grub_fat_bpb): Moved to ...
19063 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
19064 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
19065 grub/ntfs.h.
19066 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
19067 Moved from here...
19068 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
19069 here.
19070 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
19071 New function.
19072 (grub_chainloader_cmd): Patch BPB if --bpb is given.
19073 (GRUB_MOD_INIT): Show --bpb.
19074 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
19075 * grub-core/normal/main.c (features): New variable.
19076 (GRUB_MOD_INIT): Set feature_* variables.
19077 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
19078 proto.
19079 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
19080
cf02731e
VS
190812011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19082
19083 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
19084 for cleanness.
19085
e3a1073f
VS
190862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 FreeDOS direct loading support.
19089
19090 * docs/grub.texi (Supported OS): Add FreeDOS.
19091 * grub-core/Makefile.core.def (freedos): New module.
19092 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
19093 variable.
19094 (grub_relocator16_boot): Handle %ebx.
19095 * grub-core/lib/i386/relocator16.S: Likewise.
19096 * grub-core/loader/i386/pc/freedos.c: New file.
19097
05caa461
VS
190982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19099
19100 Long Linux command line support.
19101
19102 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19103 (maximal_cmdline_size): New variable.
19104 (allocate_pages): Use maximal_cmdline_size.
19105 (grub_cmd_linux): Set and use maximal_cmdline_size.
19106 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19107 (allocate_pages): Use maximal_cmdline_size.
19108 (grub_cmd_linux): Set and use maximal_cmdline_size.
19109 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
19110 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
19111 and cmdline_size.
19112
a2491e23
VS
191132011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
191142011-05-18 Colin Watson <cjwatson@ubuntu.com>
19115
19116 Improve devmapper support
19117
19118 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
19119 (grub_util_is_lvm): New function.
19120 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
19121 than lvm if not dmraid.
19122 Handle mapped md nodes.
19123 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
19124 (grub_util_device_is_mapped): ... this. Make always available. All users
19125 updated.
19126 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
19127 (convert_system_partition_to_system_disk): Handle lvm, mpath and
19128 dmraid nodes.
19129 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
19130
6ad6223e
VS
191312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19132
19133 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
19134
19135 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
19136 * grub-core/modinfo.sh.in: New file.
19137 * grub-core/Makefile.core.def (modinfo.sh): New script.
19138 * util/grub-mknetdir.in: Use modinfo.sh.
19139 * util/grub-mkrescue.in: Likewise.
19140
543a8f6e
VS
191412011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19142
19143 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
19144 Fix potential usage of Elf32 instead of Elf64 when compiling on
19145 32-bit architecture. Add endianness macros while on it.
19146
4959e111
VS
191472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19148
19149 Use mipsel- rather than mips- in directories involving mipsel ports to
19150 allow both endiannesses coexist.
19151
19152 * configure.ac: proparate target_cpu=mipsel rather than resetting to
19153 mips. All conditions adjusted.
19154 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
19155 variable.
19156 * util/grub-install.in: Adjust conditions to take renaming into account.
19157 * util/grub-mkimage.c (image_targets): Likewise. New target
19158 mips-qemu_mips-elf for bigendian mips.
19159
35341bbc
VS
191602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19161
19162 Avoid unnecessary copying on MIPS.
19163
19164 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
19165 early if src == dest.
19166 * util/grub-mkimage.c (generate_image): Arange for src == dest if
19167 compression is none.
19168
b772baed
VS
191692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19170
19171 Reduce memory footprint on SGI by putting modules before the kernel
19172 as opposed to after.
19173
19174 * grub-core/Makefile.core.def (kernel): Increase linking address.
19175 (none_decompress): Likewise.
19176 (xz_decompress): Likewise.
19177 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
19178 address.
19179 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
19180 layout change.
19181 (grub_arch_modules_addr): New function.
19182 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
19183 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
19184 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
19185 here.
19186 * grub-core/kern/mips/startup.S (total_size): Rename to ...
19187 (grub_total_modules_size): ... this. Make global.
19188 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
19189 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
19190 New definition.
19191 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
19192 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
19193 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
19194 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
19195 * util/grub-mkimage.c (image_target_desc): New flag
19196 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
19197 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
19198 (generate_image): Handle images with modules before kernel.
19199
566a1917
VS
192002011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19201
19202 Prevent potential loss of memory map by overwrite on qemu-mips.
19203
19204 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19205 Save ram size in $s4.
19206 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
19207 All users changed to grub_arch_memsize.
19208 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
19209 Loongson.
19210 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
19211 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
19212 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
19213 external variable.
19214
5d420cd9
CW
192152011-05-17 Colin Watson <cjwatson@ubuntu.com>
19216
19217 * .bzrignore: Remove grub-dumpbios.
19218
d064b830
CW
192192011-05-17 Colin Watson <cjwatson@ubuntu.com>
19220
19221 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
19222 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
19223 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
19224 existing options which append).
19225 * docs/grub.texi (Simple configuration): Document new options.
19226 Reported by: Ian Jackson. Fixes Debian bug #617538.
19227
3ca2b466
CW
192282011-05-17 Colin Watson <cjwatson@ubuntu.com>
19229
19230 * util/grub-fstest.c (cmd_cat): New function.
19231 (fstest): Handle CMD_CAT.
19232 (options): Add cat.
19233 (argp_parser): Handle cat.
19234
24c9143a
CW
192352011-05-17 Colin Watson <cjwatson@ubuntu.com>
19236
19237 * Makefile.util.def (grub-bin2h): Don't install.
19238 * docs/man/grub-bin2h.h2m: Remove.
19239
90f7ac19
VS
192402011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19241
19242 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
19243 place.
19244
8d4a5178
VS
192452011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19246
19247 Reenable qemu-mips port.
19248
19249 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
19250 Fix small arc bug while on it.
19251 * gentpl.py: Handle qemu_mips.
19252 * grub-core/Makefile.am: Likewise.
19253 * grub-core/Makefile.core.def: Likewise.
19254 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
19255 inappropriate includes.
19256 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
19257 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
19258 * grub-core/kern/main.c (grub_modules_get_end)
19259 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
19260 * grub-core/kern/mips/qemu-mips: Moved to ..
19261 * grub-core/kern/mips/qemu_mips: ... this.
19262 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
19263 (grub_machine_init): Call terminfo_init and serial_init.
19264 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
19265 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19266 New variable.
19267 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
19268 parameter passing.
19269 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
19270 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
19271 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
19272 * include/grub/mips/qemu_mips/cmos.h: New file.
19273 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
19274 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
19275 Removed.
19276 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
19277 Use correct mips-style address.
19278 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
19279 (GRUB_TICKS_PER_SECOND): Removed.
19280 (grub_get_rtc): Likewise.
19281 (grub_cpu_idle): Likewise.
19282 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
19283 New definition.
19284 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
19285 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
19286 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
19287 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
19288 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
19289 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
19290 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
19291 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
19292
400b9371
VS
192932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19294
19295 SGI ARCS port.
19296
19297 * Makefile.util.def (libgrubmods.a): Add dvh.c.
19298 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
19299 platforms.
19300 * configure.ac: New target mips-arc.
19301 * gentpl.py: Likewise.
19302 * grub-core/Makefile.am: Likewise.
19303 * grub-core/Makefile.core.def: Likewise.
19304 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
19305 (none_decompress): Likewise.
19306 (lsdev): New module.
19307 (datetime): Use lib/arc/datetime.c on ARC.
19308 (part_dvh): New module.
19309 * grub-core/commands/arc/lsdev.c: New file.
19310 * grub-core/disk/arc/arcdisk.c: Likewise.
19311 * grub-core/kern/mips/arc/init.c: Likewise.
19312 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
19313 aligned addresses.
19314 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
19315 support.
19316 (grub_arch_dl_relocate_symbols): Likewise.
19317 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
19318 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
19319 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
19320 platforms.
19321 * grub-core/lib/arc/datetime.c: New file.
19322 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
19323 pci.h on non-loongson.
19324 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
19325 (grub_linux_boot): Set unused registers to 0.
19326 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
19327 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
19328 * grub-core/mmap/mips/uppermem.c: ...here.
19329 * grub-core/partmap/dvh.c: New file.
19330 * grub-core/term/arc/console.c: Likewise.
19331 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
19332 (grub_terminfo_set_current): Add terminal "arc".
19333 (grub_terminfo_readkey): Support ARC sequences.
19334 * include/grub/arc/arc.h: New file.
19335 * include/grub/arc/console.h: Likewise.
19336 * include/grub/disk.h (grub_disk_dev_id): Add
19337 GRUB_DISK_DEVICE_ARCDISK_ID.
19338 * include/grub/mips/arc/kernel.h: New file.
19339 * include/grub/mips/arc/memory.h: Likewise.
19340 * include/grub/mips/arc/time.h: Likewise.
19341 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
19342 * include/grub/mips/kernel.h (grub_halt): ... here.
19343 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
19344 here...
19345 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
19346 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
19347 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
19348 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
19349 proto.
19350 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
19351 from here ...
19352 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
19353 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
19354 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
19355 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
19356 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
19357 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
19358 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
19359 (grub_phys_addr_t): Moved from here ...
19360 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
19361 (grub_vtop): Moved from here ...
19362 * include/grub/mips/memory.h (grub_vtop): ... here.
19363 (grub_map_memory): Moved from here ...
19364 * include/grub/mips/memory.h (grub_map_memory): ... here.
19365 (grub_unmap_memory): Moved from here ...
19366 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
19367 (grub_machine_mmap_iterate): Moved from here ...
19368 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
19369 (grub_mmap_get_lower): Moved from here ...
19370 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
19371 (grub_mmap_get_upper): Moved from here ...
19372 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
19373 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19374 here ...
19375 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19376 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
19377 here ...
19378 * include/grub/mips/time.h (grub_get_rtc): ... here.
19379 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19380 here ...
19381 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19382 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
19383 here ...
19384 * include/grub/mips/time.h (grub_cpu_idle): ... here.
19385 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
19386 definition.
19387 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
19388 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
19389 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
19390 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
19391 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
19392 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
19393 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
19394 (GRUB_MACHINE_LINK_ADDR): Likewise.
19395 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
19396 to 6.
19397 * util/grub-install.in: Run dvhtool on ARC.
19398 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 19399 (generate_image): Handle ECOFF output for mips-arc.
400b9371 19400
c8ecc840
VS
194012011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19402
19403 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
19404 blocks.
19405
153a4b55
VS
194062011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19407
19408 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
19409 after enabling port.
19410
ff44d107
VS
194112011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 Skip incorrect USB devices.
19414
19415 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
19416 configcnt == 0.
19417 * include/grub/usb.h (grub_usb_err_t): New enum value
19418 GRUB_USB_ERR_BADDEVICE.
19419
638dbe4f
VS
194202011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19421
19422 Fuloong video init support.
19423
19424 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
19425 well.
19426 (grub_vga_read_arx): New function.
19427 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
19428 definition.
19429 (framebuffer): New members io, mmioptr and mmiobase.
19430 (read_sis_cmd): New function.
19431 (write_sis_cmd): Likewise.
19432 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
19433 rather than 640x400.
19434 * grub-core/video/sis315_init.c: New file.
19435
c3fc520c
VS
194362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19437
19438 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
19439 non-loongson.
19440 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
19441 to grub_dl_register_symbol.
19442
67b1e5c9
VS
194432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19444
19445 Fix compilation errors.
19446
19447 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
19448 potentially unused.
19449 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
19450 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
19451 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
19452 to loongson machines.
19453
b756f75f
VS
194542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19455
19456 Several FS mtime support.
19457
19458 * grub-core/fs/affs.c (grub_affs_time): New struct.
19459 (grub_affs_file): New field mtime.
19460 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
19461 type. Removed 'size'. New field 'di'. All users updated.
19462 (grub_affs_mount): Simplify checsum checking.
19463 (grub_affs_iterate_dir): New helper grub_affs_create_node.
19464 (grub_affs_dir): Handle mtime.
19465 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
19466 (grub_cpio_dir): Likewise.
19467 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
19468 (grub_hfs_filerec): New field mtime.
19469 (grub_hfs_dir): Handle mtime.
19470 (grub_hfs_mtime): New function.
19471 (grub_hfs_fs): Register grub_hfs_mtime.
19472 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
19473 (grub_iso9660_dir): New field mtime.
19474 (grub_fshelp_node): New field dirent.
19475 (iso9660_to_unixtime): New function.
19476 (iso9660_to_unixtime2): Likewise.
19477 (grub_iso9660_read_symlink): Use node->dirent.
19478 (grub_iso9660_iterate_dir): Likewise.
19479 (grub_iso9660_dir): Set mtime.
19480 (grub_iso9660_mtime): New function.
19481 (grub_iso9660_fs): Register grub_iso9660_mtime.
19482 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
19483 (grub_jfs_inode): New fields atime, ctime and mtime.
19484 (grub_jfs_dir): Set mtime.
19485 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19486 * grub-core/fs/ntfs.c (list_file): Set mtime.
19487 (grub_ntfs_dir): Likewise.
19488 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
19489 (grub_reiserfs_iterate_dir): Set mtime.
19490 (grub_reiserfs_dir): Likewise.
19491 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
19492 (grub_fshelp_node): Likewise.
19493 (grub_sfs_iterate_dir): Set mtime.
19494 (grub_sfs_dir): Likewise.
19495 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
19496 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
19497 (grub_xfs_inode): New fields atime, mtime, ctime.
19498 (grub_xfs_dir): Set mtime.
19499 * include/grub/datetime.h (grub_datetime2unixtime): New function.
19500 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
19501 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
19502
19503 Support UDF symlinks.
19504
19505 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
19506 (grub_ufs_read_symlink): New function. All users updated.
19507
19508 Check amiga partmap checksum.
19509
19510 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
19511 (grub_amiga_partition): Likewise.
19512 (amiga_partition_map_checksum): New function.
19513 (amiga_partition_map_iterate): Check checksum.
19514
5470225d
VS
195152011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19516
19517 ROMFS support.
19518
19519 * Makefile.util.def (libgrubmods.a): Add romfs.
19520 * grub-core/Makefile.core.def (romfs): New module.
19521 * grub-core/fs/romfs.c: New file.
19522
d4680a35
VS
195232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19524
19525 Squashfs v4 support.
19526
19527 * Makefile.util.def (libgrubmods.a): Add squash4.
19528 * grub-core/Makefile.core.def (squash4): New module.
19529 * grub-core/fs/squash4.c: New file.
19530 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
19531 disk_input_start, disk_input.
19532 (get_byte): Handle disk_input.
19533 (grub_zlib_disk_read): New function.
19534 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
19535
bcb18e74
FZ
195362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
195372011-05-15 Feiran Zheng <famcool@gmail.com>
19538
19539 * Makefile.util.def (libgrubmods.a): Add minix3.
19540 * grub-core/Makefile.core.def (minix3): New module.
19541 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
19542 (GRUB_MINIX_BSIZE): Removed.
19543 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
19544 (grub_minix_ino_t): New type.
19545 (grub_minix_le_to_cpu_ino): New macro.
19546 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
19547 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
19548 (grub_minix_data): New field block_size.
19549 (grub_minix_read_file): Handle 64-bit correctly.
19550 * grub-core/fs/minix3.c: New file.
19551
32297d5f
TG
195522011-05-15 Tristan Gingold <gingold@free.fr>
195532011-05-15 Robert Millan <rmh.grub@aybabtu.com>
195542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19555
19556 IA64 support.
19557
19558 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
19559 * configure.ac: Add ia64-efi target.
19560 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
19561 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
19562 * gentpl.py: Add ia64_efi platform.
19563 Rename x86_efi to efi and Add ia64-efi. All users updated.
19564 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
19565 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
19566 Remove kern/generic/rtc_get_time_ms.c on EFI.
19567 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
19568 kern/ia64/dl_helper.c on ia64-efi.
19569 Add kern/emu/cache.c on emu.
19570 (linux): Use on loader/ia64/efi/linux.c on ia64.
19571 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
19572 whether symbol is a function.
19573 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
19574 (grub_symbol): New field 'isfunc'.
19575 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
19576 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
19577 (grub_dl_load_segments): Place all sections into the same region.
19578 [__ia64__]: Create trampolines and got.
19579 [GRUB_MACHINE_EMU]: Call mprotect.
19580 (grub_dl_resolve_symbols): Resolve symbol type as well.
19581 [__ia64__]: Create function descriptors.
19582 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
19583 (grub_rtc_get_time_ms): ... this. Expressions simplified.
19584 (grub_get_rtc): New function.
19585 * grub-core/kern/emu/cache.c [__ia64__]: New file.
19586 * grub-core/kern/emu/cache.S: Renamed to ...
19587 * grub-core/kern/emu/cache_s.S: ... this.
19588 [__ia64__]: Add a nop.
19589 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
19590 [__ia64__]: New function.
19591 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
19592 * grub-core/kern/ia64/dl.c: New file.
19593 * grub-core/kern/ia64/dl_helper.c: Likewise.
19594 * grub-core/kern/ia64/efi/init.c: New file.
19595 * grub-core/kern/ia64/efi/startup.S: Likewise.
19596 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
19597 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
19598 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
19599 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
19600 * grub-core/loader/ia64/efi/linux.c: New file.
19601 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
19602 (GRUB_MOD_DEP): Likewise.
19603 (grub_dl) [__ia64__]: New fields got and tramp.
19604 (grub_dl): New field 'base'.
19605 (grub_dl_register_symbol): New argument isfunc. All users updated.
19606 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
19607 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
19608 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
19609 (grub_ia64_dl_get_tramp_got_size): New proto.
19610 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
19611 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
19612 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
19613 * include/grub/efi/api.h: Skip call wrappers on ia64.
19614 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
19615 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
19616 * include/grub/elf.h (ELF_ST_INFO): New definition.
19617 * include/grub/ia64/efi/kernel.h: New file.
19618 * include/grub/ia64/efi/memory.h: Likewise.
19619 * include/grub/ia64/efi/time.h: Likewise.
19620 * include/grub/ia64/kernel.h: Likewise.
19621 * include/grub/ia64/setjmp.h: Likewise (from glibc).
19622 * include/grub/ia64/time.h: New file.
19623 * include/grub/ia64/types.h: Likewise.
19624 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
19625 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
19626 New protos.
19627 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
19628 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
19629 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
19630 * util/grub-mkimage.c (image_target_desc): New field pe_target.
19631 All users updated.
19632 (EFI64_HEADER_SIZE): New definition. All users updated.
19633 (image_targets): Add ia64-efi.
19634 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
19635 jumpers_addr. All users updated.
19636 Create function descriptors.
19637 (count_funcs): New function.
19638 (unaligned_uint32): New struct.
19639 (MASK20): New definition.
19640 (MASK19): Likewise.
19641 (MASKF21): Likewise.
19642 (add_value_to_slot_20b): New function.
19643 (add_value_to_slot_21_real): Likewise.
19644 (add_value_to_slot_21): Likewise.
19645 (ia64_kernel_trampoline): New struct.
19646 (nopm): New variable.
19647 (jump): Likewise.
19648 (make_trampoline): New function.
19649 (relocate_addresses): Handle ia64.
19650 (make_reloc_section): Likewise.
19651 (load_image): Likewise.
19652
983b414d
VS
196532011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19654
19655 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
19656 warning. Move variables before code while on it.
19657
5d063cdc
VS
196582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19659
19660 Fuloong support.
19661
19662 * configure.ac: Rename yeeloong platform to loongson. All users updated.
19663 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
19664 * grub-core/boot/mips/loongson/fuloong.S: New file.
19665 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
19666 Explicitly init CS5536.
19667 [FULOONG]: Don't use serial until CS5536 is available.
19668 Set GPIO based on dumps.
19669 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
19670 [FULOONG]: Handle GPIO and memory controller differences.
19671 Parse machine type in $a2.
19672 * grub-core/boot/mips/startup_raw.S: Determine and save the
19673 architecture.
19674 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
19675 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
19676 init on architecture type.
19677 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
19678 SIS315E. Don't init at_keyboard on fuloong.
19679 (grub_halt): Support Fuloong.
19680 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
19681 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
19682 (loongson_machtypes): New array.
19683 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
19684 type.
19685 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
19686 config. All users updated. Handle CS5536 serial.
19687 * grub-core/term/serial.c (grub_serial_register): Conditionalise
19688 default port on machine type. Register serial as inactive.
19689 * grub-core/video/sis315pro.c: New file.
19690 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
19691 definition.
19692 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
19693 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
19694 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
19695 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
19696 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
19697 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
19698 to ...
19699 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
19700 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
19701 definition.
19702 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
19703 (grub_arch_machine): New extern var.
19704 * include/grub/mips/loongson/serial.h
19705 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
19706 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
19707 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
19708 (GRUB_MACHINE_SERIAL_PORT0): ... this.
19709 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
19710 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
19711 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
19712 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
19713 * include/grub/term.h (grub_term_register_input_inactive): New inline
19714 function.
19715 (grub_term_register_output_inactive): Likewise.
19716 * include/grub/video.h (grub_video_driver_id): New value
19717 GRUB_VIDEO_DRIVER_SIS315PRO.
19718 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
19719 New field "names". All users updated.
19720 New field value IMAGE_FULOONG_FLASH.
19721 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
19722
6ada82d1
JU
197232011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
19724
19725 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
19726 and add some clarification.
19727
90c571a4
VS
197282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19729
19730 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
19731 platforms if kernel is compressed.
19732
de04eecf
VS
197332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19734
19735 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
19736 unused modules since currently referrence counter isn't reliable and
19737 there isn't much memory to recover there anyway.
19738
57688121
VS
197392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19740
19741 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
19742 rather than resetting it to allow modules to reference themselves
19743 in init.
19744
3d2c7e35
VS
197452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19746
19747 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
19748 counter on dependencies since grub_dl_unref already handles this.
19749
b25db218
VS
197502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19751
19752 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
19753 on error if not already done.
19754
25a45338
VS
197552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19756
19757 Fix few potential memory misusage.
19758
19759 * grub-core/font/font.c (load_font_index): Don't free char_index to
19760 avoid double free.
b25db218
VS
19761 (grub_font_load): Zero-fill font at alloc for safety.
19762 Close file on error.
19763 (free_font): Free bmp_idx.
25a45338 19764
0cac83df
VS
197652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19766
19767 * docs/grub.texi (Installation): Fix several outdated claims.
19768
2217a143
VS
197692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19770
19771 Handle module_license on windows.
19772
19773 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
19774 sections shifted.
19775 (insert_string): Make argument const char * instead of char *.
19776 (write_section_data): Handle long section names.
19777 Handle module_license.
19778
d4de6b01
VS
197792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19780
19781 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
19782 handle class-free menuentries.
19783 (grub_normal_add_menu_entry): Add a check to be sure.
19784
4c2a3b43
VS
197852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19786
19787 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
19788 PgUp and PgDown.
19789
85c6210f
VS
197902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19791
19792 * configure.ac: Bump version to 1.99.
19793
36084912
VS
197942011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19795
19796 Give ATA device a bit more time on first try in order to allow disks
19797 to spin up.
19798
19799 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
19800 if dev->present is 1. Reset dev->present on failure.
19801 (grub_ata_device_initialize): Set dev->present to 1.
19802 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
19803 (grub_ata_device): New member 'present'.
19804
bda0e219
VS
198052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19806
19807 * util/grub-mkimage.c (generate_image): Update hash.
19808
19e1c41b
VS
198092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19810
19811 Flush caches on DMA memory.
19812
19813 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
19814 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
19815 (grub_dma_free): Likewise.
19816 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
19817
91bbcc0c
VS
198182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19819
19820 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
19821 to avoid asm treating ld and sd as macros.
19822
60ddfad3
VS
198232011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19824
19825 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
19826 decompressor.
19827
a298aa04
VS
198282011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19829
19830 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
19831 grub_decompress_core since later would fail if grub_decompress_core
19832 is too far.
19833
9b44feca
VS
198342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19835
19836 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
19837 R_MIPS_JALR since it's used by newer compiler.
19838
56dbe7b4
VS
198392011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
19840
19841 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
19842
52856af2
VS
198432011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19844
19845 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
19846 file_path to 0 for surety.
19847 (grub_chainloader_boot): Set exit_data to NULL.
19848 Unset the loader once done.
19849 (grub_cmd_chainloader): Fix confusing error message if file is empty.
19850
9c9bfc6d
VS
198512011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19852
19853 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
19854 unknown key into a dprintf.
19855
dd94a3df
VS
198562011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
19859 on first non-existant partition.
19860
fa68d99c
VS
198612011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19862
19863 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
19864 openning fails.
19865 Reported by: Mark Korenberg.
19866
157effb7
VS
198672011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19868
19869 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
19870 overflow.
19871
ea75312f
VS
198722011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19873
19874 * util/grub-mkimage.c (main): Explicitely flush and sync the output
19875 before closing to ensure that it will be readable by grub-setup.
19876
072b5d31
VS
198772011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19878
19879 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
19880 (devpath_1): Use MAKE_PIWG_PATH.
19881 (devpath_2): Likewise.
19882 (devpath_3): Likewise.
19883 (devpath_4): Likewise.
19884 (devpath_5): Likewise.
19885 (devpath_6): Likewise.
19886
19887 The appleldr.mod was checked that to be binary identical to previous
19888 version.
19889
7fae0051
Z
198902011-05-05 Zach <mikezackles>
19891
19892 Support 2010 Macbooks.
19893
19894 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
19895 (devs): Add devpath_6.
19896
7c515bee
VS
198972011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19898
19899 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
19900 /dev/random. /dev/urandom is good enough for our purposes (salting).
19901
ed660bd8
VS
199022011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19903
19904 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
19905
ee5614b7
VS
199062011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19907
19908 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
19909 hexadecimal.
19910
664889a6
VS
199112011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19912
19913 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
19914 and not 0 on failure.
19915
bd405bbc
CW
199162011-05-03 Colin Watson <cjwatson@ubuntu.com>
19917
19918 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
19919 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
19920 disk; otherwise grub_fs_probe will not fall back to the next
19921 filesystem.
19922 (grub_pxefs_open): Likewise, for consistency.
19923 Reported and tested by: Ezekiel Grave.
19924
4ebff753
CW
199252011-05-03 Colin Watson <cjwatson@ubuntu.com>
19926
19927 * tests/partmap_test.in: Don't hardcode path to parted.
19928 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
19929
8f942553
CW
199302011-05-01 Colin Watson <cjwatson@ubuntu.com>
19931
19932 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
19933 of `ls' to find out which devices are available.
19934
3c62402d
VS
199352011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19936
19937 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
19938 than source address for efi mmap buffer.
19939
723f63f2
VS
199402011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19941
19942 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
19943 wrong action on non-detecting the magic.
19944
68797f92
VS
199452011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19946
19947 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
19948 already supplied by another part of the module (fixes compilation on
19949 FreeBSD).
19950
6be8715d
VS
199512011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
19954 match the one used by mdadm.
19955
e91dba5b
CW
199562011-04-21 Colin Watson <cjwatson@ubuntu.com>
19957
19958 * po/README: Add instructions for creating po/LINGUAS.
19959
c85140b3
CW
199602011-04-21 Colin Watson <cjwatson@ubuntu.com>
19961
19962 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
19963 #551428.
19964
19965 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
19966 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
19967 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
19968 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
19969 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
19970 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
19971 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
19972 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
19973 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
19974 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
19975 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
19976 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
19977 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
19978 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
19979 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
19980 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
19981 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
19982 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
19983 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
19984 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
19985 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
19986 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
19987
92051871
CW
199882011-04-21 Colin Watson <cjwatson@ubuntu.com>
19989
19990 * grub-core/kern/emu/getroot.c
19991 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
19992 test that was incorrectly reintroduced in r3214.
19993 Reported by: Ian Dall. Fixes Savannah bug #33133.
19994
b13f79a4
CW
199952011-04-21 Colin Watson <cjwatson@ubuntu.com>
19996
19997 Fix stack pointer handling in 16-bit relocator.
19998
19999 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
20000 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
20001 Fixes Ubuntu bug #683904.
20002
9b710a88
VS
200032011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20004
20005 * configure.ac: Bump version to 1.99~rc2.
20006
d97e7b59
VS
200072011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20008
20009 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
20010 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
20011 * grub-core/lib/x86_64/setjmp.S: Likewise.
20012 * grub-core/lib/mips/setjmp.S: Likewise.
20013 * grub-core/lib/powerpc/setjmp.S: Likewise.
20014 * grub-core/lib/sparc64/setjmp.S: Likewise.
20015
0624551c
VS
200162011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20017
20018 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
20019 * grub-core/lib/efi/datetime.c: Likewise.
20020
e8f28d4c
VS
200212011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20022
20023 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
20024 New function.
20025 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
20026 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
20027 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
20028
bba79a15
VS
200292011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20030
20031 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
20032 bitmap.
20033 (grub_gfxterm_term_init): Likewise.
20034
abc474ef
VS
200352011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20036
20037 Take into account the decorations the computing menu entry width.
20038
20039 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
20040 (grub_gfxmenu_create_box): Register get_border_width.
20041 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
20042 if available.
20043 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
20044 get_border_width.
20045
e74b3947
EP
200462011-04-18 Endres Puschner <code@e7p.de>
20047
20048 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
20049 Don't skip first class.
20050
34faa595
VS
200512011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
20054 chunks.
20055 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
20056
93a777e3
VS
200572011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 Complete 64-bit division support.
20060
20061 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
20062 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
20063 * include/grub/misc.h (grub_divmod64): Rename to ...
20064 (grub_divmod64_full): ... this.
20065 (grub_divmod64): New inline function.
20066
a5102d94
VS
200672011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20068
20069 * util/grub-mkimage.c (generate_image): Add forgotten comma.
20070
f3fb7b36
VS
200712011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20072
20073 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
20074 performing the necessary test.
20075
9ac718b0
VS
200762011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20077
20078 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
20079 (kfreebsd.elf): Likewise.
20080 (pc-chainloader.elf): Likewise.
20081 (ntldr.elf): Likewise.
20082
50d2cc5a
VS
200832011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20084
20085 Identify RAID by its UUID rather than (guessed) name.
20086
20087 * grub-core/disk/raid.c (ascii2hex): New function.
20088 (grub_raid_open): Accept mduuid/%s specification.
20089 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
20090 (get_mdadm_uuid): ... this.
20091 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
20092
e03f7bea
VS
200932011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
20094
20095 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
20096 to negative size.
20097
e74c3112
CW
200982011-04-13 Colin Watson <cjwatson@ubuntu.com>
20099
20100 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
20101 btrfs subvolume.
20102 * util/grub.d/20_linux_xen.in: Likewise.
20103
78fa584f
CW
201042011-04-13 Colin Watson <cjwatson@ubuntu.com>
20105
20106 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
20107 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
20108
20109 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20110 Build a list of relevant visible mounts using the mnt_id and
20111 parent_mnt_id fields, and then scan that list at the end.
20112
9d5f8162
CW
201132011-04-12 Colin Watson <cjwatson@ubuntu.com>
20114
20115 * docs/grub.texi (normal): New section.
20116 (normal_exit): New section.
20117 (Embedded configuration): Add reference to normal.
20118 (GRUB only offers a rescue shell): Likewise.
20119 * docs/grub-dev.texi (Error Handling): Fix typo.
20120
09a9d66f
CW
201212011-04-12 Colin Watson <cjwatson@ubuntu.com>
20122
20123 * NEWS: Drop obsolete entry about probe-only btrfs support.
20124
0c676933
CW
201252011-04-12 Colin Watson <cjwatson@ubuntu.com>
20126
20127 * util/import_gcry.py: Fix typo.
20128
ec9f5e0d
VS
201292011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20130
20131 * NEWS: Add btrfs support.
20132
fe6b2cba
VS
201332011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
201342011-04-11 Colin Watson <cjwatson@ubuntu.com>
20135
20136 BtrFS support. Written by me (Vladimir) with important bugfixes and
20137 even more important testing by Colin.
20138
20139 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
20140 * grub-core/Makefile.core.def (btrfs): Add crc.c.
20141 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
20142 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
20143 mem_input_off and mem_input. All users updated to accept in-RAM input.
20144 (gzio_seek): New function.
20145 (test_zlib_header): Likewise.
20146 (grub_gzio_read): Likewise.
20147 (grub_zlib_decompress): Likewise.
20148 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
20149 Accept partial and non-virtual mounts.
20150 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
20151 avoid receiving /dev/dm-X as device.
20152 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
20153 Handle bind and partial mounts.
20154 * grub-core/lib/crc.c: New file.
20155 * include/grub/deflate.h: Likewise.
20156 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
20157 proto.
20158 * include/grub/lib/crc.h: New file.
20159
e745cf0c
VS
201602011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20161
20162 Implement automatic module license checking according to new GNU
20163 guidelines.
20164
20165 * grub-core/kern/dl.c (grub_dl_check_license): New function.
20166 (grub_dl_load_core): Use grub_dl_check_license.
20167 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
20168 (GRUB_MOD_LICENSE): Likewise.
20169 (GRUB_MOD_DUAL_LICENSE): Likewise.
20170 All modules updated.
20171
2a9bc016
CW
201722011-04-11 Colin Watson <cjwatson@ubuntu.com>
20173
20174 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
20175 reserved_first_sector to 1. btrfs reserves plenty of space for boot
20176 loaders.
20177 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
20178
8a3bc88e
VS
201792011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20180
20181 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
20182
af869a4a
VS
201832011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20184
20185 * util/grub-fstest.c (read_file): Report GRUB error if file opening
20186 failed.
20187
9ee8d94f
VS
201882011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20189
20190 * grub-core/kern/file.c (grub_file_open): Don't take into account the
20191 parenthesis in the middle of the filename.
20192
b01abe3e
VS
201932011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
20196 rather than trying to put initrd way too high.
20197 Reported by: Ryan Lortie <desrt@desrt.ca>
20198
335bda1e
VS
201992011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20200
20201 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
20202 improperly removed string.
20203
5ca1a64d
VS
202042011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20205
20206 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
20207 is_disk.
20208 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
20209 (open_device) Likewise.
20210 (grub_util_biosdisk_close): Likewise.
d8ce9995 20211 Reported by: Mark Korenberg.
5ca1a64d 20212
cbac5b1e
AK
202132011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
20214
20215 * util/grub-mkconfig_lib.in: Add missing quotes.
20216
088cdb65
CW
202172011-04-10 Colin Watson <cjwatson@ubuntu.com>
20218
20219 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
20220 is NULL.
20221
8b8a81fa
VS
202222011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20223
20224 Dynamically count the number of lines for the lower banner.
20225
20226 * grub-core/normal/menu_entry.c (per_term_screen): New member
20227 num_entries.
20228 (print_down): Use num_entries.
20229 (update_screen): Likewise.
20230 (grub_menu_entry_run): Set num_entries.
20231 * grub-core/normal/menu_text.c (menu_viewer_data): New member
20232 num_entries.
20233 (grub_print_message_indented): Move real part to ...
20234 (grub_print_message_indented_real): ... here. Additional argument
20235 dry_run.
20236 (draw_border): Additional argument num_entries.
20237 (print_message): Additional argument dry_run.
20238 (print_entries): Receive menu viewer data.
20239 (grub_menu_init_page): New argment num_entries.
20240 (menu_text_set_chosen_entry): Use num_entries.
20241 (grub_menu_try_text): Likewise.
20242 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
20243 All users updated.
20244 (grub_ucs4_count_lines): New function.
20245 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
20246 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
20247 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
20248 (grub_term_border_height): Likewise.
20249 (grub_term_num_entries): Likewise.
20250
277f955b
VS
202512011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20252
20253 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
20254 Remove now unused string.
20255
536ce85a
CW
202562011-04-09 Colin Watson <cjwatson@ubuntu.com>
20257
20258 * docs/grub-dev.texi (Finding your way around): Update for 1.99
20259 build system.
20260 (Getting started): GRUB is developed in Bazaar now, not Subversion.
20261
20262 (Comment): Fix typo.
20263 (Getting started): General copy-editing.
20264 (Typical Development Experience): Likewise.
20265 (Error Handling): Likewise.
20266 (Video API): Likewise.
20267
2cf09e32
CW
202682011-04-09 Colin Watson <cjwatson@ubuntu.com>
20269
20270 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
20271 throughout.
20272
1ec652f4
VS
202732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 * util/grub-mkimage.c (main): Handle special naming of yeeloong
20276 directory.
20277
2c583728
CW
202782011-04-08 Colin Watson <cjwatson@ubuntu.com>
20279
20280 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
20281 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
20282 "development".
20283
d7a565e9
VS
202842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20285
20286 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
20287 grub_strcpy since the lines aren't necessarily 0-terminated.
20288
7c2e4909
VS
202892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
20292 root on legacy.
20293
34c09785
VS
202942011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20295
20296 * grub-core/commands/probe.c (options): Argument to set isn't optional.
20297 (GRUB_MOD_INIT): DEVICE isn't optional.
20298
6a6f8058
VS
202992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20300
20301 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
20302 word on new line if it's too long anyway. Fixes a hang.
20303
2e335e90
VS
203042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20305
20306 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
20307 const.
20308 * util/grub-setup.c (main): Reuse md device name if available.
20309 * util/raid.c (grub_util_raid_getmembers): Receive device name and
20310 not GRUB name as argument.
20311 Based on patch by: Florian Wagner <fwagner>.
20312
10a7a867
VS
203132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20314
20315 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20316 Place mbi on low memory for better compatibility.
20317
7a3d6cd9
VS
203182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20319
20320 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
20321
18dd6b47
VS
203222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
203232011-04-08 Colin Watson <cjwatson@ubuntu.com>
20324
20325 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 20326 * conf/Makefile.common: Likewise.
18dd6b47 20327
3c0e3f14
VS
203282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20329
f7148863
VS
20330 * grub-core/normal/menu.c: Add missing include.
20331
203322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20333
20334 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 20335
6d1fa41f
MZ
203362011-04-08 Martin Zuther <mzuther@mzuther.de>
20337
20338 * util/grub-mkconfig.in: Ignore emacsen backup.
20339
478182a8
VS
203402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20341
20342 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
20343 on open.
20344 (grub_util_biosdisk_close): Likewise.
20345
72a89a54
VS
203462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20347
20348 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
20349 const attribute and use grub_isdigit.
20350
b5ebecfa
A
203512011-04-06 Andrey <dev_null@ukr.net>
20352
20353 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
20354 gcc warning.
20355
7755f66e
VS
203562011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20357
20358 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
20359 useful grub_dprintf's.
20360
461121ff
VS
203612011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20362
20363 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
20364
2a961775
VS
203652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20366
20367 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
20368
adf594cc
VS
203692011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 Output errors if theme loading failed.
20372
20373 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
20374 grub_gfxterm_fullscreen on error paths to ...
20375 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
20376 theme loading error.
20377
665900a3
VS
203782011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20379
20380 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
20381 space for older compilers.
20382 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20383
a562b479
VS
203842011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20385
20386 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
20387 and report them as not RAID members since they are useless for GRUB.
20388 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20389
850e9373
VS
203902011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20391
20392 Increase LVM implementation robustness in order not to crash on
20393 configurations like pvmove. Previously code assumed that in some places
20394 only lvs or only pvs are used whereas it seems that they are used
20395 interchangeably.
20396
20397 * grub-core/disk/lvm.c (read_node): New function.
20398 (read_lv): Use read_node.
20399 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
20400 Match volumes only at the end when all lvs are found. Take both
20401 pvs (first) and lvs (second) into account.
20402 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
20403 mirror_* into node_*. All users updated.
20404 (grub_lvm_stripe): Merge this ...
20405 (grub_lvm_mirror): ... and this ...
20406 (grub_lvm_node): ... into this. All users updated.
20407
6f332153
VS
204082011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20409
20410 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
20411 of function to allow further scanning for LVMs.
20412
829ea451
VS
204132011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20414
20415 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
20416 on failed seek as it breaks open fd reusage.
20417
09ceb9a5
VS
204182011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20419
20420 * util/grub-install.in: Add a recommendation to use --recheck before
20421 reporting bugs.
20422
67e11623
VS
204232011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20424
20425 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
20426 are obtained.
20427
caee5efd
VS
204282011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20429
20430 GRUB developper manual based on existing Internals section and
20431 contributions by the various authors with active copyright assignment.
20432
20433 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
20434 * docs/font_char_metrics.png: New file.
20435 * docs/font_char_metrics.txt: Likewise.
20436 * docs/grub-dev.texi: Likewise.
20437 * docs/grub.texi (Internals): Move from here ...
20438 * docs/grub-dev.texi: ... here.
20439
2cccc747
CW
204402011-04-01 Colin Watson <cjwatson@ubuntu.com>
20441
20442 Store the loopback device as data on loopback grub_disk structures,
20443 rather than the file it points to. This fixes use of freed memory
20444 if an existing loopback device is replaced.
20445
20446 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
20447 disk->data, not dev->file.
20448 (grub_loopback_read): Adjust file assignment to match.
20449 Fixes Ubuntu bug #742967.
20450
186ae367
CW
204512011-04-01 Colin Watson <cjwatson@ubuntu.com>
20452
20453 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
20454 when replacing an existing device.
20455
cfed2ad0
VS
204562011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
20459 memory corruptions.
20460
20461 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
20462 unsigned.
20463 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
20464 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
20465 (grub_jfs_read_inode): Likewise.
20466 (grub_jfs_opendir): Likewise. Remove now useless casts.
20467 (grub_jfs_getent): Likewise.
20468 Make ino a grub_uint32_t rather than int.
20469 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
20470 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
20471 division and module with bit operations.
20472 (grub_jfs_find_file): Make ino a grub_uint32_t.
20473 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
20474
05d2ed32
CW
204752011-04-01 Colin Watson <cjwatson@ubuntu.com>
20476
20477 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
20478 warning. (This was in fact always initialised before use, but GCC
20479 wasn't smart enough to prove that.)
20480 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
20481
91dc6073
VS
204822011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20483
20484 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
20485 stack alignment.
20486 (efi_wrap_1): Likewise.
20487 (efi_wrap_2): Likewise.
20488 (efi_wrap_3): Likewise.
20489 (efi_wrap_4): Likewise.
20490 (efi_wrap_5): Likewise.
20491 (efi_wrap_6): Likewise.
20492 (efi_wrap_10): Likewise.
20493 Based on information by: Red Hat/Peter Jones.
20494
a8afc1d1
CW
204952011-03-31 Colin Watson <cjwatson@ubuntu.com>
20496
20497 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
20498 set-but-not-used variable.
20499
a826cc7d
CW
205002011-03-31 Colin Watson <cjwatson@ubuntu.com>
20501
20502 * docs/grub.texi (Simple configuration): Be more explicit about
20503 GRUB_DEFAULT, and add an example.
20504 Reported by: Leslie Rhorer.
20505
875b67ba
CW
205062011-03-30 Colin Watson <cjwatson@ubuntu.com>
20507
20508 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
20509 shell".
20510
fd7cd914
AS
205112011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20512
20513 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
20514 * util/grub.d/20_linux_xen.in: Likewise.
20515
090b1b6a
VS
205162011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20517
20518 * util/grub.d/10_linux.in: Try alternative config filenames where
20519 we parse config file.
20520 * util/grub.d/20_linux_xen.in: Likewise.
20521
baad885c
AS
205222011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20523
20524 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
20525 * util/grub.d/20_linux_xen.in: Likewise.
20526
241e41f5
VS
205272011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20528
20529 * grub-core/disk/raid.c (insert_array): Add few potentially
20530 useful grub_util_info.
20531 (grub_raid_register): Likewise.
20532
56445fb2
VS
205332011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20534
20535 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
20536 Preserve partition number in mdadm code path.
20537
c871b1c6
VS
205382011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20539
20540 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
20541 few potentially useful grub_util_info.
20542
5e631b4f
CW
205432011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20544
20545 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
20546
2d5d0333
CW
205472011-03-30 Colin Watson <cjwatson@ubuntu.com>
20548
20549 * docs/grub.texi (default): Use @example rather than nested
20550 itemized lists to avoid breaking gendocs.
20551
3d7ed04e
CW
205522011-03-30 Colin Watson <cjwatson@ubuntu.com>
20553
20554 * docs/grub.texi (Future): Update.
20555
abf04200 205562011-03-30 Colin Watson <cjwatson@ubuntu.com>
20557
20558 * docs/grub.texi (Environment): New chapter.
20559 (Changes from GRUB Legacy): Link to "Environment block" section for
20560 details of limitations.
20561 (Simple configuration): Likewise. Link to documentation of gfxmode
20562 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
20563 respectively.
20564 (Shell-like scripting): Note that normal variables are stored in the
20565 environment.
20566 (gettext): Link to documentation of lang and locale_dir.
20567 (list_env): New section.
20568 (load_env): New section.
20569 (save_env): New section.
20570
20571 (Reporting bugs): Fix typo.
20572
e1ad0edd
VS
205732011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20574
20575 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
20576 the example.
20577
5d803174
VS
205782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20579
20580 * grub-core/term/at_keyboard.c (set_scancodes)
20581 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
20582
2a2da1d0
CW
205832011-03-30 Colin Watson <cjwatson@ubuntu.com>
20584
20585 * docs/grub.texi (Menu-specific commands): Remove some semantics
20586 that were true in GRUB Legacy but not in GRUB 2.
20587 (submenu): New section.
20588 (false): New section.
20589 (read): New section.
20590 (true): New section.
20591
a7527639
CW
205922011-03-30 Colin Watson <cjwatson@ubuntu.com>
20593
20594 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
20595
205962011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
20597
20598 * docs/grub.texi (Simple configuration): Explain some of the
20599 current limitations of grub-mkconfig.
8a748df2 20600 Reported by: Leslie Rhorer.
e30af029 20601
fc858482
VS
206022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20603
20604 Old macs search for boot.efi rather than for bootia32.efi.
20605
20606 * util/grub-install.in: Copy bootia32.efi to boot.efi.
20607 * util/grub-mkrescue.in: Likewise.
20608 Suggested by: Peter Jones.
20609
e1eb511d
VS
206102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20611
20612 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
20613
70e75364
VS
206142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20615
20616 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
20617 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
20618 (grub_lvm_mirror): New struct.
20619 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
20620 (grub_lvm_iterate): Iterate only visible volumes.
20621 (grub_lvm_read): Factor out to ..
20622 (read_lv): ... this. Support mirrors.
20623 (grub_lvm_read): New wrapper function.
20624 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
20625 stripped or mirrored.
20626
fc18f6a3
VS
206272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20628
20629 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
20630
5c650f4c
CW
206312011-03-29 Colin Watson <cjwatson@ubuntu.com>
20632
20633 * docs/grub.texi (loopback): New section.
20634
61d7156b
CW
206352011-03-29 Colin Watson <cjwatson@ubuntu.com>
20636
20637 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
20638 removed -p option.
20639
994b8264
CW
206402011-03-29 Colin Watson <cjwatson@ubuntu.com>
20641
20642 * docs/grub.texi (BIOS installation): New section, partly based on
20643 previous text in other sections.
20644 (Installing GRUB using grub-install): Replace BIOS discussion with a
20645 cross-reference.
20646 (Images): Likewise.
20647
9e4d19e0
VS
206482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20649
20650 * grub-core/kern/emu/hostdisk.c (find_partition_start)
20651 [HAVE_DIOCGDINFO]: Add safety checks.
20652
a307c0b2
VS
206532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20654
20655 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
20656 per default compiled in kernel and prior to 8.0 isn't shipped at all.
20657
b4db4f39
CW
206582011-03-29 Colin Watson <cjwatson@ubuntu.com>
20659
20660 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
20661 real_sb->size is zero (e.g. RAID-0), get the disk size from
20662 real_sb->data_size instead.
20663 Fixes Ubuntu bug #743136.
20664
35e5f84c
VS
206652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20666
20667 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
20668 printf clauses for printing size and start.
20669
d2e29d81
VS
206702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20671
20672 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
20673 Reported and tested by: Timothy Nikkel.
20674
ed5587af
VS
206752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20676
20677 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
20678 (dirty_region_add_real): ... this.
20679 (dirty_region_add): Don't discard margin refresh when performing
20680 scheduled repaint.
20681
a1dc717c
VS
206822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20683
20684 * grub-core/lib/relocator.c (allocate_regstart)
20685 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
20686 terminals are capabple of malloc-free operation.
20687 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20688 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20689
9f3677d3
VS
206902011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
20691
20692 * util/grub-setup.c: Copy the partition table zone if floppy support
20693 is disabled, even if no partition table is found.
20694
20695 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
20696 during POST if an invalid partition table is contained in the PBR
20697 of the active partition when GRUB is installed to a partition.
20698
24148725
CW
206992011-03-28 Colin Watson <cjwatson@debian.org>
20700
20701 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
20702 comment.
20703
f329eda7
CW
207042011-03-28 Colin Watson <cjwatson@debian.org>
20705
20706 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
20707 to be specific about what kind of RAID device we're scanning for.
20708
c482ad98
SG
207092011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
20710
20711 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
20712 return freed string.
20713
5ee04984
VS
207142011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20715
20716 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
20717
f4727da9
VS
207182011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20719
20720 Use libgeom on FreeBSD to detect partitions.
20721
20722 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
20723 (grub-mkrelpath): Likewise.
20724 (grub-script-check): Likewise.
20725 (grub-editenv): Likewise.
20726 (grub-mkpasswd-pbkdf2): Likewise.
20727 (grub-fstest): Likewise.
20728 (grub-mkfont): Likewise.
20729 (grub-mkdevicemap): Likewise.
20730 (grub-probe): Likewise.
20731 (grub-setup): Likewise.
20732 (grub-ofpathname): Likewise.
20733 (grub-mklayout): Likewise.
20734 (example_unit_test): Likewise.
20735 (grub-menulst2cfg): Likewise.
20736 * grub-core/Makefile.core.def (grub-emu): Likewise.
20737 (grub-emu-lite): Likewise.
20738 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
20739 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
20740 define HAVE_DIOCGDINFO.
20741 (follow_geom_up) [FreeBSD]: New function.
20742 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
20743 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
20744 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
20745 unconditionally of HAVE_DIOCGDINFO.
20746
82fe6c75
VS
207472011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20748
20749 Fix FreeBSD compilation problem.
20750
20751 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
20752 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
20753
4c6c9431
CW
207542011-03-24 Colin Watson <cjwatson@ubuntu.com>
20755
20756 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
20757 Switch back to page zero before loading a kernel, since some kernel
20758 drivers expect that.
20759 Thanks to: Felix Kuehling.
20760
c7064d94
VS
207612011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20762
20763 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
20764 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
20765 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
20766
3f71cded
VS
207672011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20768
20769 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
20770 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
20771
ef6de21a
VS
207722011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20773
20774 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
20775 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
20776 malloc is disabled.
20777
8bc66a2c
VS
207782011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20779
20780 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
20781 for modules headers when counting the needed allocation size.
20782
5657722c
VS
207832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20784
20785 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
20786 if no ASCII character is found to prevent crash.
20787
41a85f55
AK
207882011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
20789
20790 * grub-core/video/bitmap.c (match_extension): Ignore case.
20791
59e1e5f1
VS
207922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20793
20794 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
20795
bd4d051a
VS
207962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20797
20798 * grub-core/script/parser.y: Declare "time" as valid argument.
20799
bae7fcc1
PJ
208002011-03-23 Peter Jones <pjones@redhat.com>
20801
20802 Fix incorrect assert failure reporting.
20803
20804 * grub-core/tests/example_functional_test.c (example_test): Add
20805 a failure comment.
20806 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
20807 (failure_start): ...this. Check that malloc succeeded.
20808 Don't call xvasprintf. Return failure struct.
20809 (failure_append_vtext): New function.
20810 (failure_append_text): Likewise.
20811 (add_failure): Likewise.
20812 (grub_test_assert_helper): Likewise.
20813 * include/grub/test.h (grub_test_assert_helper): New declaration.
20814 (grub_test_assert): Macro rewritten.
20815
537dc9be
VS
208162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20817
20818 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
20819
fa3e01bf
VS
208202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20821
20822 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
20823
b1d28404
VS
208242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20825
20826 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
20827 into GRUB-style one.
20828
2e3e2e09
VS
208292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20830
20831 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
20832 error and not grub_errno.
20833 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
20834
ed57e557
VS
208352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20836
20837 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
20838 GRUB_USB_SPEED_NONE in case of failure and not the error code.
20839
d1611f01
VS
208402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20841
20842 * grub-core/efiemu/i386/pc/cfgtables.c
20843 (grub_machine_efiemu_init_tables): Make declaration a prototype.
20844 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
20845 (grub_xnu_unlock): Likewise.
20846 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
20847
7d4e39d6
VS
208482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20849
20850 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
20851 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
20852 * grub-core/commands/hashsum.c (aliases): Likewise.
20853 * grub-core/commands/setpci.c (pci_registers): Likewise.
20854 * grub-core/disk/usbms.c (attach_hook): Likewise.
20855 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
20856 (zio_checksum_table): Likewise.
20857 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
20858 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
20859 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
20860 * grub-core/lib/relocator.c (leftovers): Likewise.
20861 (extra_blocks): Likewise.
20862 * grub-core/loader/i386/bsd.c (relocator): Likewise.
20863 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
20864 (modules_last): Likewise.
20865 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
20866 (devices): Likewise.
20867 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
20868 (modules_last): Likewise.
20869 * grub-core/normal/auth.c (users): Likewise.
20870 * grub-core/normal/context.c (initial_menu): Likewise.
20871 (current_menu): Likewise.
20872 * grub-core/normal/crypto.c (crypto_specs): Likewise.
20873 * grub-core/term/serial.c (grub_serial_ports): Likewise.
20874 (grub_serial_terminfo_input_template): Likewise.
20875 (grub_serial_terminfo_output_template): Likewise.
20876 (grub_serial_terminfo_input): Likewise.
20877 (grub_serial_terminfo_output): Likewise.
20878 (registered): Likewise.
20879 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
20880
40fc4659
VS
208812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20882
20883 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
20884 grub_video_mode_type_t.
20885 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
20886 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
20887 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
20888
2da48d28
VS
208892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20890
20891 * util/grub-install.in: Correct the x86-64 name as x86_64.
20892
9b43bf39
CW
208932011-03-11 Colin Watson <cjwatson@ubuntu.com>
20894
20895 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
20896 initial chunk read from the kernel always includes GRUB's multiboot
20897 header, which is now outside the first sector.
20898
be1a7ce0
CW
208992011-03-09 Colin Watson <cjwatson@ubuntu.com>
20900
20901 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
20902 cached mmap_size, so that this works correctly when called multiple
20903 times.
20904 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
20905
83a3c48d
CW
209062011-03-09 Colin Watson <cjwatson@ubuntu.com>
20907
20908 * docs/grub.texi (Simple configuration): Tidy up formatting.
20909
57d75699
SJ
209102011-03-07 Szymon Janc <szymon@janc.net.pl>
20911
20912 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
20913 Set-but-not-used variable removed.
20914
028501a0
VS
209152011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20916
20917 Workaround yet another IEEE1275 bug.
20918
20919 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
20920 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
20921 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
20922 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
20923 is set.
20924 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20925 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
20926
d998657d
VS
209272011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20928
20929 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
20930 error.
20931
fee7cdd4
CW
209322011-02-11 Colin Watson <cjwatson@ubuntu.com>
20933
20934 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
20935 empty, since in that case we can only generate either nothing or a
20936 syntactically invalid configuration file.
20937 Reported by: Michal Suchanek. Fixes Debian bug #612898.
20938
97286eb5
CW
209392011-02-09 Colin Watson <cjwatson@ubuntu.com>
20940
20941 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
20942 (Making a GRUB bootable CD-ROM): Likewise.
20943 (Invoking grub-mkrescue): New section.
20944 Reported by: Yann Dirson. Fixes Debian bug #612585.
20945
22b28eb3
CW
209462011-02-09 Colin Watson <cjwatson@ubuntu.com>
20947
20948 * util/grub-install.in: Remove unnecessary brackets from tr
20949 arguments.
20950 * util/grub.d/10_hurd.in: Likewise.
20951 * util/grub.d/10_kfreebsd.in: Likewise.
20952 * util/grub.d/10_linux.in: Likewise.
20953 * util/grub.d/20_linux_xen.in: Likewise.
20954 Reported by: Jamie Heilman. Fixes Debian bug #612564.
20955
7e735e43
CW
209562011-02-08 Colin Watson <cjwatson@ubuntu.com>
20957
20958 * include/grub/file.h (not_easly_seekable): Rename to ...
20959 (not_easily_seekable): ... this. Update all users.
20960
800f1881
CW
209612011-01-28 Colin Watson <cjwatson@ubuntu.com>
20962
20963 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
20964 grub-mkrescue.
20965
3281d3d6
VS
209662011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
20967
20968 * util/grub-mkimage.c (generate_image): Refuse to create the images
20969 bigger than the actual flash (512K) in Loongson machines. 512K is also
20970 the biggest chip supported by them.
20971
3533413c
VS
209722011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20973
20974 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
20975
73ae4f4f
VS
209762011-01-22 Anthony DeRobertis <anthony@derobert.net>
20977
20978 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
20979 super_offset field.
20980
37f4f608
VS
209812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20982
20983 * util/grub-install.in: Ignore install device on platforms
20984 where it doesn't make sense. Always use UUIDs except on pc, efi and
20985 sparc64.
20986 Reported by: Daniel Kahn Gillmor.
20987
03a4ccb5
VS
209882011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20989
20990 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
20991
ffc8f4d8
VS
209922011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20993
20994 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
20995 (iterate_real): Don't rely on partition being non-NULL.
20996
80f23be7
VS
209972011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20998
20999 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
21000 supported platforms. Put a compile time assert for this rather than
21001 generate a warning with 32-bit shift.
21002
5d4f4dd5
VS
210032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21004
21005 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
21006 logical expression more readable.
21007
e489601a
VS
210082011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21009
21010 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
21011 even if some elements have a name.
21012 Reported by: Alexander GQ Gerasiov.
21013
96e0a6ea
CW
210142011-01-22 Colin Watson <cjwatson@ubuntu.com>
21015
21016 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
21017 path unreadable if `grub-probe -t abstraction' fails, for example if
21018 memberlist fails on an LVM volume group.
21019 Reported by: Darius Jahandarie.
21020
81431e2b
CW
210212011-01-22 Colin Watson <cjwatson@ubuntu.com>
21022
21023 * docs/grub.texi (Simple configuration): Document
21024 GRUB_PRELOAD_MODULES.
21025
5e79d66a
CW
210262011-01-17 Colin Watson <cjwatson@ubuntu.com>
21027
21028 * .bzrignore: Remove nonexistent grub-pbkdf2.
21029
646ada34
VS
210302011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
21031
21032 * configure.ac: Bump version to 1.99~rc1.
21033
04360337
VS
210342011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21035
21036 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
21037 for safety.
21038
46c9db88
VS
210392011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21040
21041 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
21042 module.
21043
210442011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
21045
21046 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
21047
4fbf1852
VS
210482011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21049
21050 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
21051 diskdevid.
21052
f1632d4d
VS
210532011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21054
21055 Fix compilation on cygwin.
21056
21057 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
21058 -R .drectve on cygwin.
21059 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
21060 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
21061 (COND_CYGWIN): New condition.
21062 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
21063 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
21064 not @TARGET_OBJ2ELF@.
21065 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
21066 type to determine whether aux is to be used.
21067
0b5e127b
VS
210682011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21069
21070 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
21071 realpath'ed device string.
21072 Handle floppy (somewhat).
21073 Issue error in unknown case rather than garbage.
21074 Reported by: Axel Beckert.
21075
173b71e9
VS
210762011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21077
21078 * util/grub.d/00_header.in (load_video): Handle the case when no video
21079 drivers available.
21080 Thanks to: Axel Beckert.
21081
f8f479db
VS
210822011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21083
21084 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
21085 variable. Fixes problem on big endian platforms.
21086
8fc0a245
VS
210872011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21088
21089 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
21090 It doesn't work well there.
21091
b8494fbe
VS
210922011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21093
21094 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
21095 warning.
21096 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
21097 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
21098 counter.
21099
b44a558c
VS
211002011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21101
21102 Use alias->path rather than buggy "canon".
21103
21104 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
21105 (ofdisk_hash_add): New argument curcan. All users updated.
21106
51fa856c
CW
211072011-01-11 Colin Watson <cjwatson@ubuntu.com>
21108
21109 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
21110
9da068a5
VS
211112011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21112
21113 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
21114 loadmask before doing any calculations. Use correct type for offset.
21115 (grub_linux_load64): Likewise.
21116
86205c94
CW
211172011-01-11 Colin Watson <cjwatson@ubuntu.com>
21118
21119 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
21120 with NULL.
21121 (console_grub_equivalences_unshift): Likewise.
21122 Reported by: Daniel Dehennin.
21123
4531a206
VS
211242011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21125
21126 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
21127 (set_env_limn_ro): Likewise.
21128 (GRUB_MOD_INIT): Likewise.
21129 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
21130 ARRAY_SIZE while on it.
21131 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
21132 * grub-core/normal/context.c (grub_env_export): Move from here ...
21133 * grub-core/kern/env.c (grub_env_export): ... here.
21134 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
21135 prefix.
21136 * grub-core/kern/main.c (grub_main): Export root and prefix.
21137 * include/grub/env.h (grub_env_export): Export.
21138 Reported by: Seth Goldberg.
21139
45146057
VS
211402011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21141
21142 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21143 Take into account space used by ELF sections and multiboot palette.
21144 Reported by: Grégoire Sutre.
21145
f093110b
VS
211462011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21147
21148 * BUGS: New file.
21149
3395fe52
VS
211502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21151
21152 Pass more appropriate video id to Linux.
21153
21154 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
21155 grub_video_get_driver_id and variable gfxpayloadforcelfb to
21156 fill have_vga.
21157 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
21158 shift params->lfb_size.
21159 * include/grub/i386/linux.h: Make an enume out of have_vga values.
21160
c2fa6cbb
VS
211612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21162
21163 * util/grub-menulst2cfg.c: Add missing include of misc.h.
21164
b3ff6ff0
VS
211652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21166
21167 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
21168 separator and pass bootpath/devid even if only one of them is available.
21169 Reported by: Seth Goldberg.
21170
ae67942e
VS
211712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21172
21173 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
21174 implementations bug on them.
21175
21176 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
21177 memory.
21178 (filter_memory_map): Likewise.
21179
d570097a
VS
211802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21181
21182 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
21183 Reported by: nebuchadnezzar.
21184
a508e776
VS
211852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21186
21187 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
21188 Reported by: nebuchadnezzar.
21189
dcb883b1
VS
211902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21191
21192 Submenu default support.
21193
21194 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
21195 auto_boot. All users updated.
21196 Declared static.
21197 Handle chosen and default with submenus.
21198 (grub_menu_execute_with_fallback): Declared static.
21199 Don't notify failure if autobooted. Upper level does it.
21200 (menuentry_eq): New function.
21201 (get_entry_number): Use menuentry_eq.
21202 (show_menu): New parameter "autobooted". All users updated.
21203 (grub_show_menu): Likewise.
21204 * include/grub/normal.h (grub_show_menu): Likewise.
21205 * include/grub/menu.h (grub_menu_execute_entry): Removed.
21206 (grub_menu_execute_with_fallback): Likewise.
21207
6fef99b4
VS
212082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21209
21210 * util/grub-mklayout.c (usage): Update help text.
21211
47a77af5
VS
212122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21213
21214 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
21215
ce6bb3ee
VS
212162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21217
21218 * util/grub-menulst2cfg.c (main): Trim the line.
21219
db87be2a
VS
212202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21221
21222 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
21223 (grub_machine_init): Don't check amount of low memory as reportedly
21224 INT 12h can be broken and if low memory is too low we wouldn't have
21225 gotten into grub_machine_init anyway.
21226
c49849cc
VS
212272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21228
21229 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
21230 (grub_machine_mmap_iterate): Take low memory into account
21231
b1969b30
VS
212322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21233
21234 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
21235 badfs.
21236 Reported by: TiCPU.
21237
cf0eaf13
VS
212382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21239
21240 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
21241 members errors.
21242
1f060f39
GS
212432011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21244
21245 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
21246 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
21247
a21e5672
GS
212482011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21249
21250 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
21251 openbsd and netbsd types being in part_bsd module.
21252
c88172fa
VS
212532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21254
21255 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
21256 (_FILE_OFFSET_BITS): Likewise.
21257 Reported by: Seth Goldberg.
21258
53798c4b
GS
212592011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21260
21261 * configure.ac: Check for libdevmapper header.
21262
e7121b69
VS
212632011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21264
21265 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
21266 avoid aliasing.
21267 (fzap_lookup): Likewise.
21268 (dnode_get): Likewise.
21269 (make_mdn): Likewise.
21270 (zfs_mount): Likewise.
21271 (fzap_iterate): Use temporary pointer to avoid aliasing.
21272 (grub_zfs_read): Likewise.
21273 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
21274 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
21275 pointers to avoid aliasing.
21276 (grub_cmd_xnu_kernel64): Likewise.
21277 (grub_xnu_load_driver): Likewise.
21278
fc836af9
VS
212792011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21280
21281 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
21282 aliasing warning.
21283 (grub_cmd_terminal_output): Likewise.
21284 Reported and tested by: Grégoire Sutre.
21285
f9f37648
VS
212862011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21287
21288 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
21289 warning.
21290 Reported and tested by: Grégoire Sutre.
21291
ec1dfd63
VS
212922011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21293
21294 * configure.ac: Do CPU substitution even if it's specified explicitly.
21295 Reported and tested by: Alain Greppin.
21296
9462775a
VS
212972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21298
21299 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
21300 Reported and tested by: Alain Greppin.
21301
0fd48e35
VS
213022011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21303
21304 Satisfy some bison versions need for inttypes.h.
21305
21306 * grub-core/lib/posix_wrap/inttypes.h: New file.
21307 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
21308 (int16_t): Likewise.
21309 (int32_t): Likewise.
21310 (int64_t): Likewise.
21311 Reported and tested by: Alain Greppin.
21312
43f1bc83
VS
213132011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21314
21315 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
21316 Silence spurious warning.
21317 Reported and tested by: Alain Greppin.
21318
64d1f041
SJ
213192011-01-07 Szymon Janc <szymon@janc.net.pl>
21320
21321 * docs/grub.texi (Support automatic decompression): Update with xz
21322 decompression support.
21323
25953e10
SJ
213242011-01-07 Szymon Janc <szymon@janc.net.pl>
21325
21326 Improve loaders' kernel command line handling.
21327
21328 * grub-core/lib/cmdline.c: New file.
21329 * include/grub/lib/cmdline.h: Likewise.
21330 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
21331 grub_create_loader_cmdline to create kernel command line.
21332 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21333 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
21334 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
21335 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
21336 (linux): Add lib/cmdline.c on common.
21337
e72d259f
VS
213382011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21339
21340 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
21341 inopos might be unaligned.
21342
c0cf26da
VS
213432011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21344
21345 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
21346 endian transformations.
21347 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21348 Based on report by: Doug Nazar.
21349
0ca09e6c
DN
213502011-01-07 Doug Nazar <nazard.michi@gmail.com>
21351
21352 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
21353 array->members[i].start_sector.
21354 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
21355
014b6806
VS
213562011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21357
21358 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
21359 Reported and tested by: Grégoire Sutre.
21360
415502c2
CW
213612011-01-06 Colin Watson <cjwatson@ubuntu.com>
21362
21363 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
21364 avoid causing test failures by clearing the screen.
21365
71b6a2b7
CW
213662011-01-06 Colin Watson <cjwatson@ubuntu.com>
21367
21368 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
21369 Fix prefix check to handle the case where dir ends with a slash
21370 (most significantly, "/" itself).
21371 Reported by: Michael Vogt.
21372
b3f8d28a
VS
213732011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21374
21375 Run terminfo_cls on initing terminfo output to clear the screen and
21376 move the cursor to (0,0).
21377
21378 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
21379 Call grub_terminfo_output_init.
21380 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
21381 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
21382 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
21383
4c3e4f37
VS
213842011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21385
21386 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
21387 only when needed.
21388
488f71f1
VS
213892011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21390
21391 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
21392 CTRL.
21393
18a38098
VS
213942011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21395
21396 The E820 type 5 is BADRAM, not EXEC_CODE.
21397
21398 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21399 (GRUB_E820_BADRAM): New define.
21400 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
21401 into reserved. Propagate BADRAM.
21402 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21403 (GRUB_E820_BADRAM): New define.
21404
9eae2084
VS
214052011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21406
21407 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
21408 Ignore the memory post-4G.
21409 (grub_relocator_firmware_alloc_region): Additional debug statement.
21410
ebc71d28
VS
214112011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21412
21413 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
21414 names.
21415 Reported by: David Pravec.
21416
446fa400
VS
214172011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21418
21419 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
21420 BIOSes.
21421
a0159f37
VS
214222011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21423
21424 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
21425 Prevent overflow.
21426 (grub_reed_solomon_recover): Likewise.
21427
e5146ca1
VS
214282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21429
21430 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
21431
214322011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
21433
21434 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
21435 variable.
21436
5b1bdf12
CW
214372011-01-04 Colin Watson <cjwatson@ubuntu.com>
21438
21439 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
21440 descriptions of extract_legacy_entries_source and
21441 extract_legacy_entries_configfile.
21442 Reported by: Seung Soo, Ha.
21443
99d925aa
CW
214442011-01-03 Colin Watson <cjwatson@ubuntu.com>
21445
21446 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
21447 on devices that do not implement function 0.
21448
4af0504b
DV
214492011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
21450
21451 * grub-core/fs/hfsplus.c: Make parent unsigned.
21452 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
21453 overflows.
21454 (grub_hfsplus_cmp_extkey): Likewise
21455
469ee10a
VS
214562011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21457
21458 * util/grub-install.in: Correctly use bootloader_id and not
21459 GRUB_DISTRIBUTOR on efibootmgr line.
21460
323a8e9c
VS
214612011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21462
21463 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
21464
1b394975
IC
214652010-12-31 Ian Campbell <ijc@hellion.org.uk>
21466
21467 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
21468 Xen and reorder menu item wording to make it clearer that this entry
21469 will launch Xen. Print separate messages when loading Xen and
21470 Linux.
21471
275bff5f
VS
214722010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21473
21474 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
21475 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
21476 loop in case of incorrect amiga partmap.
21477
307806cb
VS
214782010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21479
21480 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
21481 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
21482 Reported by:EHeM.
21483
b12b923e
VS
214842010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21485
21486 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
21487 spurious warning.
21488 Reported by: crocket
21489
14b48a19
VS
214902010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21491
21492 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
21493 Preload EFIemu.
21494 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
21495
693db2df
VS
214962010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21497
21498 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
21499 is loaded
21500 (grub_cmd_xnu_kextdir): Likewise.
21501 (grub_cmd_xnu_splash): Likewise.
21502
c7638645
VS
215032010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21504
21505 Avoid using Reed-Solomon with 0 redundancy.
21506
21507 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
21508 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
21509 or 0 redundancy.
21510 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
21511 (grub_reed_solomon_recover): Likewise.
21512
25dd4780
VS
215132010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21514
21515 Don't use disk subsystem in freebsd_boot.
21516
21517 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
21518 (freebsd_biosdev): Likewise.
21519 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
21520 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
21521
0b2db943
VS
215222010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
21523
21524 Handling of files of unknown size is currently limited. They can't be
21525 used e.g. for initrd or modules. Moreover gzip handling of not
21526 easily seekable files is buggy. Disable unknown file size for now. May
21527 be inefficient but works.
21528
21529 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
21530 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
21531
5c408d0f
MP
215322010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
21533
21534 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
21535 floppy probe.
21536
190a011a
JD
215372010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
21538
21539 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
21540
022d01b8
SL
215412010-12-25 Shea Levy <shlevy>
21542
21543 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
21544
c4855fdc
VS
215452010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21546
21547 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
21548 Windows Server 2008.
21549 Reported by: Devin Giddings.
21550
0354b867
VS
215512010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21552
21553 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
21554 writing an error message because of async power management.
21555 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
21556 (grub_reboot): Likewise.
21557
ab66c69f
JU
215582010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
21559
21560 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
21561 keep unit tests from failing when they shouldn't.
21562
1426ef35
CW
215632010-12-21 Colin Watson <cjwatson@ubuntu.com>
21564
21565 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
21566 previous patch increased the size of the RS code by 20 bytes (at
21567 least with gcc-4.4), so increase this by 20 bytes to match.
21568 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
21569
20641b6b
CW
215702010-12-21 Colin Watson <cjwatson@ubuntu.com>
21571
21572 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
21573 scratch area. Make sure to initialise chosen in standalone mode as
21574 well as non-standalone.
21575 Reported by: Robert Hooker and Andy Whitcroft.
21576 Tested by: Andy Whitcroft.
21577
d060ad60
CW
215782010-12-21 Colin Watson <cjwatson@ubuntu.com>
21579
21580 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
21581 constructing a new unescaped string and passing it to grub_xputs in
21582 one go, rather than passing characters to grub_printf one at a time.
21583
b889cfad
CW
215842010-12-21 Colin Watson <cjwatson@ubuntu.com>
21585
21586 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
21587 initialising utf16.
21588
4e01b6c8
CW
215892010-12-21 Colin Watson <cjwatson@ubuntu.com>
21590
21591 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
21592 comment. Add an extra layer of quotation, requiring the output of
21593 this function to be used in a printf format string.
21594 (gettext_printf): New function.
21595 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
21596 Extract translatable strings from here-documents and use a temporary
21597 variable instead, so that xgettext can find them.
21598 * util/grub.d/10_kfreebsd.in: Likewise.
21599 * util/grub.d/10_linux.in: Likewise.
21600 * util/grub.d/20_linux_xen.in: Likewise.
21601
21602 * po/grub.d.sed: New file.
21603 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
21604 arguments. Set c-format flags on all strings extracted from
21605 util/grub.d/ (xgettext refuses to include these itself for strings
21606 it extracted from a shell file, but these really are c-format).
21607
5318fe98
VS
216082010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21609
21610 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
21611 Avoid next pointing to nowhere.
21612
6c85b743
VS
216132010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21614
21615 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
21616 rather than assuming than rootblock is exactly in the middle.
21617 (grub_affs_label): Likewise.
21618
a2a08a35
VS
216192010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21620
21621 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
21622 reserved_first_sector to 0.
21623 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
21624 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
21625 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
21626
7059d1ec
VS
216272010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21628
21629 Fix handling of UTF-16 UDF labels.
21630
21631 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
21632 (read_string): .. here.
21633 (grub_udf_label): Use read_string.
21634
30aff4cb
BC
216352010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
21636
21637 * grub-core/normal/menu_entry.c (run): Execute commands from menu
21638 editor under argument scope.
21639 Reported by: Jordan Uggla
21640
5cf86f4b
VS
216412010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21642
21643 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
21644
32570200
CW
216452010-12-18 Colin Watson <cjwatson@ubuntu.com>
21646
21647 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
21648 line, and other keys scroll an entire page (previous handling was
21649 for \r and \n to scroll a page and other keys to scroll two lines).
21650
e1dffcf2
VS
216512010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21652
21653 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21654 Set ptrdest to correct get_physical_target_address rather than
21655 incorrect get_virtual_current_address.
21656
b04298cf 216572010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
21658
21659 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
21660 correct cat to grub_uint8_t * rather than grub_uint32_t *.
21661
5367ecd3
CW
216622010-12-10 Colin Watson <cjwatson@ubuntu.com>
21663
21664 * .bzrignore: Ignore grub-core/rs_decoder.S.
21665
1fb430f8
CW
216662010-12-10 Colin Watson <cjwatson@ubuntu.com>
21667
21668 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
21669 .mo/.mo.gz opening sequence to ...
21670 (grub_mofile_open_lang): ... here.
21671 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
21672 * util/grub.d/00_header.in (grub_lang): Include country part of
21673 locale.
21674 Reported by: Mario Limonciello.
21675
a94a6671
RM
216762010-12-09 Robert Millan <rmh@gnu.org>
21677
21678 * NEWS: Document addition of ZFS support.
21679
24b7938b
CW
216802010-12-04 Colin Watson <cjwatson@ubuntu.com>
21681
21682 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
21683 rather than `/ 2', as the latter requires -Wa,--divide which would
21684 require bumping our minimum binutils version.
21685
bddc3ef6
BC
216862010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
21687
21688 * util/grub-script-check.c (main): Print script line number on
21689 error.
21690
bf78d5b2
RM
216912010-12-01 Robert Millan <rmh@gnu.org>
21692
21693 * grub-core/fs/zfs/zfs.c: New file.
21694 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
21695 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
21696 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
21697 * grub-core/fs/zfs/zfsinfo.c: Likewise.
21698
21699 * include/grub/zfs/dmu.h: Likewise.
21700 * include/grub/zfs/dmu_objset.h: Likewise.
21701 * include/grub/zfs/dnode.h: Likewise.
21702 * include/grub/zfs/dsl_dataset.h: Likewise.
21703 * include/grub/zfs/dsl_dir.h: Likewise.
21704 * include/grub/zfs/sa_impl.h: Likewise.
21705 * include/grub/zfs/spa.h: Likewise.
21706 * include/grub/zfs/uberblock_impl.h: Likewise.
21707 * include/grub/zfs/vdev_impl.h: Likewise.
21708 * include/grub/zfs/zap_impl.h: Likewise.
21709 * include/grub/zfs/zap_leaf.h: Likewise.
21710 * include/grub/zfs/zfs.h: Likewise.
21711 * include/grub/zfs/zfs_acl.h: Likewise.
21712 * include/grub/zfs/zfs_znode.h: Likewise.
21713 * include/grub/zfs/zil.h: Likewise.
21714 * include/grub/zfs/zio.h: Likewise.
21715 * include/grub/zfs/zio_checksum.h: Likewise.
21716
21717 * Makefile.util.def: Build ZFS into libgrubmods.
21718 * grub-core/Makefile.core.def: Build zfs.mod.
21719
3f0f3831
SJ
217202010-11-30 Szymon Janc <szymon@janc.net.pl>
21721
21722 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
21723 variable.
21724 * grub-core/commands/wildcard.c (match_files): Likewise.
21725
3a4253b2
RM
217262010-11-30 Robert Millan <rmh@gnu.org>
21727
21728 * grub-core/loader/i386/bsd.c
21729 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
21730 whether kernel is loaded using grub_loader_is_loaded(), rather
21731 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
21732 certain error conditions.
21733
8c317b27
RM
217342010-11-30 Robert Millan <rmh@gnu.org>
21735
c5c9cd3e
RM
21736 * grub-core/commands/echo.c: Include `<grub/term.h>'.
21737 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 21738
49d3ab46
VS
217392010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21740
21741 Avoid using tricks for initialising endian variables.
21742
21743 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
21744 Make const.
21745 (GRUB_MOD_INIT): Don't byte-swap.
21746 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21747 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
21748 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
21749 (grub_swap_bytes32_compile_time): Likewise.
21750 (grub_cpu_to_le32_compile_time): Likewise.
21751 (grub_cpu_to_le16_compile_time): Likewise.
21752
f420a804
VS
217532010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21754
21755 * util/grub-setup.c (setup): Stop recommending --force. People who
21756 understand the dangers of blocklists are able to find this option
21757 anyway and the ones who don't shouldn't use it anyway.
21758
4e7db17b
RM
217592010-11-26 Robert Millan <rmh@gnu.org>
21760
21761 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
21762 Update all users.
21763
9be57a0d
CW
217642010-11-26 Colin Watson <cjwatson@ubuntu.com>
21765
21766 Fix LVM-on-RAID probing.
21767
21768 * util/grub-probe.c (probe): Remember which disk was detected as
21769 RAID (perhaps an LVM physical volume). Use that disk's raidname
21770 rather than that of the top-level disk.
21771
2c7859b3 217722010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 21773
d7647bb6
BC
21774 Fix cmdline argument quotes for setparams command of menuentry
21775 definitions.
7e623b0d
BC
21776
21777 * grub-core/commands/menuentry.c (setparams_prefix): Use single
21778 quotes for arguments.
f866fe80 21779 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 21780 grub_strchrsub function instead.
f866fe80 21781
7955bea0 21782 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 21783
74f72a64
CW
217842010-11-24 Colin Watson <cjwatson@ubuntu.com>
21785
21786 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
21787 effort by skipping "." and ".." entries up-front.
21788 Suggested by: Michael Lazarev.
21789
5a407278
CW
217902010-11-24 Colin Watson <cjwatson@ubuntu.com>
21791
21792 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
21793 ldflags to ldadd, to fix link line ordering.
21794 (none_decompress): Likewise.
21795
3030d8ec
CW
217962010-11-24 Colin Watson <cjwatson@ubuntu.com>
21797
21798 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
21799 platforms.
21800 (grub-emu-lite): Remove kern/emu/cache.S.
21801
b7fbac12
CW
218022010-11-23 Colin Watson <cjwatson@ubuntu.com>
21803
21804 * util/deviceiter.c (compare_devices): If the by-id link for a
21805 device couldn't be resolved, fall back to sorting by the by-id link
21806 rather than segfaulting.
21807 Reported and tested by: Daniel Mierswa.
21808
5225f328
CW
218092010-11-23 Colin Watson <cjwatson@ubuntu.com>
21810
21811 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
21812 ldflags, to fix link line ordering.
21813
038b3ce8
CW
218142010-11-23 Colin Watson <cjwatson@ubuntu.com>
21815
21816 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
21817 linkers are picky about this.
21818
bf16e98e
CW
218192010-11-23 Colin Watson <cjwatson@ubuntu.com>
21820
21821 * grub-core/Makefile.am (command.lst): Adjust sed expression
21822 ordering so that extended and priority commands aren't treated as
21823 ordinary commands.
21824
7242bab6
CW
218252010-11-23 Colin Watson <cjwatson@ubuntu.com>
21826
21827 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21828 Remove byte-swapping function calls, which are not valid in
21829 structure initialisers.
21830 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
21831 non-const.
21832 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
21833 grub_gpt_partition_type_bios_boot.
21834
14e8b279
CW
218352010-11-22 Colin Watson <cjwatson@ubuntu.com>
21836
21837 Fix test program build on GNU/kFreeBSD.
21838
21839 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
21840 $(LIBNVPAIR)' library dependencies.
21841
e6f63338 218422010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
21843
21844 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
21845
cf8ffc38
CW
218462010-11-22 Colin Watson <cjwatson@ubuntu.com>
21847
21848 * util/grub-install.in: Remove excessive quoting that broke
21849 installations to RAID devices.
21850
7f8b0fd7
VS
218512010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21852
21853 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
21854 bootloader version instead of 0.
21855
dfd240b1
VS
218562010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21857
21858 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
21859 warning.
21860
7b61e609
VS
218612010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21862
21863 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
21864 retrieve the metadat sector if size isn't known.
21865 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21866
9dfe92d0
RM
218672010-11-18 Robert Millan <rmh@gnu.org>
21868
21869 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
21870 with grub_memcmp().
21871
41cc919e
VS
218722010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
21873
21874 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
21875 arrow.
21876 Reported by: Jordan Uggla.
21877
1afcc914
VS
218782010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21879
21880 Make better UTF compliant.
21881
21882 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
21883 sequences as incorrect.
21884 (grub_is_valid_utf8): Likewise.
21885 (grub_utf8_to_ucs4): Likewise.
21886 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
21887 (grub_ucs4_to_utf8_alloc): Likewise.
21888 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
21889
f1808884
VS
218902010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21891
21892 Make legacy_source behave like source.
21893
21894 * grub-core/commands/legacycfg.c (legacy_file): Don't call
21895 grub_show_menu.
21896 (grub_cmd_legacy_source): Call grub_show_menu if needed.
21897
24ec575b
CW
218982010-11-16 Colin Watson <cjwatson@debian.org>
21899
21900 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
21901 (-Wunused implies -Wunused-parameter, but not vice versa).
21902
72b7c7aa
CW
219032010-11-16 Colin Watson <cjwatson@ubuntu.com>
21904
21905 * configure.ac: Make error messages less confusing by testing for
21906 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
21907 accepted, but produces a diagnostic if something else is wrong).
21908
e98937aa
VS
219092010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21910
21911 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
21912 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
21913 (now unused).
21914 (grub_keyboard_controller_init)
21915 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
21916 read the initial state since controller isn't inited yet.
21917
f6bbabc3
VS
219182010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21919
21920 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
21921 allocate_regbeg may need to create new chunk header.
21922
22e7dbb2
VS
219232010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21924
21925 Fix quoting in legacy parser.
21926
21927 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
21928 single quotes.
21929 (grub_legacy_parse): Likewise.
21930 Reported by: Jordan Uggla.
21931 Tested by: Jordan Uggla.
21932
03f80960
VS
219332010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21934
21935 Don't add -lgcc on i386 and x86_64.
21936
21937 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
21938 * conf/Makefile.common (LDADD_KERNEL): Likewise.
21939 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
21940
779dc15b
VS
219412010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21942
21943 * configure.ac: Add -Wno-trampolines when supported.
21944
d20a3b37
MV
219452010-11-14 Modestas Vainius <modax@debian.org>
21946
21947 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
21948 fakeraid.
21949
e5360933
GC
219502010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21951
21952 Add generic logical block size support for UDF.
21953
21954 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
21955 (GRUB_UDF_BLKSZ): Removed.
21956 (struct grub_udf_data): New field "lbshift" to hold the logical block
21957 size of the file system in log2 format. All users updated.
21958 (sblocklist): Change type to unsigned.
21959 (grub_udf_mount): Change type of "sblklist" to unsigned.
21960 Move AVDP search before VRS recognition, because the latter requires
21961 knowledge of the logical block size, which is detected during the
21962 former.
21963 Detect and validate logical block size during AVDP search, adding
21964 support for block sizes 512, 1024 and 4096.
21965 Make VRS recognition independent of block size.
21966
cb0229c5
GC
219672010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21968
21969 Properly handle deleted files on UDF.
21970
21971 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
21972 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
21973 set.
21974
406858a8
GC
219752010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21976
21977 Support reading files larger than 2 GiB.
21978
21979 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
21980 "offset" to grub_off_t.
21981 (grub_udf_read_file): Likewise for parameter "pos".
21982
130da6a7
VS
219832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21984
21985 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
21986 unavailable.
21987 (Simple configuration): Refer to Changes from GRUB Legacy about
21988 save_env availability.
21989
65e93f6b
VS
219902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21991
21992 * util/grub-install.in: Ignore empty partition table detection
21993 instead of trying to include part_ module.
21994
1fd08bf1
VS
219952010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21996
21997 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
21998 LVM on RAID support.
21999
de1a024f
VS
220002010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22001
22002 Properly define WORDS_BIGENDIAN in wrapped environments.
22003
22004 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
22005 definition.
22006 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
22007
22008 Reported by: Manoel Rebelo Abranches.
22009 Tested by: Manoel Rebelo Abranches.
22010
bc5dd0b9
VS
220112010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22012
22013 * util/grub-mkconfig.in: Fix quoting.
22014
58c184be
VS
220152010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22016
22017 Support big ext2 files.
22018
22019 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
22020 (grub_ext2_read_block): Support triple indirect blocks.
22021 (grub_ext2_read_file): Use 64-bit types and read size_high.
22022 (grub_ext2_open): Read size_high.
22023 Reported by: Ximin Luo.
22024 Tested by: Manoel Rebelo Abranches.
22025
5f0c02b3
VS
220262010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22027
22028 * util/grub-install.in: Handle filenames containing spaces.
22029 Reported by: Jordan Uggla.
22030 Tested by: Jordan Uggla.
22031
4417aae6
VS
220322010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22033
22034 * util/grub-mkconfig.in (grub_script_check): New variable.
22035 Use grub_script_check instead of grub-script-check.
22036 Reported by: Barry Jackson.
22037
7625a68e
VS
220382010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22039
22040 * docs/grub.texi (menu): Correct the order.
22041 Reported by: D. Hugh Redelmeier.
22042
10001ac5
VS
220432010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
22044
22045 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
22046 jump.
22047
9c4cf53b
MRA
220482010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22049
10001ac5
VS
22050 * include/grub/elfload.h (grub_elf32_size): New parameter.
22051 All users updated.
9c4cf53b
MRA
22052 Return maximum segments alignment.
22053 (grub_elf64_size): Likewise.
22054 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
22055 Return maximum segments alignment.
22056 (grub_elf64_size): Likewise.
22057 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
22058 (grub_linux_claimmap_iterate): New function. Uses the
22059 "available" property in the "memory" node for memory allocation
22060 for kernel in the PowerPC loader.
9c4cf53b
MRA
22061 (grub_linux_load32): Correctly find linux entry point offset.
22062 (grub_linux_load64): Likewise.
22063
d2bf06bf
RM
220642010-11-07 Robert Millan <rmh@gnu.org>
22065
22066 On mips-yeeloong, build with -march=loongson2f when this flag is
22067 available (GCC >= 4.4).
22068 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
22069 `-march=mips3'.
22070 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
22071 or otherwise add -march=mips3.
22072
898c99a2
BC
220732010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
22074
87220a68
BC
22075 Suppress shell expansion on echo '*' and echo "*" like cases.
22076 Reported by: Jordan Uggla.
898c99a2
BC
22077
22078 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
22079 string arguments before shell expansion.
22080 * tests/grub_cmd_echo.in: New testcases.
22081
4f9b406a
RM
220822010-11-07 Robert Millan <rmh@gnu.org>
22083
22084 * conf/mips-qemu-mips.rmk: Remove stale file from previous
22085 transition.
22086
80c6d25e
VS
220872010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
22088
22089 * grub-core/kern/emu/hostdisk.c
22090 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
22091
4a1a0153
VS
220922010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22093
22094 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
22095 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
22096 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
22097
34706ddc
VS
220982010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22099
22100 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
22101
6972dea9
VS
221022010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22103
22104 * util/grub-install.in: Replace useless recomendation to pass
22105 --modules with a recomendation to report a bug.
22106
9c693bd6
VS
221072010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22108
22109 Properly register serial terminfo.
22110 Reported by: Jordan Uggla
22111
22112 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
22113 const.
22114 (grub_serial_terminfo_output_template): Likewise.
22115 (grub_cmd_serial): Register "serial" with terminfo.
22116 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
22117 grub_serial_terminfo_output.
22118
6c9e4c0c
RM
221192010-11-05 Robert Millan <rmh@gnu.org>
22120
22121 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
22122 needed).
22123
b9b3839f
RM
221242010-11-05 Robert Millan <rmh@gnu.org>
22125
22126 On Yeeloong, pass machine type information to Linux.
22127
22128 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
22129 (LOONGSON_MACHTYPE): New macro, set to
22130 "machtype=lemote-yeeloong-2f-8.9inches".
22131 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
22132 additional argument to Linux.
22133
1a3aaff4
RM
221342010-11-04 Robert Millan <rmh@gnu.org>
22135
22136 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
22137 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
22138 (its SATA disks are detected as slaveless IDE master drives on
22139 kFreeBSD).
22140 Reported by Carsten Aulbert.
22141
a75f4f62
CW
221422010-11-02 Colin Watson <cjwatson@ubuntu.com>
22143
22144 * util/bin2h.c (main): Fix spelling error in generated output.
22145
33b4b0c6
GS
221462010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
22147
22148 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
22149
2b36fbf4
VS
221502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22151
22152 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
22153 vga= option is supplied.
22154
74aaf558
VS
221552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22156
22157 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
22158 * util/grub.d/10_kfreebsd.in: Likewise.
22159 * util/grub.d/10_linux.in: Likewise.
22160 * util/grub.d/20_linux_xen.in: Likewise.
22161
6428dec3
VS
221622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22163
22164 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
22165 argument as an argument to no-argument option.
22166
f8729d98
VS
221672010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22168
22169 * util/grub.d/10_linux.in: Add missing load_video with explicit
22170 GRUB_GFXPAYLOAD_LINUX.
22171
89d68fa6
VS
221722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22173
22174 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
22175
3a1197cd
VS
221762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22177
22178 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
22179 elements with invlid index.
22180 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22181 * grub-core/disk/raid.c (insert_array): Automatically reallocate
22182 members.
22183 * include/grub/raid.h (grub_raid_member): New struct.
22184 (grub_raid_array): Transform devices and start_sector into usage of
22185 grub_raid_member. All users updated
22186 (allocated_devs): New member.
22187
71574288
VS
221882010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22189
22190 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
22191 is modified
22192
8d40ec65
BC
221932010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
22194
22195 NetBSD build fix for getline function conflict from gnulib.
22196
22197 * Makefile.util.def (libgrubkern.a): New library for grub kernel
22198 components that depend on gnulib headers.
22199 (libgrubmods.a): Renamed from earlier libgrub.a.
22200 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
22201
95b9257e
VS
222022010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22203
22204 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
22205 install rather than creating a broken install.
22206
26c53dc6
VS
222072010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22208
22209 * util/grub-setup.c (argp): Remove misleading example of installing to
22210 a partition.
22211
4171b3c5
VS
222122010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22213
22214 * util/grub-setup.c (setup): Clarify the error message.
22215
18568d18
VS
222162010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22217
22218 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
22219
4f6a2e21
VS
222202010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22221
22222 * grub-core/kern/emu/misc.c
22223 (grub_make_system_path_relative_to_its_root)
22224 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
22225
222262010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
22227
22228 * grub-core/kern/emu/misc.c
22229 (grub_make_system_path_relative_to_its_root): Revert r2882.
22230
e138c458
VS
222312010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
22232
22233 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
22234 useless field head. All users updated.
22235 (free_subchunk): Correct handling of IN_REGION subchunk.
22236
0cbcdf0e
CW
222372010-10-22 Colin Watson <cjwatson@ubuntu.com>
22238
22239 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
22240 (Supported kernels): Likewise.
22241
b65ea155
GS
222422010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22243
22244 Make mktemp invocations portable.
22245
22246 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
22247 exit if mktemp fails.
22248 * tests/grub_script_blockarg.in: Likewise.
22249 * tests/partmap_test.in: Likewise.
22250 * tests/util/grub-shell-tester.in: Likewise.
22251 * tests/util/grub-shell.in: Likewise.
22252 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22253 * Makefile.am: Likewise, and chain shell commands with `&&'
22254 instead of ';'.
22255 * util/grub-mkrescue.in: Use the same explicit template as above, and
22256 exit if mktemp fails.
22257
05f43cdd
BC
222582010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
22259
22260 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
22261 Linux kernel, reported by Dennis Schridde.
22262
800e6a9b
SJ
222632010-10-17 Szymon Janc <szymon@janc.net.pl>
22264
22265 * grub-core/normal/auth.c (grub_auth_check_authentication):
22266 Set-but-not-used variable removed.
22267
d82df574
VS
222682010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22269
22270 * docs/grub.texi (GNU/Linux): Document APM unavailability with
22271 32-bit linux protocol.
22272
7bced458
VS
222732010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22274
22275 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
22276 cursor shape for sanity.
22277
5b027690
VS
222782010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22279
22280 * docs/grub.texi (Installation): Document buggy BIOS install.
22281
ba5f65cf
VS
222822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22283
22284 * docs/grub.texi (Installation): Indent.
22285
fdf2ec9c
VS
222862010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22287
22288 * util/grub-setup.c (setup): New parameter allow_floppy.
22289 (arguments): New member allow_floppy.
22290 (argp_parser): Handle --allow-floppy.
22291 (main): Pass allow_floppy.
22292 * util/grub-install.in: New option --allow-floppy passed though to
22293 grub-setup.
22294
861dfd4c
VS
222952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22296
22297 * util/grub-install.in: Handle partitionless disks.
22298
f77a8c24
VS
222992010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22300
22301 * util/grub-setup.c (setup): Don't clean blocklists before readability
22302 verfification.
22303
27d9ee32
VS
223042010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22305
22306 * docs/grub.texi (Installation): Document embedding zone. Remove
22307 obsolete grub-install example.
22308
6bdda8f8
SJ
223092010-10-16 Szymon Janc <szymon@janc.net.pl>
22310
22311 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
22312 Set-but-not-used variable ifdef'ed.
22313 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
22314 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
22315 variable removed.
22316 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
22317 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
22318 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
22319 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
22320 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
22321 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22322 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
22323 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
22324 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
22325 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
22326 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
22327 Likewise.
22328
e19b016b
VS
223292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22330
22331 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
22332 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
22333 enum value.
22334
6c8d3002
VS
223352010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22336
22337 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
22338 synonym to _S5_. Needed for some DSDTs.
22339
c32b51c9
VS
223402010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22341
22342 Userspace ACPI parser debugging.
22343
22344 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
22345 headers and add relevant defines. Don't include standard headers.
22346 (main) [GRUB_DSDT_TEST]: New function.
22347 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
22348 Don't declare functions.
22349
fbfbeb39
VS
223502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22351
22352 Remove dead grub_efi_mm_fini.
22353
22354 * grub-core/kern/efi/mm.c (allocated_page): Removed.
22355 (ALLOCATED_PAGES_SIZE): Likewise.
22356 (MAX_ALLOCATED_PAGES): Likewise.
22357 (allocated_pages): Likewise.
22358 (grub_efi_allocate_pages): Don't record allocated pages.
22359 (grub_efi_free_pages): Likewise.
22360 (grub_efi_mm_init): Likewise.
22361 (grub_efi_mm_fini): Removed.
22362
65f7ed7c
VS
223632010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22364
22365 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
22366 (grub_efi_mm_init): Take into account the memory map size increase.
22367
24977b44
VS
223682010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22369
22370 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
22371 (serial_hw_put): Wait based on real time rather than port reads. Don't
22372 roken ports.
22373 * include/grub/serial.h (grub_serial_port): New field broken.
22374
1eb01cd2
RM
223752010-10-16 Robert Millan <rmh@gnu.org>
22376
22377 * grub-core/kern/emu/misc.c
22378 (grub_make_system_path_relative_to_its_root): Fix premature return
22379 when processing non-root ZFS filesystems.
5f8b440b 22380 Reported by Sergio Talens-Oliag.
1eb01cd2 22381
2d5fed60
RM
223822010-10-15 Robert Millan <rmh@gnu.org>
22383
22384 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
22385 guarantee compressed ones are processed first.
22386
d0f4c1ea
VS
223872010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22388
22389 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
22390 grub_efiemu_autocore.
22391
d87c681f
VS
223922010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22393
22394 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
22395 rather than 0x1b.
22396 (grub_console_getkey): Use correct jae opcode rather than ja.
22397
219b3564
RM
223982010-10-12 Robert Millan <rmh@gnu.org>
22399
22400 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
22401 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
22402 variable. All references updated.
22403
22404 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
22405
20c6bb7e
VS
224062010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
22407
22408 Correctly distinguish mdraid flavours.
22409
22410 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
22411 (insert_array): New argument raid.
22412 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
22413 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
22414 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
22415
74baff84
VS
224162010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
22417
22418 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
22419 handling of special keys.
22420
3ef068df 224212010-10-02 Aleš Nesrsta <starous@volny.cz>
22422
c7980ad9
VS
22423 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
22424 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 22425
a9455194 224262010-10-02 Aleš Nesrsta <starous@volny.cz>
22427
c7980ad9
VS
22428 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
22429 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
22430 users updated.
a9455194 22431 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 22432 Use right endpoint when querying descriptor.
a9455194 22433
441cfe65
VS
224342010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22435
22436 Clear out 0x80 color bit on EFI.
22437 Tested by: decoder
22438 Reported by: decoder and meta tech.
22439
22440 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
22441 (grub_console_setcolorstate): Clear out 0x80 bit.
22442 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
22443 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
22444 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
22445
bf26bcc4
VS
224462010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22447
22448 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
22449 Set to "auto".
22450
6e3c515d
VS
224512010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22452
22453 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
22454 mo_file after freeing.
22455
e6d983ba
VS
224562010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22457
22458 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
22459
74ccb5b5
VS
224602010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22461
22462 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
22463 flags.
22464
17821956
VS
224652010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22466
22467 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
22468 usage.
22469
ee74fa48
VS
224702010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22471
22472 Put terminfo into core on ieee1275 and yeeloong (needed for console).
22473
22474 * gentpl.py: New groups terminfoinkernel and terminfomodule.
22475 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
22476 and terminfo.h when needed.
22477 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
22478 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
22479 (terminfo): Enable only on terminfokernel.
22480 (extcmd): Likewise.
22481 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
22482 * include/grub/lib/arg.h: Likewise.
22483 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
22484 incorrect usage of ->.
22485
aa438e68
VS
224862010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22487
22488 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
22489 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
22490
57994012
VS
224912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22492
22493 Fix coreboot compilation.
22494
22495 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22496 Take VBE info into account even if only text is supported.
22497 (fill_vbe_info): Take into account the case when only VGA text
22498 is supported.
22499 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
22500 on coreboot, multiboot and qemu.
22501
2a406611
VS
225022010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22503
22504 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
22505 debug messages.
22506 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
22507
d33613fc
VS
225082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22509
22510 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
22511 parameters.
22512
44a1b432
VS
225132010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22514
22515 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
22516 if they were BSD-style.
22517
edde54e6
VS
225182010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22519
22520 * grub-core/boot/i386/pc/lnxboot.S: Replace
22521 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
22522 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
22523
b65830fa
VS
225242010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22525
22526 Write embedding zone using Reed-Solomon.
22527
22528 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
22529 * grub-core/Makefile.am (rs_decoder.S): New target.
22530 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
22531 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
22532 (multiboot): Move to RS part.
22533 (post_reed_solomon): New label.
22534 (grub_boot_drive): Move to non-RS part since it's modified in memory
22535 on boot.
22536 Include rs_decoder.S.
22537 * grub-core/lib/reed_solomon.c: New file.
22538 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
22539 New definition.
22540 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
22541 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
22542 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
22543 * include/grub/partition.h (grub_partition_map): Change prototype of
22544 embed to allow returning additional sectors.
22545 * include/grub/reed_solomon.h: New file.
22546 * util/grub-setup.c (setup): Handle Reed-Solomon.
22547
0b4b227f
CW
225482010-09-28 Colin Watson <cjwatson@ubuntu.com>
22549
22550 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22551 i386 and x86-64 definedness tests.
22552
f772623b
YB
225532010-09-27 Yves Blusseau <blusseau@zetam.org>
22554
22555 Fix generation of kernel_syms.lst
22556
22557 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
22558 ASM_PREFIX
22559
8e57a6ca
RM
225602010-09-26 Robert Millan <rmh@gnu.org>
22561
22562 Support degraded ZFS arrays in "grub-probe -t device" resolution.
22563
22564 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
22565 the pool is an array of devices, iterate through it and return the
22566 first device that passes a stat() test (instead of blindly returning
22567 the first one).
22568
f9130836
RM
225692010-09-26 Robert Millan <rmh@gnu.org>
22570
22571 Build fixes for GNU/kFreeBSD.
22572
22573 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
22574 to programs that require ZFS conversion.
22575 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
22576 kernels that don't have FLOPPY_MAJOR.
22577
96510faf
BC
225782010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22579
22580 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
22581
449333eb
BC
225822010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22583
22584 Fix grub-emu build.
22585
22586 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
22587 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
22588 mdraid09 and mdraid1x.
22589
e1fd1939
CW
225902010-09-24 Colin Watson <cjwatson@ubuntu.com>
22591
22592 Re-enable grub-extras.
22593
22594 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
22595 avoid confusing Automake. Run autogen only twice, once for the top
22596 level and once for grub-core. Add Makefile.util.def and
22597 Makefile.core.def from extra modules to the appropriate autogen
22598 invocations. If Makefile.common exists in an extra module, include
22599 it in both Makefile.util.am and grub-core/Makefile.core.am;
22600 similarly, include any Makefile.util.common file in Makefile.util.am
22601 and any Makefile.core.common file in grub-core/Makefile.core.am.
22602 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
22603 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
22604 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
22605 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
22606
22607 * gentpl.py (gvar_add): Turn GVARS into a set.
22608 (global_variable_initializers): Sort global variables on output.
22609 (vars_init): New function.
22610 (first_time): Likewise.
22611 (library): Ensure that non-global variable initialisations are
22612 emitted before the first time we emit code for a library block.
22613 Append to variables rather than setting them. Only emit
22614 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
22615 each conditional path.
22616 (program): installdir() emits an Autogen macro, so must be passed to
22617 var_add rather than gvar_add.
22618 (data): Likewise.
22619 (script): Likewise.
22620 (rules): New function, centralising handling for different target
22621 types. Set up Guile association lists for first_time and vars_init,
22622 and send most output to a diversion so that variable initialisations
22623 can be emitted first.
22624 (module_rules): Use new rules function.
22625 (kernel_rules): Likewise.
22626 (image_rules): Likewise.
22627 (library_rules): Likewise.
22628 (program_rules): Likewise.
22629 (script_rules): Likewise.
22630 (data_rules): Likewise.
22631
22632 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
22633
22634 * .bzrignore: Add contrib and grub-core/contrib. Remove
22635 grub-core/Makefile.gcry.am.
22636
1d12cf29
YB
226372010-09-24 Yves Blusseau <blusseau@zetam.org>
22638
22639 * grub-core/lib/LzFind.c: Add missing include.
22640 * grub-core/lib/LzmaEnc.c: Likewise.
22641 * grub-core/script/lexer.c: Likewise.
22642 * grub-core/script/yylex.l: Likewise.
22643 * util/grub-macho2img.c: Likewise.
22644 * util/grub-menulst2cfg.c: Likewise.
22645 * util/grub-mklayout.c: Likewise.
22646 * util/grub-mkpasswd-pbkdf2.c
22647 * util/grub-mkrelpath.c: Likewise.
22648 * util/resolve.c: Likewise.
22649
dd363028
BC
226502010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
22651
22652 * Makefile.util.def (example_unit_test): Add
22653 grub-core/gnulib/libgnu.a.
22654
f5a109e2
GS
226552010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
22656
22657 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
22658
6d0fa83c
VS
226592010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
22660
22661 Support xz compression on yeeloong.
22662
22663 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
22664 * configure.ac: Check for LZMA.
22665 * grub-core/Makefile.core.def (xz_decompress): New target.
22666 (none_decompress): Likewise.
22667 * grub-core/boot/decompressor/minilib.c: New file.
22668 * grub-core/boot/decompressor/none.c: Likewise.
22669 * grub-core/boot/decompressor/xz.c: Likewise.
22670 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22671 * grub-core/kern/mips/cache_flush.S: Likewise.
22672 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
22673 * grub-core/kern/mips/startup.S: Move first stage to ...
22674 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
22675 nomacro.
22676 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
22677 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
22678 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
22679 Allocate statically.
22680 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
22681 Allocate statically or use scratch. Don't check CRC32.
22682 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
22683 Allocate statically. Don't check CRC32.
22684 * include/grub/decompressor.h: New file.
22685 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
22686 Removed.
22687 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
22688 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
22689 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
22690 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
22691 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
22692 * util/grub-mkimage.c (grub_compression_t): New type.
22693 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
22694 (image_target_desc): New field default_compression.
22695 (image_targets): Adjust yeeloong targets.
22696 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
22697 (compress_kernel): New parameter comp.
22698 (generate_image): Likewise. Handle new compression case.
22699 (options): New option --compression
22700 (help): Likewise.
22701 (main): Handle new option.
22702
1b655af6
GS
227032010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
22704
22705 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
22706
8f03f0b5
CW
227072010-09-22 Colin Watson <cjwatson@ubuntu.com>
22708
22709 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22710 typo in __i386__ conditional.
22711
7835dfd3
VS
227122010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22713
22714 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
22715 include.
22716
e255597e
VS
227172010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22718
6d0fa83c 22719 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
22720
22721 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
22722 new tags as supported.
22723 (acpiv2_size): New function.
22724 (grub_multiboot_get_mbi_size): Take new tags into account.
22725 (grub_multiboot_make_mbi): Add new tags.
22726 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 22727
6cc14051 227282010-09-21 Aleš Nesrsta <starous@volny.cz>
22729
22730 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
22731 Added missing configuration of USB device.
22732
df7769d8
CW
227332010-09-21 Colin Watson <cjwatson@ubuntu.com>
22734
22735 * grub-core/normal/menu_entry.c (run): Make sure we always return
22736 a value.
22737
b031012d
CW
227382010-09-21 Colin Watson <cjwatson@ubuntu.com>
22739
22740 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
22741 NumberOfPages is UINT64 according to the UEFI specification, not
22742 UINTN. Fix printf format.
22743
174de8f3
CW
227442010-09-21 Colin Watson <cjwatson@ubuntu.com>
22745
22746 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
22747 `err' to grub_usb_err_t.
22748 Reported and tested by: KESHAV P.R.
22749
d7dbe923
CW
227502010-09-21 Colin Watson <cjwatson@ubuntu.com>
22751
22752 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
22753 tpart non-const, so that we can assign to it. (Since this is a
22754 typedef, the constness refers to the pointer rather than what it
22755 points to.)
22756
8d5e2af3
CW
227572010-09-21 Colin Watson <cjwatson@ubuntu.com>
22758
22759 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
22760 $(top_srcdir)/grub-core/gnulib as well as
22761 $(top_builddir)/grub-core/gnulib.
22762 Reported by: KESHAV P.R.
22763
5c527783
CW
227642010-09-21 Colin Watson <cjwatson@ubuntu.com>
22765
22766 * util/grub-install.in: Fix the bootloader ID option to be
22767 consistently --bootloader-id, not --bootloader_id.
22768 Reported by: KESHAV P.R.
22769
d309a16e
CW
227702010-09-21 Colin Watson <cjwatson@ubuntu.com>
22771
22772 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
22773 check hash checksum." consistently translatable.
22774
b830cd16
YB
227752010-09-21 Yves Blusseau <blusseau@zetam.org>
22776
22777 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
22778 $(top_builddir).
22779
c4fe27a8
CW
227802010-09-21 Colin Watson <cjwatson@ubuntu.com>
22781
22782 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
22783 (GRUB_MOD_INIT): Register sha1sum command.
22784 (GRUB_MOD_FINI): Unregister sha1sum command.
22785
a4c1d277
YB
227862010-09-21 Yves Blusseau <blusseau@zetam.org>
22787
22788 Keep boot and grub directory names in sync with utils scripts
22789
22790 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
22791 * config.h.in: Add previous macros.
22792 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
22793 * util/grub-install.in: Use $bootdir and $grubdir variables.
22794
4eff79d2
CW
227952010-09-21 Colin Watson <cjwatson@ubuntu.com>
22796
22797 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
22798 convert partition names to disk names if the new `convert' parameter
22799 is set.
22800 (grub_util_biosdisk_get_grub_dev): If opening the disk device
22801 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
22802 disk in its own right. This can happen with Xen disk images.
22803
934d7e44
YB
228042010-09-21 Yves Blusseau <blusseau@zetam.org>
22805
22806 * util/grub-editenv.c: Update strings to avoid warnings when generating
22807 grub.pot file.
22808 * util/grub-setup.c: Likewise.
934d7e44 22809
df3367cc
VS
228102010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22811
22812 * configure.ac: Change version to 1.99~beta0.
22813
77a94e98
VS
228142010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22815
22816 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22817 Add BADRAM.
22818 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
22819 Likewise.
22820 * include/multiboot.h: Resynced with specification.
22821 * include/multiboot2.h: Likewise.
22822
269004c1
CW
228232010-09-21 Colin Watson <cjwatson@ubuntu.com>
22824
22825 Fix po directory handling.
22826
22827 * configure.ac: Create po/Makefile.in rather than po/Makefile.
22828 * grub-core/gnulib/Makefile.am: Import gettext module.
22829 * m4/gnulib-cache.m4: Likewise.
22830 * m4/gnulib-comp.m4: Likewise.
22831 * m4/gettext.m4: New file, from gnulib.
22832 * m4/glibc2.m4: Likewise.
22833 * m4/iconv.m4: Likewise.
22834 * m4/intdiv0.m4: Likewise.
22835 * m4/intl.m4: Likewise.
22836 * m4/intldir.m4: Likewise.
22837 * m4/intlmacosx.m4: Likewise.
22838 * m4/intmax.m4: Likewise.
22839 * m4/inttypes-pri.m4: Likewise.
22840 * m4/lcmessage.m4: Likewise.
22841 * m4/lib-ld.m4: Likewise.
22842 * m4/lib-link.m4: Likewise.
22843 * m4/lib-prefix.m4: Likewise.
22844 * m4/lock.m4: Likewise.
22845 * m4/nls.m4: Likewise.
22846 * m4/po.m4: Likewise.
22847 * m4/printf-posix.m4: Likewise.
22848 * m4/progtest.m4: Likewise.
22849 * m4/threadlib.m4: Likewise.
22850 * m4/uintmax_t.m4: Likewise.
22851 * m4/visibility.m4: Likewise.
22852 * po/Makefile.am: Remove.
22853 * po/Makefile.in.in: New file, from gettext.
22854 ($(DOMAIN).pot-update): Support POTFILES-shell.
22855 * po/Makevars: New file.
22856 * po/POTFILES-shell: Rename to ...
22857 * po/POTFILES-shell.in: ... this. Update.
22858 * po/POTFILES: Rename to ...
22859 * po/POTFILES.in: ... this. Update.
22860 * po/Rules-quot: New file, from gettext.
22861 * po/boldquot.sed: Likewise.
22862 * po/en@boldquot.header: Likewise.
22863 * po/en@quot.header: Likewise.
22864 * po/insert-header.sin: Likewise.
22865 * po/quot.sed: Likewise.
22866 * po/remove-potcdate.sin: Likewise.
22867
3e0fa5d0
VS
228682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22869
22870 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
22871
ade9bd66
VS
228722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22873
22874 * util/grub.d/20_linux_xen.in: Use submenus.
22875
fc55cc4c
VS
228762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22877
22878 Support submenus.
22879
22880 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
22881 parameter submenu. All users updated.
22882 * grub-core/normal/main.c (free_menu): Rename to ...
22883 (grub_normal_free_menu): ... this. Made global.
22884 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
22885 if requested.
22886 * grub-core/normal/menu_entry.c (screen): New field submenu.
22887 (make_screen): Set submenu.
22888 (run): Open new context if requested.
22889 * include/grub/menu.h (grub_menu_entry): New field submenu.
22890 * include/grub/normal.h (grub_normal_free_menu): New proto.
22891
600cedf7
VS
228922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22893
22894 Menu entries extractor.
22895
22896 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
22897 variants.
22898 (GRUB_MOD_INIT): Register new variants.
22899 (GRUB_MOD_FINI): Unregister new variants.
22900 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
22901 into grub_cmd_legacy_source.
22902 (grub_cmd_legacy_source): Implement extractor variants.
22903 (GRUB_MOD_INIT): Register new variants.
22904 (GRUB_MOD_FINI): Unregister new variants.
22905 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
22906 as an extractor.
22907 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
22908 search as an extractor.
22909 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
22910 test as an extractor.
22911 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
22912 as an extractor.
22913 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
22914 (grub_env_new_context): New function.
22915 (grub_env_context_open): Likewise.
22916 (grub_env_extractor_open): Likewise.
22917 (grub_env_extractor_close): Likewise.
22918 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22919 grub_extractor_level.
22920 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
22921 * include/grub/env.h (grub_env_extractor_open): New proto.
22922 (grub_env_extractor_close): Likewise.
22923 * include/grub/normal.h (grub_extractor_level): New external variable.
22924
7bda3a87
VS
229252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22926
22927 Make cutmem accept a region specification.
22928 Suggested by: Samuel Thibault
22929
22930 * grub-core/mmap/mmap.c (parsemem): New function.
22931 (grub_cmd_cutmem): Handle new arguments.
22932
2ea57f88
VS
229332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22934
22935 New command cutmem.
22936
22937 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
22938 (GRUB_MOD_INIT): Register new command.
22939 (GRUB_MOD_FINI): Unregister new command.
22940
74342e31
VS
229412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22942
22943 Support some annoying BSD and Minix subpartitions.
22944
22945 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
22946 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
22947 Properly handle concatenation.
22948 * grub-core/kern/device.c (grub_device_iterate): Likewise.
22949 * grub-core/normal/completion.c (iterate_partition): Likewise.
22950 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
22951 contain partition. All users updated.
22952 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
22953 struct.
22954 (grub_openbsdlabel_partition_map): Likewise.
22955 (bsdlabel_partition_map_iterate): Rename to ..
22956 (iterate_real): ... this. New arguments sector, freebsd and pmap.
22957 (bsdlabel_partition_map_iterate): New function.
22958 (netopenbsdlabel_partition_map_iterate): Likewise.
22959 (netbsdlabel_partition_map_iterate): Likewise.
22960 (openbsdlabel_partition_map_iterate): Likewise.
22961 (GRUB_MOD_INIT): Register new partmaps.
22962 (GRUB_MOD_FINI): Unregister new partmaps.
22963 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
22964 (grub_partition_msdos_iterate): ... this. All users updated.
22965 Don't support embedding other than in a minix partition.
22966 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
22967 proto.
22968 * include/grub/partition.h (grub_partition): New field msdostype.
22969 * util/grub-install.in: Handle openbsd and netbsd types being in
22970 part_bsd module.
22971
1e8d555b
VS
229722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22973
22974 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
22975
22976 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
22977 * grub-core/Makefile.core.def (mdraid): Renamed to ...
22978 (mdraid09): ... this.
22979 (mdraid1x): New module.
22980 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
22981 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
22982
899d8af4
VS
229832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22984
22985 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
22986 vsprintf.
22987
40901acd
CW
229882010-09-20 Colin Watson <cjwatson@ubuntu.com>
22989
22990 * grub-core/commands/efi/lsefimmap.c: Correct header.
22991 * NEWS: Update.
22992
dfe3b247
CW
229932010-09-20 Colin Watson <cjwatson@ubuntu.com>
22994
22995 * util/grub-editenv.c (argp_parser): Don't pass translated strings
22996 as printf format strings; the translations might contain '%' which
22997 could cause a crash.
22998 (main): Likewise.
22999 * util/grub-fstest.c (argp_parser): Likewise.
23000 * util/grub-setup.c (argp_parser): Likewise.
23001 (main): Likewise.
23002
3286a4b4
VS
230032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23004
23005 Use argp in grub-fstest.
23006
23007 * util/grub-fstest.c: Don't include getopt.h.
23008 Include argp.h.
23009 (root): New variable.
23010 (args_count): Likewise.
23011 (nparm): Likewise.
23012 (num_disks): Likewise.
23013 (images): Likewise.
23014 (cmd): Likewise.
23015 (debug_str): Likewise.
23016 (args): Likewise.
23017 (options): Transformed to argp.
23018 (usage): Removed.
23019 (main): Split argument parsing into ...
23020 (argp_parser): ... this. Changed to argp format.
23021 (argp): New variable.
23022 (main): Use argp_parse.
23023
3dccbe4b
TG
230242010-09-20 Tristan Gingold <gingold@free.fr>
230252010-09-20 Robert Millan <rmh.grub@aybabtu.com>
230262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23027
23028 * grub-core/commands/efi/lsefimmap.c: New file.
23029 * grub-core/Makefile.core.def (lsefimmap): New module.
23030 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
23031
38c259a7
VS
230322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23033
23034 Pause the execution (10s max) if any errors are displayed so the user
23035 has a chance to see them.
23036
23037 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
23038 (grub_print_error): Increment grub_err_printed_errors.
23039 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
23040 execution if any errors were displayed.
23041 (show_menu): Remove old code for pause.
23042 * grub-core/normal/menu_entry.c (run): Likewise.
23043 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
23044 users updated.
23045 (grub_normal_get_char_counter): Likewise.
23046 * include/grub/err.h (grub_err_printed_errors): New external variable.
23047 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
23048
f218b09c
VS
230492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23050
23051 Support multiboot VBE info.
23052
23053 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
23054 Take VBE info into account.
23055 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
23056 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23057 Call fill_vbe_info when appropriate.
23058 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
23059 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
23060 as supported.
23061 (grub_multiboot_get_mbi_size): Take new tags into account.
23062 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
23063 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23064 Call fill_vbe_tag when appropriate.
23065 (grub_multiboot_make_mbi): Properly align tags.
23066 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
23067 function.
23068 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
23069 proto.
23070 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
23071
a9cc5438
VS
230722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23073
23074 Suport manual terminal geometry specification.
23075
23076 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
23077 Save state in grub_ofconsole_terminfo_output.
23078 (grub_ofconsole_term): Use grub_terminfo_getwh.
23079 (grub_ofconsole_getwh): Removed.
23080 * grub-core/term/serial.c (grub_serial_getwh): Removed.
23081 (grub_serial_term): Use grub_terminfo_getwh.
23082 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
23083 (options): New struct.
23084 (OPTION_*): New enum.
23085 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
23086 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
23087 width and height.
23088 (grub_terminfo_getwh): New proto.
23089 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
23090
1a8fed20
VS
230912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23092
23093 Handle legacy "terminal" command.
23094
23095 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
23096 and FLAG_TERMINAL.
23097 (legacy_commands): Add terminal and title.
23098 (grub_legacy_parse): Handle terminal. Simplify title handling.
23099
41e9c57d
VS
231002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23101
23102 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
23103 parameters overflow.
23104
61c874c5
CW
231052010-09-20 Colin Watson <cjwatson@ubuntu.com>
23106
23107 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
23108 widthspec.h.
23109
23110 * docs/grub.texi (Shell-like scripting): Document `!'.
23111 (Network): Simplify using new i386-pc-pxe format. Mention
23112 grub-mknetdir.
23113
23114 * NEWS: Update.
23115
943682b4
CW
231162010-09-20 Colin Watson <cjwatson@ubuntu.com>
23117
23118 * Makefile.am (SUBDIRS): Restore "."; it's important to force
23119 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
23120 when needed.
23121
6d3d698d
CW
231222010-09-20 Colin Watson <cjwatson@ubuntu.com>
23123
23124 * grub-core/commands/efi/lsefisystab.c: Correct header.
23125 * grub-core/commands/efi/lssal.c: Likewise.
23126 * grub-core/commands/testload.c: Likewise.
23127
c982589f
CW
231282010-09-20 Colin Watson <cjwatson@ubuntu.com>
23129
23130 * util/grub-mkrescue.in: Add explicit root argument to --set to
23131 prevent the UUID being interpreted as an argument to --set (matches
23132 previous change to prepare_grub_to_access_device).
23133
a63c31b6
CW
231342010-09-20 Colin Watson <cjwatson@ubuntu.com>
23135
23136 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
23137 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
23138 the verbosity of later #ifs.
23139 (find_partition_start): Define this function on FreeBSD too.
23140 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
23141 function.
23142 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
23143 on FreeBSD.
23144
6439b8ee
YB
231452010-09-20 Yves Blusseau <blusseau@zetam.org>
23146
23147 * util/grub-editenv.c: Use argp instead of getopt.
23148
c5930ec8
YB
231492010-09-20 Yves Blusseau <blusseau@zetam.org>
23150
23151 * util/grub-setup.c: Use argp instead of getopt.
23152
15c69261
YB
231532010-09-20 Yves Blusseau <blusseau@zetam.org>
23154
23155 Use gnulib-tool to create gnulib source files.
23156
23157 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
23158 grub-core/gnulib directories
23159 * .bzignore: Add **/.deps and autogenerated gnulib files
23160 * configure.ac: Assign auxiliary directory to build-aux, add invocation
23161 of gnulib macros, add grub-core/gnulib/Makefile
23162 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
23163 include m4 directory to aclocal.
23164 * Makefile.util.def: Remove direct compilation of gnulib source files
23165 and use the new grub-core/gnulib/libgnu.a.
23166 * build-aux/config.rpath: move config.rpath from top directory to
23167 build-aux
23168 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
23169 in gnulib headers
23170 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
23171 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
23172 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
23173 header.
23174 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
23175 string.
23176
e511c9f5
YB
231772010-09-20 Yves Blusseau <blusseau@zetam.org>
23178
23179 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
23180 grub-core/genmod.sh and grub-core/gensyminfo.sh
23181
c2dede05
BC
231822010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
23183
23184 Add a test for echo command options.
23185
23186 * tests/grub_cmd_echo.in: New test.
23187 * Makefile.util.def: Rules for new test.
23188
c55f5018
SJ
231892010-09-20 Szymon Janc <szymon@janc.net.pl>
23190
23191 Remove crc.mod and move crc command to hashsum.mod.
23192 Remove lib/crc.c - users updated to use gcrypt implementation.
23193
23194 * grub-core/commands/crc.c: Removed.
23195 * grub-core/Makefile.core.def (crc): Module removed.
23196 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
23197 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
23198 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
23199 * grub-core/lib/crc.c: Removed.
23200 * include/grub/lib/crc.h: Removed.
23201 * Makefile.util.def (crc): Remove lib/crc.c
23202 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
23203 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
23204 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
23205 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
23206 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
23207 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
23208
e0337366
VS
232092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23210
23211 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
23212
742f9232
VS
232132010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23214
23215 Split config.h for util and core.
23216
23217 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
23218 (ADDR32): Likewise.
23219 (DATA32): Likewise.
23220 (BSS_START_SYMBOL): Likewise.
23221 (END_SYMBOL): Likewise.
23222 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
23223 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
23224 * config.h.in: New file.
23225 * configure.ac: Use config-util.h as config define file.
23226 Rename MACHINE into GRUB_MACHINE. All users updated.
23227 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
23228 updated.
23229 (NESTED_FUNC_ATTR): Likewise.
23230 Substitue new variables.
23231 (COND_HAVE_ASM_USCORE): New conditional.
23232 * grub-core/Makefile.am (ASM_PREFIX): New variable.
23233 (kernel_syms.lst): Use ASM_PREFIX.
23234 * grub-core/kern/emu/console.c: Include config-util.h.
23235 * grub-core/kern/emu/misc.c: Likewise.
23236 * grub-core/kern/emu/mm.c: Likewise.
23237 * include/grub/emu/misc.h: Likewise.
23238 * include/grub/libgcc.h: Likewise.
23239
39feb0e8
VS
232402010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23241
23242 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
23243 constants usage.
23244 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
23245 Fix GRUB_TERM_KEY_* constants usage.
23246 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
23247
9af6dac3
VS
232482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23249
23250 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
23251 print pointer.
23252 * grub-core/bus/usb/uhci.c: Remove empty define.
23253 (grub_uhci_check_transfer): Add missing cast.
23254 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
23255 print pointer.
23256 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
23257 PRIuGRUB_SIZE.
23258 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
23259
d6d94820
VS
232602010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23261
23262 * grub-core/Makefile.core.def (legacycfg): Add
23263 lib/i386/pc/vesa_modes_table.c on emu.
23264
3572f2b6
BC
232652010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23266
23267 Reduce number of temporary files generated by build system.
23268
23269 * grub-core/gencmdlist.sh: Removed.
23270 * grub-core/genfslist.sh: Removed.
23271 * grub-core/genhandlerlist.sh: Removed.
23272 * grub-core/genmodsrc.sh: Removed.
23273 * grub-core/genpartmaplist.sh: Removed.
23274 * grub-core/genparttoollist.sh: Removed.
23275 * grub-core/gentermiinallist.sh: Removed.
23276 * grub-core/genvideolist.sh: Removed.
23277
23278 * grub-core/genmod.sh.in: New file.
23279 * grub-core/gensyminfo.sh.in: New file.
23280
23281 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
23282 * conf/Makefile.extra-dist: Update with new files.
23283 * gentpl.py: Remove rules related to unnecessary temporary files.
23284 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
23285 and und-* files.
23286 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
23287 genmod.sh scripts.
23288 * grub-core/bus/usb/uhci.c: Remove empty #define.
23289 * grub-core/genmoddep.awk: Updated with new syminfo format.
23290 * util/bash-completion.d/Makefile.am: Add config.log to
23291 CLEANFILES.
23292
c836b030
YB
232932010-09-19 Yves Blusseau <blusseau@zetam.org>
23294
23295 * Makefile.util.def: Add forgotten $(LIBINTL) library.
23296
2f4e8053
BC
232972010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23298
23299 * util/grub-mkconfig.in: Check the config script for syntax errors
23300 before saving.
23301
75831c34
CW
233022010-09-19 Colin Watson <cjwatson@ubuntu.com>
233032010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23304
23305 * Makefile.util.def (grub-install): Use util/grub-install.in on all
23306 platforms.
23307 * util/grub-install.in: Add EFI and IEEE1275 support.
23308 * util/i386/efi/grub-install.in: Removed.
23309 * util/ieee1275/grub-install.in: Likewise.
23310
eaf41b25
VS
233112010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23312
23313 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
23314 (grub_cmd_cmosclean): Likewise.
23315 (GRUB_MOD_INIT): Register command cmosclean.
23316 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
23317 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
23318
1a9130dd
CPE
233192010-09-18 Carles Pina i Estany <carles@pina.cat>
233202010-09-18 Aleš Nesrsta <starous@volny.cz>
233212010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23322
23323 Add keyboard layouts support.
23324
23325 * Makefile.util.def (grub-mklayout): New file.
23326 (grub-kbdcomp): New script.
23327 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
23328 Add keyboard_layouts.h.
23329 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
23330 commands/boot.c on yeeloong.
23331 (keylayouts): New module.
23332 * grub-core/bus/usb/ohci.c
23333 * grub-core/bus/usb/uhci.c
23334 * grub-core/bus/usb/usbhub.c (rescan): New variable.
23335 (grub_usb_add_hub): Poll interrupt pipe for device handling.
23336 (attach_root_port): Likewise.
23337 (poll_nonroot_hub): Likewise.
23338 (grub_usb_poll_devices): Likewise.
23339 (detach_device): Close transfer.
23340 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
23341 function.
23342 (grub_usb_bulk_setup_readwrite): Likewise.
23343 (grub_usb_bulk_finish_readwrite): Likewise.
23344 * grub-core/commands/keylayouts.c: New file.
23345 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
23346 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
23347 aliases.
23348 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
23349 support scancode 2.
23350 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
23351 * include/grub/keyboard_layouts.h: New file.
23352 * util/grub-mklayout.c: New file.
23353 * util/grub-kbdcomp.in: Likewise.
23354
a1d84a5e
VS
233552010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23356
23357 Unify memory types.
23358
23359 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
23360 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
23361 types.
23362 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
23363 (grub_upper_mem): Likewise.
23364 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
23365 * include/grub/memory.h (grub_memory_type_t): New enum.
23366 All users updated.
23367
9696382e
VS
233682010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23369
23370 * grub-core/Makefile.core.def (lsapm): New module.
23371 * grub-core/commands/i386/pc/lsapm.c: New file.
23372 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
23373 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
23374 Likewise.
23375 * include/grub/i386/pc/apm.h: New file.
23376 * include/multiboot.h (multiboot_apm_info): New struct.
23377
233782010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23379
23380 GRUB-legacy configuration file support.
23381
23382 * Makefile.util.def (grub-menulst2cfg): New util.
23383 * docs/man/grub-menulst2cfg.h2m: New file.
23384 * grub-core/Makefile.core.def (legacycfg): New module.
23385 * grub-core/commands/legacycfg.c: New file.
23386 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
23387 (grub_normal_add_menu_entry): ... this.
23388 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
23389 (grub_normal_set_password): ...this.
23390 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
23391 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
23392 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
23393 * grub-core/lib/legacy_parse.c: New file.
23394 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
23395 * include/grub/i386/pc/vesa_modes_table.h: New file.
23396 * include/grub/legacy_parse.h: Likewise.
23397 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
23398 * util/grub-menulst2cfg.c: New file.
23399
bf8d1338
CW
234002010-09-17 Colin Watson <cjwatson@ubuntu.com>
23401
23402 * grub-core/kern/emu/hostdisk.c
23403 (convert_system_partition_to_system_disk): Initialise node.
23404
9c0bad2e
CW
234052010-09-17 Colin Watson <cjwatson@ubuntu.com>
23406
23407 * grub-core/kern/emu/hostdisk.c
23408 (convert_system_partition_to_system_disk): Fix devmapper memory pool
23409 leak.
23410 Reported and based on patch by: Modestas Vainius.
23411
a939d135
CW
234122010-09-17 Colin Watson <cjwatson@ubuntu.com>
23413
23414 Fix DM-RAID probing with recent versions of device-mapper udev
23415 rules.
23416
23417 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
23418 canonicalise device paths under /dev/mapper/.
23419 (convert_system_partition_to_system_disk): Compare the
23420 uncanonicalised path to /dev/mapper/ rather than the canonicalised
23421 path, since device nodes under /dev/mapper/ are often symlinks.
23422
0f7ee3c9
YB
234232010-09-17 Yves Blusseau <blusseau@zetam.org>
23424
23425 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
23426
10854d0d
YB
234272010-09-16 Yves Blusseau <blusseau@zetam.org>
23428
23429 * configure.ac: Avoid some annoying error messages if freetype-config
23430 program is not found.
23431
108538d8
CW
234322010-09-16 Colin Watson <cjwatson@ubuntu.com>
23433
23434 Support RAID on virtio devices, and others.
23435
23436 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
23437 Rename to ...
23438 [__MINGW32__] (grub_find_device): ... this.
23439 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
23440 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
23441 reasonable default if dir is NULL.
23442 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
23443 ...
23444 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
23445 (grub_guess_root_device): Update callers.
23446 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
23447
23448 * util/raid.c (grub_util_getdiskname): Remove.
23449 (grub_util_raid_getmembers): Use grub_find_device rather than
23450 grub_util_getdiskname.
23451
e5bfc130
CW
234522010-09-16 Colin Watson <cjwatson@ubuntu.com>
23453
23454 * docs/grub.texi (serial): Remove obsolete comment about GRUB
23455 needing to be compiled with serial support.
23456 (ls): Indicate that multiple files are accepted.
23457 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
23458 indicate that multiple files are accepted.
23459
be458ae2
CW
234602010-09-16 Colin Watson <cjwatson@ubuntu.com>
23461
23462 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
23463 libgrub_a_init.c, and util/bash-completion.d/grub.
23464
cb731b5e
VS
234652010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23466
23467 * util/grub-setup.c (setup): Fix incorrect container semantics.
23468
35139e8a
VS
234692010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23470
23471 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
23472 misusage.
23473 Reported by: J. Nick Terry
23474
e50fca4a
VS
234752010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23476
23477 Move embedding routines to partmap sources files.
23478
23479 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
23480 [GRUB_UTIL]: New variable.
23481 (gpt_partition_map_iterate): Set part.parent.
23482 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
23483 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
23484 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
23485 New function.
23486 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
23487 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
23488 (grub_partition_map) [GRUB_UTIL]: New field embed.
23489 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
23490 (setup): Use ->embed.
23491
f00478b7
VS
234922010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23493
23494 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
23495 function.
23496 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
23497 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
23498
2b94e3ff
YB
234992010-09-15 Yves Blusseau <blusseau@zetam.org>
23500
23501 Add function to get completions from usage.
23502
23503 * util/bash-completion.d/grub-completion.bash.in: Add function to get
23504 completions from usage. Use LC_ALL=C to get options properly.
23505
2e04a006
VS
235062010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23507
23508 * grub-core/gnulib/basename-lgpl.c: Imported.
23509 * grub-core/gnulib/basename.c: Likewise.
23510 * grub-core/gnulib/dirname-lgpl.c: Likewise.
23511 * grub-core/gnulib/dirname.c: Likewise.
23512 * grub-core/gnulib/dirname.h: Likewise.
23513 * grub-core/gnulib/stripslash.c: Likewise.
23514
5dcdf93a
VS
235152010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23516
23517 * grub-core/gnulib/error.c: Resynced.
23518 * grub-core/gnulib/getopt.c: Likewise.
23519 * grub-core/gnulib/getopt_int.h: Likewise.
23520 * grub-core/gnulib/regex.h: Likewise.
23521 * grub-core/gnulib/regex_internal.c: Likewise.
23522 * grub-core/gnulib/regex_internal.h: Likewise.
23523
014f47b7
SJ
235242010-09-15 Szymon Janc <szymon@janc.net.pl>
23525
23526 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
23527 CRC calculations and validity checks.
23528 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
23529 calculations.
23530
dd521a4a
SJ
235312010-09-15 Szymon Janc <szymon@janc.net.pl>
23532
23533 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
23534
79c4eeb9
VS
235352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23536
23537 Fix incorrect echo options handling.
23538 Reported by: Yves Blusseau.
23539
23540 * include/grub/command.h (grub_command_flags_t): New flags
23541 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
23542 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
23543 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
23544
ed80f7d5
VS
235452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23546
23547 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
23548 users updated.
23549 (GRUB_COMMAND_FLAG_MENU): Likewise.
23550 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23551 (GRUB_COMMAND_FLAG_TITLE): Removed.
23552 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23553 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
23554 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
23555 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
23556 (grub_command_flags_t): New enum. All users updated.
23557
5fe7620a
SG
235582010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
23559
23560 Fix solaris compilation.
23561
23562 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
23563 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
23564 (grub-emu-list): Likewise.
23565
545b752f
VS
235662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23567
23568 Remove deprecated root command.
23569
23570 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
23571 updated.
23572
6c1a338c
VS
235732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23574
23575 * util/i386/pc/grub-setup.c: Merge this ...
23576 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
23577 * util/grub-setup.c: ... into this.
23578 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
23579 New struct.
23580
235812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23582
23583 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
23584 possible.
23585
d2ea4551
VS
235862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23587
23588 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
23589 allocate p.
23590
3c3b5040
VS
235912010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23592
23593 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
23594 explicit root argument to set to prevent UUID to be interpreted as
23595 argument to set.
23596
b71c3fae
VS
235972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23598
23599 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
23600
275433e6
VS
236012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23602
23603 Don't export grub_gate_a20.
23604
23605 * grub-core/kern/i386/pc/init.c: Remove leftovers.
23606 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
23607 to ...
23608 (grub_gate_a20): ... this. All users updated.
23609 * include/grub/i386/pc/init.h: Removed. All users updated.
23610
a5dbb1f1
VS
236112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23612
23613 Create euro.pf2 which supports most European languages.
23614
23615 * Makefile.am (grubdata_DATA): Add euro.pf2.
23616 (euro.pf2): New target.
23617 (CLEANFILES): Add euro.pf2.
23618
62a747cb
VS
236192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23620
23621 * configure.ac: Disable emu-usb by default to prevent inadvertent
23622 device takeover.
23623
608e43b1
VS
236242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23625
23626 Disable usbserial on grub-emu since our libusb code isn't good enough
23627 yet.
23628
23629 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
23630 (usbserial_pl2303): Likewise.
23631 (usbserial_ftdi): Likewise.
23632
94564f81
VS
236332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23634
23635 * include/grub/disk.h (grub_disk): Remove has_partitions.
23636 All users updated.
23637 * disk/loopback.c (grub_loopback): Remove has_partitions.
23638 All users updated.
23639 (options): Remove partitions. All users updated.
23640 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
23641 * util/i386/pc/grub-setup.c (setup): copy partition table only when
23642 actual partition table is found.
23643
3352800b
VS
236442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23645
23646 Remove readability checks (too many false negatives).
23647
23648 * util/grub-install.in: Remove readability checks.
23649 * util/grub-mkconfig.in: Likewise.
23650 * util/grub.d/10_hurd.in: Likewise.
23651 * util/grub.d/10_kfreebsd.in: Likewise.
23652 * util/grub.d/10_linux.in: Likewise.
23653 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
23654 way.
23655
2419f17a
VS
236562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23657
23658 Enable acpi shutdown on all ACPI platforms.
23659
23660 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
23661 on coreboo, multiboot and EFI.
23662 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
23663 (grub_acpi_halt): Likewise.
23664 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
23665 (grub_cmd_halt): Don't call grub_acpi_halt directly.
23666 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
23667 * grub-core/lib/i386/halt.c (grub_halt)
23668 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
23669
0575c7c3
VS
236702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23671
23672 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
23673 context.
23674
54ac3cd1
VS
236752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23676
23677 * grub-core/video/efi_gop.c: Fix over-80-chars line.
23678 * grub-core/video/efi_uga.c: Likewise.
23679
b2a30ac5
VS
236802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23681
23682 Filter devaliases and never open same device twice.
23683
23684 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
23685 (last_ihandle): Likewise.
23686 (ofdisk_hash_ent): New member shortest.
23687 (ofdisk_hash_add): Add canonical path too.
23688 (scan): New function.
23689 (grub_ofdisk_iterate): Iterate over hashed entries.
23690 (compute_dev_path): Don't add :0.
23691 (grub_ofdisk_open): Don't really open the disk.
23692 (grub_ofdisk_close): Avoid closing unrelated disk.
23693 (grub_ofdisk_read): Implement reopen logic.
23694 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
23695 New function.
23696 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
23697 New proto.
23698
fb53b340
VS
236992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23700
23701 Fix sparc64.
23702
23703 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
23704 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
23705 right address. Add sparc64_ieee1275_ldflags.
23706 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
23707 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
23708 to grub_host_to_target_addr
23709 (load_image): Likewise.
23710
f452b040
VS
237112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23712
23713 * grub-core/normal/completion.c (complete_file): Handle device
23714 containing slash.
23715 Fix based on patch by Doug Nazar.
23716
9b5b2541
VS
237172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23718
23719 grub-mknetdir script.
23720
23721 * Makefile.util.def (grub-mknetdir): New module.
23722 * tests/util/grub-shell.in: Support boot=net
23723 * util/grub-mknetdir.in: New file.
23724
9d2be652
VS
237252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23726
23727 videoinfo on non-vbe.
23728
23729 * grub-core/Makefile.core.def (vbeinfo): Removed.
23730 (vbetest): Removed.
23731 (videoinfo): New module.
23732 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
23733 * grub-core/commands/i386/pc/vbetest.c: Removed.
23734 * grub-core/commands/videoinfo.c: New file.
23735 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
23736 specification.
23737 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
23738 as vbetest.
23739 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
23740 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
23741 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
23742 mode_number. New parameter mode. All users updated.
23743 (grub_video_gop_iterate): New function.
23744 (grub_video_efi_gop): New member iterate.
23745 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
23746 (grub_vbe_set_video_mode): Remove setting useless fields.
23747 (vbe2videoinfo): New function.
23748 (grub_video_vbe_iterate): Likewise.
23749 (grub_video_vbe_setup): Use vbe2videoinfo.
23750 (grub_video_vbe_print_adapter_specific_info): New function.
23751 (grub_video_vbe_adapter): New fields iterate and
23752 print_adapter_specific_info.
23753 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
23754 All users updated.
23755 (grub_video_mode_info): New field mode_number.
23756 (grub_video_adapter): New fields iterate and
23757 print_adapter_specific_info.
23758
179503f5
TG
237592010-09-13 Tristan Gingold <gingold@free.fr>
237602010-09-13 Robert Millan <rmh.grub@aybabtu.com>
237612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23762
23763 * grub-core/commands/efi/lsefisystab.c: New file.
23764 * grub-core/commands/efi/lssal.c: Likewise.
23765 * grub-core/Makefile.core.def (lsacpi): New module.
23766 (lsefisystab): Likewise.
23767 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
23768 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
23769 (grub_efi_sal_system_table): New struct.
23770 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
23771 (grub_efi_sal_system_table_memory_descriptor): Likewise.
23772 (grub_efi_sal_system_table_platform_features): Likewise.
23773 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
23774 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
23775 (grub_efi_sal_system_table_ap_wakeup): Likewise.
23776 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
23777
cf9827de
VS
237782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23779
23780 Support explicit user claim that a device is BIOS-visible.
23781
23782 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
23783 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
23784 * grub-core/kern/emu/hostdisk.c
23785 (convert_system_partition_to_system_disk): Support mdX.
23786 (find_system_device): New parameter add. All users updated.
23787 (grub_util_biosdisk_is_present): New function.
23788 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
23789 proto.
23790
53f0eb1f
VS
237912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23792
23793 Search hints support.
23794
23795 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
23796 All users updated.
23797
b23ffd70
YB
237982010-09-13 Yves Blusseau <blusseau@zetam.org>
23799
23800 Bash completion script for util commands
23801
23802 * Makefile.am: Add util/bash-completion.d directory
23803 * configure.ac: Likewise.
23804 * util/bash-completion.d/Makefile.am: New file.
23805 * util/bash-completion.d/grub-completion.bash.in: Likewise.
23806
d547dc28
VS
238072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23808
23809 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
23810 (print_backlog): set backlog_ucs4 and backlog_glyphs.
23811 Reported by: Yves Blusseau.
23812
2fc8ccb9
VS
238132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23814
23815 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
23816 partition size and offset.
23817
d8a84076
VS
238182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23819
23820 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
23821
84fb3b3d
VS
238222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23823
23824 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
23825
768ec2e2
VS
238262010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23827
23828 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
23829 (grub_xvasprintf): Likewise.
23830
4870900f
VS
238312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23832
23833 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
23834
faca6bec
VS
238352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23836
23837 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
23838 args ending with NULL.
23839
238402010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
23841
23842 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
23843 pointer.
23844
3c70f225
SJ
238452010-09-11 Szymon Janc <szymon@janc.net.pl>
23846
23847 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
23848
4df7996d
VS
238492010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23850
23851 Shutdown using ACPI.
23852
23853 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
23854 * grub-core/commands/acpihalt.c: New file.
23855 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
23856 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
23857 (grub_acpi_halt): New proto.
23858 (GRUB_ACPI_SLP_EN): New const.
23859 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
23860 (GRUB_ACPI_OPCODE_*): New enum.
23861 (GRUB_ACPI_EXTOPCODE_*): Likewise.
23862
126b4c32
TG
238632010-09-11 Tristan Gingold <gingold@free.fr>
238642010-09-11 Robert Millan <rmh.grub@aybabtu.com>
238652010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23866
23867 * commands/lsacpi.c: New file.
23868 * grub-core/Makefile.core.def (lsacpi): New module.
23869 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
23870 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
23871 (grub_acpi_madt_entry_header): New struct.
23872 (grub_acpi_madt): Likewise.
23873 (grub_acpi_madt_entry_interrupt_override): Likewise.
23874 (grub_acpi_madt_entry_sapic): Likewise.
23875 (grub_acpi_madt_entry_lsapic): Likewise.
23876 (grub_acpi_madt_entry_platform_int_source): Likewise.
23877 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
23878 (PRIuGRUB_UINT32_T): Likewise.
23879 (PRIxGRUB_UINT64_T): Likewise.
23880
1aa4fe88
VS
238812010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23882
23883 Implement loading palette on ieee1275_fb.
23884
23885 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
23886 (have_setcolors): Likewise.
23887 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
23888 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
23889 (grub_video_ieee1275_set_palette): Implement.
23890
25761e13
VS
238912010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
238922010-09-11 Colin Watson <cjwatson@ubuntu.com>
23893
23894 * util/grub-install.in (grub_partition): New variable.
23895 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
23896 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
23897 Fixes a bug reported by Yves Blusseau.
23898
050abaea
VS
238992010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23900
23901 Fix emu on mipsel.
23902
23903 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
23904 =grub_cpu_flush_cache on all mips and not only yeeloong.
23905 * configure.ac (COND_mips): New conditional.
23906 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
23907 platforms.
23908 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
23909 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
23910 [GRUB_LINKER_HAVE_INIT]: New function.
23911 (grub_emu_post_init): Likewise.
23912 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
23913 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
23914 * include/grub/cache.h (_mips): Include mips/cache.h.
23915 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
23916 LVM and RAID prototypes.
23917 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
23918 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
23919 function.
23920
5ed7d816
CW
239212010-09-10 Colin Watson <cjwatson@ubuntu.com>
23922
23923 * util/grub-install.in: Don't try to verify core.img until after
23924 running grub-mkimage to create it.
23925
90367e04
RM
239262010-09-10 Robert Millan <rmh@gnu.org>
23927
23928 * util/grub.d/10_hurd.in: Add misc readability checks.
23929 * util/grub.d/10_kfreebsd.in: Likewise.
23930 * util/grub.d/10_linux.in: Likewise.
23931
c452fa66
CW
239322010-09-10 Colin Watson <cjwatson@ubuntu.com>
23933
23934 * util/grub-install.in: ${imgext} won't be defined here until the
23935 install branch is merged. For the meantime, only verify core.img on
23936 i386-pc and sparc64-ieee1275 platforms.
23937
c38fe9f4
RM
239382010-09-10 Robert Millan <rmh@gnu.org>
23939
23940 Solaris support in grub_find_zpool_from_dir(). Thanks
23941 Seth Goldberg for referring to getextmntent() facility.
23942
23943 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
23944 `sys/mkdev.h'.
23945 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
23946 `<sys/mnttab.h>'.
23947 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
23948 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
23949 method for finding zpool name.
23950
905f7773
CW
239512010-09-10 Colin Watson <cjwatson@ubuntu.com>
23952
23953 grub-fstest needs the host and hostfs modules while other utilities
23954 actively require those modules to be absent, so grub-fstest needs
23955 its own initialisation and finalisation code.
23956
23957 * Makefile.am (grub_fstest.pp): New target.
23958 (grub_fstest_init.lst): Likewise.
23959 (grub_fstest_init.c): Likewise.
23960 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
23961
fb90b546
RM
239622010-09-10 Robert Millan <rmh@gnu.org>
23963
23964 * configure.ac: Check for `struct statfs.f_fstypename' and
23965 `struct statfs.f_mntfromname'.
23966
23967 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
23968 kFreeBSD-specific code.
23969
66d4bea5
RM
239702010-09-10 Robert Millan <rmh@gnu.org>
23971
23972 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
23973 on ZFS. Now non-main filesystems are supported as / too.
23974
b6a690ee
CW
239752010-09-09 Colin Watson <cjwatson@ubuntu.com>
23976
23977 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
23978 and grub-core/disk/host.c to ...
23979 (grub-fstest): ... here. Having the host disk implementation
23980 present confuses grub-probe and other utility programs.
23981
23982 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
23983 when writing to a file, not when writing to stdout.
23984
8901b00c 239852010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
23986
23987 * tests/partmap_test.in: New test for partitions.
23988 * Makefile.util.def: Rules for new test.
23989
7bf45fdd
RM
239902010-09-09 Robert Millan <rmh@gnu.org>
23991
23992 * util/grub-probe.c (probe): Fix a pair of unhandled error
23993 conditions.
23994
4dfbc574
RM
239952010-09-09 Robert Millan <rmh@gnu.org>
23996
23997 Basic Btrfs support (detection and UUID).
23998
23999 * grub-core/fs/btrfs.c: New file.
24000 * Makefile.util.def (library): Register btrfs.c.
24001 * grub-core/Makefile.core.def: Likewise.
24002
6b8e78ae
RM
240032010-09-08 Robert Millan <rmh@gnu.org>
24004
24005 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
24006 with (optional) parameters to specify device and relative path.
24007 * util/grub-install.in: Use is_path_readable_by_grub() to
24008 verify readability of a few critical files.
24009 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
24010 verify readability of grub.cfg.new.
24011
27f21a8b
VS
240122010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24013
24014 Split minix.mod into minix.mod and minix2.mod.
24015
24016 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
24017 * grub-core/Makefile.core.def (minix2): New module.
24018 * grub-core/fs/minix.c: Use definitions instead of runtime version
24019 checking.
24020 * grub-core/fs/minix2.c: New file.
24021
c0e53ea5
YB
240222010-09-08 Yves Blusseau <blusseau@zetam.org>
24023
24024 Add new --boot-directory option to replace --root-directory
24025
24026 * util/grub-install.in: Add new --boot-directory option
24027 * util/grub-reboot.in: Likewise.
24028 * util/grub-set-default.in: Likewise.
24029
b9fe6ea2
YB
240302010-09-08 Yves Blusseau <blusseau@zetam.org>
24031
24032 * util/grub-mkconfig.in: Use new variable.
24033
d87aedff
YB
240342010-09-08 Yves Blusseau <blusseau@zetam.org>
24035
24036 * configure.ac: Define some useful variables.
24037
e55e8495
VS
240382010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24039
24040 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24041 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
24042 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
24043 Use terminfo and don't use cursor-on/cursor-off unless it's known
24044 to work.
24045 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
24046 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
24047
6fa6d675
CW
240482010-09-08 Colin Watson <cjwatson@ubuntu.com>
24049
24050 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
24051 starts with "(,", fill the drive containing the loaded image in
24052 between those two characters, but expect that a full partition
24053 specification including partition map names will follow.
24054
92f2aef0
RM
240552010-09-08 Robert Millan <rmh@gnu.org>
24056
24057 * configure.ac: Remove `--enable-grub-fstest' option.
24058 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
24059
24060 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
24061 `grub-fstest' instead of `grub-probe' for readability verification.
24062 * util/grub-probe.c (probe): Remove readability verification kludge.
24063
99fd620d
RM
240642010-09-08 Robert Millan <rmh@gnu.org>
24065
24066 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
24067 initializing `GRUB_FS'.
24068
058e30ac 240692010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
24070
24071 Not command (!) support to GRUB script.
24072
24073 * tests/grub_script_not.in: New test.
24074 * Makefile.util.def: Rules for new test.
24075
24076 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
24077 ! command as a special case.
24078 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
24079
b61d05ed 240802010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24081
058e30ac 24082 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
24083 grub_free.
b61d05ed 24084
4d69c786 240852010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24086
24087 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
24088
aa3119c4 240892010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24090
24091 * docs/grub.texi (Shell-like scripting): Documentation for break,
24092 continue, shift and return commands.
24093
db0f7e3d
VS
240942010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
24095
24096 Rename CD-ROM to cd on BIOS.
24097
24098 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
24099 "cd".
24100 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
24101
88b87c93
VS
241022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24103
24104 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
24105 * util/grub-probe.c (main): Likewise.
24106 * util/i386/pc/grub-setup.c (main): Likewise.
24107 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24108 Reported and debugged by: alexxy
24109
294f324d
VS
241102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24111
24112 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
24113 diagnostic info.
24114
d7ee3441
JS
241152010-09-05 Jo Shields <directhex@apebox.org>
24116
24117 * util/grub.d/30_os-prober.in: Add missing classes.
24118
d7e06c1f
VS
241192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24120
24121 * docs/grub.texi (Theme file format): Document new position format.
24122
fc157e53
VS
241232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24124
24125 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
24126 a table. Use @code instead of @verbatim.
24127
506e9a1c
CB
241282010-09-05 Colin D Bennett <colin@gibibit.com>
24129
24130 Gfxmenu documentation.
24131
24132 * docs/grub.texi (Theme file format): New chapter.
24133
f0aff67c
SJ
241342010-09-05 Szymon Janc <szymon@janc.net.pl>
24135
24136 * grub-core/Makefile.core.def (xzio): New module.
24137 * grub-core/io/xzio.c: New file.
24138 * grub-core/lib/xzembed/xz.h: New file (from xembed).
24139 * grub-core/lib/xzembed/xz_config.h: Likewise.
24140 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
24141 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
24142 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
24143 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
24144 * grub-core/lib/xzembed/xz_private.h: Likewise.
24145 * grub-core/lib/xzembed/xz_stream.h: Likewise.
24146 * include/grub/file.h (grub_file_filter_id): New compression filter
24147 GRUB_FILE_FILTER_XZIO.
24148
82a85062
VS
241492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24150
24151 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
24152 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
24153 size.
24154
3579415d
VS
241552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24156
24157 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
24158 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
24159
5124ae6d
VS
241602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24161
24162 Uncompressed checksum support.
24163
24164 * grub-core/commands/hashsum.c (options): Add option --uncompress.
24165 (check_list): New parameter uncompress.
24166 (grub_cmd_hashsum): Handle --uncompress.
24167
9aadb3d1
VS
241682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24169
24170 Reintroduce testload.
24171
24172 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
24173 from here ...
24174 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
24175 (GRUB_MOD_INIT): New function.
24176 (GRUB_MOD_FINI): Likewise.
24177 * grub-core/Makefile.core.def (testload): New module.
24178
a17792c3
SJ
241792010-09-05 Szymon Janc <szymon@janc.net.pl>
24180
24181 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
24182 (uint8_t): New type.
24183 (uint16_t): Likewise.
24184 (uint32_t): Likewise.
24185 (uint64_t): Likewise.
24186
b81e40a3
SJ
241872010-09-05 Szymon Janc <szymon@janc.net.pl>
24188
24189 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
24190
fc2ef117
VS
241912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24192
24193 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
24194 Made static.
24195 (grub_gzfile_open): Removed. All users updated.
24196 (GRUB_MOD_INIT): New function.
24197 (GRUB_MOD_FINI): Likewise.
24198 * grub-core/kern/file.c (grub_file_filters_all): New variable.
24199 (grub_file_filters_enabled): Likewise.
24200 (grub_file_open): Handle filters.
24201 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
24202 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
24203 * include/grub/file.h (grub_file_filter_id_t): New type.
24204 (grub_file_filter_t): Likewise.
24205 (grub_file_filters_all): New extern variable.
24206 (grub_file_filters_enabled): Likewise.
24207 (grub_file_filter_register): New inline function.
24208 (grub_file_filter_unregister): Likewise.
24209 (grub_file_filter_disable): Likewise.
24210 (grub_file_filter_disable_compression): Likewise.
24211 * include/grub/gzio.h: Removed.
24212
35ee15e0
BC
242132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24214
24215 Filename expansion support for wildcards in GRUB script.
24216
24217 * tests/grub_script_expansion.in: New test.
24218 * Makefile.util.def: Rule for new test.
24219
24220 * grub-core/commands/wildcard.c: New file, implements filename
24221 expansion support for GRUB script.
24222 * grub-core/Makefile.core.def: Rule update for regexp.mod.
24223 * grub-core/script/argv.c: Cosmetic changes.
24224 * grub-core/script/execute.c (grub_script_arglist_to_argv):
24225 Refactored to perform wildcard expansion on arguments.
24226 * include/grub/script_sh.h (grub_script_wildcard_translator): New
24227 struct.
24228
24229 * tests/util/grub-shell.in: Fix quoting for read input.
24230
5f0c4aca
BC
242312010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24232
24233 Support for updating environment variables with matched substrings
24234 of regexp.
24235
24236 * tests/grub_cmd_regexp.in: New test.
24237 * Makefile.util.def: Rule for new test.
24238
24239 * grub-core/commands/regexp.c: New option -s to update environment
24240 variables with regexp matches.
24241
3759a35f
SJ
242422010-09-04 Szymon Janc <szymon@janc.net.pl>
24243
24244 * include/grub/file.h (grub_file): New member not_easly_seekable.
24245 (grub_file_seekable): New inline function.
24246 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
24247 easily seekable.
24248 (grub_gzio_open): Set not_easly_seekable.
24249 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
24250 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
24251
ed8c6dec
BC
242522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24253
24254 Support for options to appear multiple times on cmdline.
24255
24256 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
24257 * grub-core/commands/extcmd.c: Support for repeatable option.
24258 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
24259 repeatable option support.
24260
24261 Refactor menuentry into a regular command.
24262
24263 * grub-core/commands/menuentry.c: New file, menuentry command
24264 implementation.
24265 * grub-core/Makefile.core.def: Rule update for normal.mod.
24266 * grub-core/normal/main.c: Moved menuentry creation to
24267 grub-core/commands/menuentry.c.
24268 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
24269 (grub_menu_execute_entry_real): Removed.
24270 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
24271 function.
24272 (grub_script_execute_menuentry): Removed.
24273 * grub-core/script/parser.y (menuentry): Removed.
24274 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
24275 * grub-core/script/yylex.l (menuentry): Removed.
24276 * include/grub/menu.h (grub_menu_init): New prototype.
24277 (grub_menu_fini): New prototype.
24278 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
24279 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
24280 (grub_script_execute_sourcecode): New prototype.
24281
dacd0cf0
BC
242822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24283
24284 "return" command for GRUB script functions.
24285
24286 * tests/grub_script_return.in: New test.
24287 * Makefile.util.def: Rules for new test.
24288
24289 * grub-core/script/execute.c (grub_script_return): New function.
24290 * grub-core/script/main.c: Register/unregister return commaond.
24291 * include/grub/script_sh.h (grub_script_return): New prototype.
24292
52e72f9d
BC
242932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24294
24295 "setparams" command to update positional parameters.
24296
24297 * tests/grub_script_setparams.in: New test.
24298 * Makefile.util.def: Rules for new test.
24299
24300 * grub-core/script/argv.c (grub_script_argv_make): New function.
24301 * grub-core/script/execute.c (replace_scope): New function.
24302 (grub_script_setparams): New function.
24303 * grub-core/script/lexer.c: Remove unused variables.
24304 * grub-core/script/main.c: Register/unregister setparams command.
24305 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
24306 (grub_script_setparams): New prototype.
24307
25b60c91
BC
243082010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24309
24310 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
24311 grub_free order.
24312
37e7bf68
BC
243132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24314
24315 Support for passing block of commands as an argument to extcmds.
24316
24317 * Makefile.util.def: Rules for new test.
24318 * tests/grub_script_blockarg.in: New test.
24319 * grub-core/tests/test_blockarg.c: New file, block argument
24320 command used in the test.
24321
24322 * include/grub/extcmd.h (grub_extcmd_context): New struct.
24323 (grub_register_extcmd_prio): New function prototype.
24324 (grub_extcmd_dispatcher): New function prototype.
24325 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
24326 type.
24327 * include/grub/script_sh.h (struct grub_script): New members
24328 `children', `next_siblings' and `refcnt' for block arguments and
24329 reference counting.
24330 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
24331 (grub_script_arg): New member `script' for block argument.
24332 (grub_script_argv): New member `script' for block argument.
24333 (grub_parser_param): New member `scripts' for block argument.
24334 (grub_script_mem_free): New extern function prototype.
24335 (grub_script_ref): New function prototype.
24336 (grub_script_unref): New function prototype.
24337
24338 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
24339 extcmd form to support block arguments.
24340 * grub-core/script/argv.c: Block arguments support.
24341 * grub-core/script/execute.c: Likewise.
24342 * grub-core/script/lexer.c: Likewise.
24343 * grub-core/script/main.c: Likewise.
24344 * grub-core/script/script.c: Likewise.
24345 * grub-core/script/parser.y: Likewise. New `block' and `block0'
24346 non-terminals.
24347
24348 * grub-core/commands/acpi.c: Update extcmd implementations with
24349 grub_extcmd_context_t.
24350 * grub-core/commands/cat.c: Likewise.
24351 * grub-core/commands/echo.c: Likewise.
24352 * grub-core/commands/extcmd.c: Likewise.
24353 * grub-core/commands/hashsum.c: Likewise.
24354 * grub-core/commands/hdparm.c: Likewise.
24355 * grub-core/commands/help.c: Likewise.
24356 * grub-core/commands/hexdump.c: Likewise.
24357 * grub-core/commands/i386/cpuid.c: Likewise.
24358 * grub-core/commands/i386/pc/drivemap.c: Likewise.
24359 * grub-core/commands/i386/pc/halt.c: Likewise.
24360 * grub-core/commands/i386/pc/sendkey.c: Likewise.
24361 * grub-core/commands/iorw.c: Likewise.
24362 * grub-core/commands/keystatus.c: Likewise.
24363 * grub-core/commands/loadenv.c: Likewise.
24364 * grub-core/commands/ls.c: Likewise.
24365 * grub-core/commands/lspci.c: Likewise.
24366 * grub-core/commands/memrw.c: Likewise.
24367 * grub-core/commands/probe.c: Likewise.
24368 * grub-core/commands/search_wrap.c: Likewise.
24369 * grub-core/commands/setpci.c: Likewise.
24370 * grub-core/commands/sleep.c: Likewise.
24371 * grub-core/disk/loopback.c: Likewise.
24372 * grub-core/hello/hello.c: Likewise.
24373 * grub-core/loader/i386/bsd.c: Likewise.
24374 * grub-core/loader/xnu.c: Likewise.
24375 * grub-core/term/gfxterm.c: Likewise.
24376 * grub-core/term/serial.c: Likewise.
24377 * grub-core/tests/lib/functional_test.c: Likewise.
24378
888d1500
BC
243792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24380
24381 Multi-line quoted strings support.
24382
24383 * grub-core/script/lexer.c (append_newline): Removed.
24384 (grub_script_lexer_yywrap): Refactored.
24385 (grub_script_lexer_init): Refactored.
24386 * grub-core/script/yylex.l (yywrap): New function.
24387 (grub_lexer_resplit): New function.
24388 (grub_lexer_unput): New function.
24389 * include/grub/script_sh.h (grub_lexer_param): New members, unput
24390 and resplit.
24391 * tests/grub_script_echo1.in: Added few more testcases.
24392
dda060dd
VS
243932010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24394
24395 * grub-core/kern/misc.c: Don't add abort alias in utils.
24396 Reported by: echoline.
24397
6556eba9
BC
243982010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
24399
24400 Add missing files into "make dist" tarball for other platforms.
24401
24402 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
24403 * conf/Makefile.common (dist_noinst_DATA): New variable.
24404 * conf/Makefile.extra-dist: Added missing make dist files.
24405 * grub-core/Makefile.core.def: Likewise.
24406
c8e7bf5f
VS
244072010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24408
24409 Compress grub_prefix.
24410
24411 * grub-core/boot/i386/pc/lnxboot.S: Use
24412 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
24413 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
24414 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
24415 GRUB_MACHINE_PREFIX_END. All users updated.
24416 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
24417 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
24418 + 0x40.
24419 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
24420 * util/grub-mkimage.c (image_target_desc): Change data_end to
24421 prefix_end. All users updated.
24422
a7c00cdb
VS
244232010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24424
24425 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
24426 value.
24427 (grub_openbsd_boot): Likewise.
24428 (grub_netbsd_boot): Likewise.
24429 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
24430 (grub_xnu_boot): Likewise.
24431
9f915872
VS
244322010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24433
24434 * configure.ac: Clean LIBS variable after tests.
24435
efa1bee7
CW
244362010-09-02 Colin Watson <cjwatson@ubuntu.com>
24437
24438 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
24439
61d720e5
VS
244402010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24441
24442 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
24443 echo if libdevmapper will be used.
24444
ef8e0ec8
IT
244452010-09-02 Ian Turner <Ian.Turner@deshaw.com>
24446
24447 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
24448 constant for the same file.
24449
03e261d8
VS
244502010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24451
24452 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
24453
c2a4eba6
CW
244542010-09-02 Colin Watson <cjwatson@ubuntu.com>
24455
24456 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
24457 grub-core/*.pp.
24458
9056cbf3
CW
244592010-09-02 Colin Watson <cjwatson@ubuntu.com>
24460
24461 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
24462 required by the boot protocol.
24463
24464 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
24465 ebp and edi members.
24466 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
24467 state.ebp and state.edi.
24468 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
24469 %ebp and %edi according to grub_relocator32_ebp and
24470 grub_relocator32_edi respectively.
24471 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
24472 and state.edi.
24473
529cc99a
VS
244742010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24475
24476 Add i386-pc-pxe image target.
24477
24478 * util/grub-mkimage.c (image_target_desc): New enum value
24479 IMAGE_I386_PC_PXE.
24480 (image_targets): New target i386-pc-pxe.
24481 (generate_image): Handle i386-pc-pxe image.
24482
9a093920
VS
244832010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24484
24485 Fix grub_pxe_scan.
24486
24487 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
24488 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
24489 All users updated.
24490 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
24491 (grub_pxe_pxenv): Correct type.
24492
f9cefc4e
CW
244932010-09-01 Colin Watson <cjwatson@ubuntu.com>
24494
24495 * NEWS: Document most of the important changes since 1.98.
24496
4066f57f
CW
244972010-09-01 Colin Watson <cjwatson@ubuntu.com>
24498
24499 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
24500 generated manual page) a little.
24501
da2891f9
CW
245022010-09-01 Colin Watson <cjwatson@ubuntu.com>
24503
24504 * docs/grub.texi: Add myself as an author.
24505
ad717fae
VS
245062010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24507
24508 * Makefile.util.def (libgrub.a): Add missing sunpc.
24509 Reported by: Seth Goldberg.
24510
eefe8abd
VS
245112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24512
24513 Interrupt wrapping and code simplifications.
24514
9494ef9a
VS
24515 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
24516 x86_noieee1275 which are functionaly equivalent in this case.
24517 (grub-install): Make source on each platform explicit. Enable on
24518 all noemu.
24519 * gentpl.py (x86_efi_pc): Removed group.
24520 (x86_noefi): Likewise.
24521 (i386_noefi): Likewise.
24522 (x86_noieee1275): Likewise.
24523 (i386_noieee1275): Likewise.
24524 (i386_noefi_noieee1275): Likewise.
24525 (i386_pc_qemu_coreboot): Likewise.
24526 (i386_coreboot_multiboot): Likewise.
24527 (i386_pc_coreboot_multiboot_qemu): Likewise.
24528 (x86_noefi_mips): Likewise.
24529 (noieee1275): Likewise.
24530 (ieee1275_mips): Likewise.
24531 (noemu_noieee1275): Likewise.
24532 (cmos): New group.
24533 (usb): Likewise.
24534 (videoinkernel): Likewise.
24535 (videomodules): Likewise.
eefe8abd 24536 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
24537 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
24538 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
24539 include/grub/loader.h, include/grub/msdos_partition.h,
24540 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
24541 include/grub/machine/console.h, include/grub/machine/vga.h,
24542 include/grub/machine/vbe.h, include/grub/machine/init.h,
24543 include/grub/machine/kernel.h, include/grub/cpu/time.h,
24544 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 24545 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
24546 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
24547 * grub-core/Makefile.core.def (kernel): Explicit the source for
24548 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
24549 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
24550 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
24551 Use videoinkernel tag.
24552 (usb): Enable on all usb.
24553 (usbserial_common): Likewise.
24554 (usbserial_pl2303): Likewise.
24555 (usbserial_ftdi): Likewise.
24556 (uhci): Enable on all x86.
24557 (ohci): Enable on all pci.
24558 (cmostest): Enable on all CMOS.
24559 (acpi): Include commands/acpi.c on all platforms.
24560 (halt): Add relevant lib/*/halt.c.
24561 (hdparm): Enable on all pci.
24562 (lspci): Likewise.
24563 (usbtest): Enable on all usb.
24564 (ata): Enable on all pci.
24565 (ata_pthru): Likewise.
24566 (usbms): Enable on all usb.
24567 (usb_keyboard): Likewise.
24568 (font): Use tag videomodules.
24569 (bufio): Likewise.
24570 (datetime): Use tag cmos. Enable on all noemu.
24571 (mmap): Use tags common and x86.
24572 (gfxterm): Use tag videomodules.
24573 (bitmap): Likewise.
24574 (bitmap_scale): Likewise.
24575 (video_fb): Likewise.
24576 (video): Likewise.
24577 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
24578 adjust padding accordingly. All users updated.
24579 (grub_ohci_transaction): Fix bad format specification.
24580 (GRUB_MOD_INIT): Add asserts for struct size.
24581 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
24582 (grub_alloc_td): Likewise.
24583 (grub_free_queue): Likewise.
24584 (grub_uhci_transfer): Likewise.
24585 (grub_uhci_transaction): Fix bad format specification.
24586 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24587 (grub_usb_bulk_readwrite): Likewise.
24588 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
24589 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
24590 Made static.
24591 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
24592 Made static.
24593 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
24594 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
24595 Transformed into C.
24596 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
24597 Moved from here ...
24598 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
24599 ... here. Transformed into C. Made static.
24600 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
24601 Moved from here ...
24602 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
24603 ... here. Transformed into C. Made static.
24604 * grub-core/kern/i386/pc/startup.S
24605 (grub_biosdisk_check_int13_extensions): Moved from here ...
24606 * grub-core/disk/i386/pc/biosdisk.c
24607 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
24608 Made static.
24609 * grub-core/kern/i386/pc/startup.S
24610 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
24611 * grub-core/disk/i386/pc/biosdisk.c
24612 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
24613 Transformed into C. Made static.
24614 * grub-core/kern/i386/pc/startup.S
24615 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
24616 * grub-core/disk/i386/pc/biosdisk.c
24617 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
24618 Transformed into C. Made static.
24619 * grub-core/kern/i386/pc/startup.S
24620 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
24621 * grub-core/disk/i386/pc/biosdisk.c
24622 (grub_biosdisk_get_diskinfo_standard): ... here.
24623 Transformed into C. Made static.
24624 * grub-core/kern/i386/pc/startup.S
24625 (grub_biosdisk_get_num_floppies): Moved from here ...
24626 * grub-core/disk/i386/pc/biosdisk.c
24627 (grub_biosdisk_get_num_floppies): ... here.
24628 Transformed into C. Made static.
24629 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
24630 New function.
24631 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
24632 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
24633 Transformed into C. Made static.
24634 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
24635 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
24636 Transformed into C. Made static.
24637 * grub-core/kern/i386/ieee1275/init.c: Removed.
24638 * grub-core/kern/i386/misc.S: Likewise.
24639 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
24640 Splitted from here ...
24641 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
24642 Transformed into C. Made static. All users updated.
24643 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
24644 Transformed into C. Made static. All users updated.
24645 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
24646 Moved from here...
24647 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
24648 Transformed into C. Made static. All users updated.
24649 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
24650 Moved from here...
24651 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
24652 Transformed into C. Made static. All users updated.
24653 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
24654 Removed (replaced by C version).
24655 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
24656 Moved from here...
24657 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
24658 Transformed into C. Made static.
24659 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
24660 Moved from here...
24661 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
24662 ... here. Transformed into C.
24663 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
24664 Moved from here...
24665 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
24666 ... here. Transformed into C.
24667 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
24668 Moved from here...
24669 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
24670 ... here. Transformed into C. Made static.
24671 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
24672 Moved from here...
24673 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
24674 ... here. Transformed into C.
21ed554b
VS
24675 * grub-core/kern/i386/pc/startup.S
24676 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
24677 * grub-core/video/i386/pc/vbe.c
24678 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
24679 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
24680 Moved from here...
24681 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
24682 ... here. Transformed into C.
24683 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
24684 Moved from here...
24685 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
24686 ... here. Transformed into C.
24687 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
24688 Moved from here...
24689 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
24690 ... here. Transformed into C.
24691 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
24692 Moved from here...
24693 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
24694 ... here. Transformed into C.
24695 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
24696 Moved from here...
24697 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
24698 ... here. Transformed into C. Made static.
24699 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
24700 Moved from here...
24701 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
24702 ... here. Transformed into C. Made static.
24703 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
24704 Moved from here...
24705 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
24706 ... here. Transformed into C. Made static.
24707 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
24708 pxe_rm_entry as third argument.
24709 (grub_bios_interrupt): New function.
24710 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
24711 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
24712 of calling grub_stop.
24713 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
24714 * grub-core/lib/efi/halt.c (grub_halt): ...here.
24715 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
24716 * grub-core/lib/emu/halt.c (grub_halt): ... here.
24717 * grub-core/lib/i386/halt.c: Moved from here ...
24718 * grub-core/lib/i386/halt.c: ... here.
24719 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
24720 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
24721 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
24722 grub_stop_floppy.
24723 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
24724 * include/grub/i386/coreboot/init.h: Removed.
24725 * include/grub/i386/multiboot/init.h: Likewise.
24726 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
24727 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
24728 * include/grub/i386/pc/int.h: New file.
24729 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
24730 (grub_pxe_scan): Removed.
24731 (grub_pxe_call): Update prototype.
24732 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
24733 prototypes.
24734 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
24735 * include/grub/i386/qemu/init.h: Removed.
24736 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
24737 noreturn.
24738 (grub_halt): Likewise.
24739 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
24740 (grub_reboot): Likewise.
24741 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
24742 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
24743 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
24744
215dd471
RM
247452010-08-30 Robert Millan <rmh@gnu.org>
24746
24747 * NEWS: Document addition of ZFS support in `grub-install' and
24748 `grub-mkconfig'.
24749
ebd65b82
BC
247502010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
24751
24752 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
24753 dprintf output.
24754
11721d19
VS
247552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24756
24757 Remove leftover embedding of font objects.
24758
24759 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24760 * util/grub-install.in (font): Removed.
24761 * util/grub-mkimage.c (generate_image): Remove font support. All users
24762 updated.
24763
37837d4e
VS
247642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24765
24766 Remove leftover embedding of font objects.
24767
24768 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24769 * util/grub-install.in (font): Removed.
24770 * util/grub-mkimage.c (generate_image): Remove font support. All users
24771 updated.
24772
b4c1aae0
VS
247732010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24774
24775 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 24776 Reported by: Ian Turner
b4c1aae0 24777
8920a08d
VS
247782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24779
24780 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
24781 timeout to avoid indefinite boot stalling.
24782
f21db033
VS
247832010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24784
24785 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
24786 (grub_env_write_color_highlight): Likewise.
24787
9a9de209
VS
247882010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24789
24790 * grub-core/normal/term.c (print_more): Return to normal and not
24791 to standard state after printing "---MORE---".
24792
3dca01d7
VS
247932010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24794
24795 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
24796 Mask out the bit 0x80 since it has other meaning that specifiing color.
24797
0b986c40
VS
247982010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24799
24800 New relocator. Allows for more kernel support and more straightforward
24801 loader writing.
24802
24803 * Makefile.am (BOOTTARGET): New variable.
24804 (QEMU32): Likewise.
24805 (linux.init.x86_64): New target.
24806 (linux.init.i386): Likewise.
24807 (multiboot.elf): Likewise.
24808 (kfreebsd.elf): Likewise.
24809 (kfreebsd.aout): Likewise.
24810 (pc-chainloader.elf): Likewise.
24811 (pc-chainloader.bin): Likewise.
24812 (ntldr.elf): Likewise.
24813 (ntldr.bin): Likewise.
24814 (multiboot2.elf): Likewise.
24815 (kfreebsd.init.x86_64): Likewise.
24816 (kfreebsd.init.i386): Likewise.
24817 (knetbsd.init.i386): Likewise.
24818 (kopenbsd.init.i386): Likewise.
24819 (knetbsd.init.x86_64): Likewise.
24820 (kopenbsd.init.x86_64): Likewise.
24821 (linux-initramfs.i386): Likewise.
24822 (linux-initramfs.x86_64): Likewise.
24823 (kfreebsd-mfsroot.i386.img): Likewise.
24824 (knetbsd.image.i386): Likewise.
24825 (kopenbsd.image.i386): Likewise.
24826 (kopenbsd.image.x86_64): Likewise.
24827 (knetbsd.miniroot-image.i386.img): Likewise.
24828 (kfreebsd-mfsroot.x86_64.img): Likewise.
24829 (knetbsd.image.x86_64): Likewise.
24830 (knetbsd.miniroot-image.x86_64.img): Likewise.
24831 (kfreebsd-mfsroot.i386.gz): Likewise.
24832 (bootcheck-kfreebsd-i386): Likewise.
24833 (kfreebsd-mfsroot.x86_64.gz): Likewise.
24834 (bootcheck-kfreebsd-x86_64): Likewise.
24835 (knetbsd.miniroot-image.i386.gz): Likewise.
24836 (bootcheck-knetbsd-i386): Likewise.
24837 (bootcheck-kopenbsd-i386): Likewise.
24838 (bootcheck-kopenbsd-x86_64): Likewise.
24839 (knetbsd.miniroot-image.x86_64.gz): Likewise.
24840 (bootcheck-knetbsd-x86_64): Likewise.
24841 (bootcheck-linux-i386): Likewise.
24842 (bootcheck-linux-x86_64): Likewise.
24843 (bootcheck-linux16-i386): Likewise.
24844 (bootcheck-linux16-x86_64): Likewise.
24845 (bootcheck-multiboot): Likewise.
24846 (bootcheck-multiboot2): Likewise.
24847 (bootcheck-kfreebsd-aout): Likewise.
24848 (bootcheck-pc-chainloader): Likewise.
24849 (bootcheck-ntldr): Likewise.
24850 (CLEANFILES): Add new targets.
24851 (BOOTCHECKS): New variable.
24852 (.PHONY): Add bootchecks.
24853 (SUCCESSFUL_BOOT_STRING): New variable.
24854 (BOOTCHECK_TIMEOUT): Likewise.
24855 (bootcheck): New target
24856 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
24857 * configure.ac: Correct efiemu excuse.
24858 * docs/grub.texi (Supported kernels): New chapter.
24859 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
24860 include/grub/mm_private.h. Simplify inclusion of
24861 include/grub/boot.h, include/grub/loader.h
24862 and include/grub/msdos_partition.h
24863 (KERNEL_HEADER_FILES) [i386_coreboot]:
24864 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
24865 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
24866 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
24867 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
24868 include/grub/machine/loader.h.
24869 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
24870 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
24871 extra_dist.
24872 (pci.mod): Enable on i386-multiboot.
24873 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
24874 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
24875 i386-qemu.
24876 (relocator.mod): Rewritten.
24877 (aout.mod): Enable on all x86.
24878 (bsd.mod): Likewise.
24879 (ntldr.mod): New module.
24880 (linux.mod): Use loader/i386/linux.c on all x86.
24881 (xnu.mod): Enable on all x86.
24882 (vga_text.mod): disable on EFI and QEMU.
24883 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
24884 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
24885 * grub-core/efiemu/loadcore.c: Likewise.
24886 * grub-core/efiemu/main.c: Likewise.
24887 (grub_efiemu_exit_boot_services): Removed.
24888 (grub_efiemu_finish_boot_services): Likewise.
24889 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
24890 function.
24891 * grub-core/efiemu/i386/nocfgtables.c: New file.
24892 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
24893 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
24894 (grub_efi_finish_boot_services): Moved from here ...
24895 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
24896 Fille finish memory map and related data.
24897 (finish_mmap_buf): New variable.
24898 (grub_efi_uintn_t finish_mmap_size): Likewise.
24899 (grub_efi_uintn_t finish_key): Likewise.
24900 (grub_efi_uintn_t finish_desc_size): Likewise.
24901 (grub_efi_uint32_t finish_desc_version): Likewise.
24902 (grub_efi_is_finished): Likewise.
24903 (grub_efi_get_memory_map): Use saved memory map if EFI is already
24904 finished.
24905 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
24906 (grub_elf64_phdr_iterate): Likewise.
24907 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
24908 (grub_os_area_size): Likewise.
24909 (grub_machine_init): Don't reserve os area.
24910 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
24911 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
24912 * grub-core/kern/i386/loader.S: Removed.
24913 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
24914 (grub_os_area_size): Likewise.
24915 (grub_machine_init): Don't reserve os area.
24916 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
24917 Don't call grub_dl_unload_all.
24918 Don't include loader.S.
24919 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
24920 Declare the memory after _end as available.
24921 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 24922 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 24923 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
24924 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
24925 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
24926 * include/grub/mm_private.h (grub_mm_header): ... here.
24927 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
24928 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
24929 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
24930 (grub_mm_region): ..here. Removed addr. Added pre_size.
24931 All users updated.
24932 * grub-core/kern/mm.c (base): Renamed to ...
24933 (grub_mm_base): ... this. Made global.
24934 (grub_real_malloc): Alloc from end of region.
24935 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
24936 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
24937 * grub-core/kern/powerpc/cache_flush.S: ... here.
24938 * grub-core/lib/efi/relocator.c: New file.
24939 * grub-core/lib/i386/relocator.c: Rewritten.
24940 * grub-core/lib/i386/relocator16.S: New file.
24941 * grub-core/lib/i386/relocator32.S: Likewise.
24942 * grub-core/lib/i386/relocator64.S: Likewise.
24943 * grub-core/lib/i386/relocator_asm.S: Rewritten.
24944 * grub-core/lib/i386/relocator_common.S: New file.
24945 * grub-core/lib/ieee1275/relocator.c: Likewise.
24946 * grub-core/lib/mips/relocator.c: Rewritten.
24947 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
24948 stylistic adjustments.
24949 * grub-core/lib/powerpc/relocator.c: New file.
24950 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
24951 * grub-core/lib/relocator.c: Rewritten.
24952 * grub-core/lib/x86_64/relocator_asm.S: New file.
24953 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
24954 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
24955 (bsd_tag): New struct.
24956 (tags): New variable.
24957 (tags_last): Likewise.
24958 (netbsd_module): New struct.
24959 (netbsd_mods): New variable.
24960 (netbsd_mods_last): Likewise.
24961 (openbsd_opts): New parameter "serial".
24962 (OPENBSD_SERIAL_ARG): New definition.
24963 (netbsd_opts): New parameter "serial".
24964 (NETBSD_SERIAL_ARG): New definition.
24965 (grub_freebsd_add_meta): Reorganised into ...
24966 (grub_bsd_add_meta): ...this. All users updated.
24967 (grub_freebsd_add_mmap): Reorganised into ...
24968 (generate_e820_mmap): ...this...
24969 (grub_bsd_add_mmap): ...and this. All users updated.
24970 (grub_freebsd_list_modules): Use tags.
24971 (grub_netbsd_add_meta_module): New function.
24972 (grub_netbsd_list_modules): Likewise.
24973 (grub_freebsd_boot): Use relocator and finish EFI.
24974 (grub_openbsd_boot): Likewise.
24975 (grub_netbsd_setup_video): New function.
24976 (grub_netbsd_add_modules): Likewise.
24977 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
24978 and finish EFI.
24979 (grub_bsd_unload): Unload tags.
24980 (grub_bsd_load_aout): Use relocator.
24981 (grub_bsd_elf32_size_hook): New function.
24982 (grub_bsd_elf32_hook): Use relocator.
24983 (grub_bsd_elf64_size_hook): New function.
24984 (grub_bsd_elf64_hook): Use relocator.
24985 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
24986 (grub_bsd_load): Zero-out openbsd_ramdisk.
24987 (grub_bsd_load): Use relocator.
24988 (grub_cmd_openbsd): Support serial.
24989 (grub_cmd_netbsd): Support modules.
24990 (grub_cmd_freebsd_module): Use relocator.
24991 (grub_netbsd_module_load): New function.
24992 (grub_cmd_netbsd_module): Likewise.
24993 (grub_cmd_openbsd_ramdisk): Likewise.
24994 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
24995 kopenbsd_ramdisk.
24996 (GRUB_MOD_FINI): Unregister new commands.
24997 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
24998 (grub_freebsd_load_elfmodule_obj): Use relocator.
24999 (grub_freebsd_load_elfmodule): Likewise.
25000 (grub_freebsd_load_elf_meta): Likewise.
25001 (grub_netbsd_load_elf_meta): New function.
25002 (grub_openbsd_find_ramdisk): Likewise.
25003 * grub-core/loader/i386/bsd_helper.S: Removed.
25004 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
25005 * grub-core/loader/i386/bsd_trampoline.S: Removed.
25006 * grub-core/loader/i386/efi/linux.c: Likewise.
25007 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
25008 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
25009 (DEFAULT_VIDEO_MODE): Likewise.
25010 (real_mode_target): New variable.
25011 (prot_mode_target): Likewise.
25012 (initrd_mem_target): Likewise.
25013 (relocator): Likewise.
25014 (efi_mmap_buf): Likewise.
25015 (efi_mmap_size): Likewise.
25016 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
25017 (free_pages): Use relocator.
25018 (allocate_pages): Account for efi_mmap and use relocator. Return error.
25019 (grub_linux_setup_video): Return error.
25020 (grub_linux_trampoline_start): Removed.
25021 (grub_linux_trampoline_end): Likewise.
25022 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
25023 andd video parameters depending on firmware.
25024 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
25025 [GRUB_MACHINE_EFI]: Pass EFI parameters.
25026 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
25027 (grub_cmd_initrd): Use relocator.
25028 * grub-core/loader/i386/linux_trampoline.S: Removed.
25029 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
25030 (elf_sec_entsize): Likewise.
25031 (elf_sec_shstrndx): Likewise.
25032 (elf_sections): Likewise.
25033 (grub_multiboot_load): Use relocator.
25034 (grub_multiboot_get_mbi_size): Account for sections.
25035 (grub_multiboot_make_mbi): Use relocator and support sections.
25036 (grub_multiboot_add_elfsyms): New function.
25037 (grub_multiboot_free_mbi): Free sections.
25038 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
25039 (grub_linux_real_target): Likewise.
25040 (grub_linux_real_chunk): Likewise.
25041 (grub_linux16_prot_size): Likewise.
25042 (grub_linux16_boot): Use relocator.
25043 (grub_linux_unload): Unload relocator.
25044 (grub_cmd_linux): Use relocator.
25045 (grub_cmd_initrd): Likewise.
25046 * grub-core/loader/i386/pc/ntldr.c: New file.
25047 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
25048 Don't try to guess CPU frequency.
25049 (grub_xnu_set_video): Stretch bitmap.
25050 (grub_xnu_boot): Use relocator.
25051 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
25052 (grub_linux_unload): Free relocator.
25053 (grub_linux_load32): Use relocator.
25054 (grub_linux_load64): Likewise.
25055 (grub_cmd_initrd): Likewise.
25056 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
25057 (grub_multiboot_unload): Unload relocator.
25058 (grub_cmd_multiboot): Use relocator.
25059 (grub_cmd_module): Likewise.
25060 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
25061 Use relocator and support sections.
25062 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
25063 (elf_sec_entsize): Likewise.
25064 (elf_sec_shstrndx): Likewise.
25065 (elf_sections): Likewise.
25066 (grub_multiboot_load): Use relocator.
25067 (grub_multiboot_get_mbi_size): Account for sections.
25068 (grub_multiboot_make_mbi): Use relocator and support sections.
25069 (grub_multiboot_add_elfsyms): New function.
25070 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
25071 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
25072 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
25073 Prototype changed. All users updated.
25074 (grub_xnu_align_heap): Simplified.
25075 (grub_xnu_writetree_toheap): Likewise.
25076 (grub_xnu_unload): Unload relocator.
25077 (grub_cmd_xnu_kernel): Use relocator.
25078 (grub_cmd_xnu_kernel64): Likewise.
25079 (grub_xnu_register_memory): Simplified.
25080 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
25081 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
25082 EFI is finished.
25083 (grub_console_checkkey): Likewise.
25084 (grub_console_getkey): Likewise.
25085 (grub_console_getwh): Likewise.
25086 (grub_console_getxy): Likewise.
25087 (grub_console_gotoxy): Likewise.
25088 (grub_console_cls): Likewise.
25089 (grub_console_setcolorstate): Likewise.
25090 (grub_console_setcursor): Likewise.
25091 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
25092 * grub-core/tests/boot/kbsd.init-i386.S: New file.
25093 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
25094 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
25095 * grub-core/tests/boot/kernel-8086.S: Likewise.
25096 * grub-core/tests/boot/kernel-i386.S: Likewise.
25097 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
25098 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
25099 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
25100 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
25101 * grub-core/tests/boot/knetbsd.cfg: Likewise.
25102 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
25103 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
25104 * grub-core/tests/boot/linux.cfg: Likewise.
25105 * grub-core/tests/boot/linux.init-i386.S: Likewise.
25106 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
25107 * grub-core/tests/boot/linux16.cfg: Likewise.
25108 * grub-core/tests/boot/multiboot.cfg: Likewise.
25109 * grub-core/tests/boot/multiboot2.cfg: Likewise.
25110 * grub-core/tests/boot/ntldr.cfg: Likewise.
25111 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
25112 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
25113 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
25114 New definition.
25115 * include/grub/dl.h (grub_dl_unload_all): Removed.
25116 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
25117 (grub_efi_finish_boot_services): Change prototype.
25118 (grub_efi_is_finished): New variable.
25119 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
25120 Changed prototype.
25121 (grub_efiemu_finish_boot_services): Removed.
25122 (grub_machine_efiemu_init_tables): New prototype.
25123 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
25124 (grub_elf64_phdr_iterate): Likewise.
25125 * include/grub/i386/bsd.h: Include relocator.h.
25126 (freebsd_tag_header): New struct.
25127 (grub_openbsd_bios_mmap): Removed.
25128 (grub_unix_real_boot): Removed.
25129 (grub_freebsd_load_elfmodule32): Changed prototype.
25130 (grub_freebsd_load_elfmodule_obj64): Likewise.
25131 (grub_freebsd_load_elf_meta32): Likewise.
25132 (grub_freebsd_load_elf_meta64): Likewise.
25133 (grub_freebsd_add_meta): Removed.
25134 (grub_netbsd_load_elf_meta32): New prototype.
25135 (grub_netbsd_load_elf_meta64): Likewise.
25136 (grub_bsd_add_meta): Likewise.
25137 (grub_openbsd_ramdisk_descriptor): New struct.
25138 (grub_openbsd_find_ramdisk32): New prototype.
25139 (grub_openbsd_find_ramdisk64): Likewise.
25140 * include/grub/i386/coreboot/loader.h: Removed.
25141 * include/grub/i386/efi/loader.h: Likewise.
25142 * include/grub/i386/ieee1275/loader.h: Likewise.
25143 * include/grub/i386/linux.h (linux_kernel_header): Change void *
25144 to grub_uint32_t.
25145 * include/grub/i386/loader.h: Removed.
25146 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
25147 value.
25148 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
25149 (grub_phys_addr_t): New type.
25150 (grub_vtop): New inline function.
25151 (grub_map_memory): Likewise.
25152 (grub_unmap_memory): Likewise.
25153 * include/grub/i386/multiboot/loader.h: Removed.
25154 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
25155 (NETBSD_BTINFO_CONSOLE): New definition.
25156 (NETBSD_BTINFO_SYMTAB): Likewise.
25157 (NETBSD_BTINFO_MODULES): Likewise.
25158 (NETBSD_BTINFO_FRAMEBUF): Likewise.
25159 (grub_netbsd_bootinfo): New struct.
25160 (grub_netbsd_btinfo_common): Use explicit bitsize.
25161 (grub_netbsd_btinfo_mmap_entry): Removed.
25162 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
25163 (grub_netbsd_btinfo_bootdisk): New struct.
25164 (grub_netbsd_btinfo_symtab): Likewise.
25165 (grub_netbsd_btinfo_serial): Likewise.
25166 (grub_netbsd_btinfo_modules): Likewise.
25167 (grub_netbsd_btinfo_framebuf): Likewise.
25168 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
25169 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
25170 Likewise.
25171 (grub_openbsd_bootargs): Use explicit bitsize.
25172 (grub_openbsd_bootarg_console): New struct.
25173 (GRUB_OPENBSD_COM_MAJOR): New definition.
25174 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
25175 * include/grub/i386/pc/efiemu.h: Removed.
25176 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
25177 * include/grub/i386/qemu/loader.h: Removed.
25178 * include/grub/i386/relocator.h: Rewritten.
25179 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
25180 * include/grub/mips/memory.h: New file.
25181 * include/grub/mips/multiboot.h: Rewritten.
25182 * include/grub/mips/relocator.h: Rewritten.
25183 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
25184 (grub_vtop): New function.
25185 (grub_map_memory): Likewise.
25186 (grub_unmap_memory): Likewise.
25187 * include/grub/misc.h (ALIGN_DOWN): New definition.
25188 * include/grub/mm.h (grub_mm_check_real): New proto.
25189 (GRUB_MM_CHECK): New definition.
25190 * include/grub/mm_private.h: New file.
25191 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
25192 (grub_multiboot_get_mbi_size): Removed.
25193 (grub_multiboot_make_mbi): Change prottype.
25194 (grub_multiboot_set_accepts_video): New proto.
25195 (grub_multiboot_add_elfsyms): Likewise.
25196 (grub_multiboot_payload_eip): New variable.
25197 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
25198 New prototype.
25199 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
25200 New definition.
25201 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
25202 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
25203 * include/grub/powerpc/ieee1275/loader.h: Removed.
25204 * include/grub/powerpc/memory.h: New file.
25205 * include/grub/powerpc/relocator.h: Likewise.
25206 * include/grub/relocator.h: Likewise.
25207 * include/grub/relocator_private.h: Likewise.
25208 * include/grub/sparc64/ieee1275/loader.h: Removed.
25209 * include/grub/x86_64/memory.h: New file.
25210 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
25211 (grub_xnu_heap_malloc): Likewise.
25212 (grub_xnu_heap_real_start): Removed.
25213 (grub_xnu_heap_start): Likewise.
25214 (grub_xnu_relocator): New variable.
25215 (grub_xnu_heap_target_start): Likewise.
25216 * tests/util/grub-shell.in: Support non-pc.
25217 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 25218
5303b85d
VS
252192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25220
25221 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
25222 on malloc error.
25223 (grub_bidi_logical_to_visual): Check that malloc succeded.
25224 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
25225 puts.
25226 (grub_xputs_normal): Likewise.
25227
d768d159
VS
252282010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25229
25230 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
25231 extra_dist.
25232
252332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25234
25235 * grub-core/efiemu/runtime/efiemu.sh: Removed.
25236
5bf84df4
VS
252372010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25238
25239 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
25240
3626810e
VS
252412010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25242
25243 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
25244 dprintf.
25245
a7363f53
BC
252462010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
25247
25248 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
25249
902f75f6
VS
252502010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25251
25252 * grub-core/normal/term.c (print_more): Fix a memory leak.
25253 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
25254 (grub_xputs_normal): Likewise.
25255
3c707967
VS
252562010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25257
25258 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
25259 the begining of the string
25260
2053cc07
VS
252612010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25262
25263 * grub-core/script/script.c (grub_script_parse): Free parsed on
25264 failure.
25265
46422ebf
VS
252662010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25267
25268 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
25269 on failure.
25270
9e0fa3f6
VS
252712010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25272
25273 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
25274 return.
25275
3393cf16
VS
252762010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25277
25278 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
25279 (scroll_up): Fix a memory leak.
25280
b17540cb
VS
252812010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25282
25283 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
25284 errors.
25285
67140446
VS
252862010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
25287
25288 Handle USB pendrives exposed as floppies.
25289
25290 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
25291 floppy.
25292 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25293 Check for partitions on all devices.
25294
e35e46fc
VS
252952010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25296
25297 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
25298 (readkey): Likewise.
25299
d24c6190
BC
253002010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
25301
25302 Multiple variable names support to "export" command.
25303
25304 * normal/context.c (grub_cmd_export): "export" command supports
25305 multiple variable names.
25306
04ddcc6a
ST
253072010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
25308
25309 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
25310 --target=drive output to Mach device name.
25311
0c8b61d8
BC
253122010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25313
25314 New Automake based build system for GRUB.
25315
25316 * ABOUT-NLS: New file.
25317 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
25318 in Makefile.util.def file.
25319 * Makefile.util.def: New file. Autogen build definitions file for
25320 GRUB host utils.
25321 * conf/Makefile.common: New file. Common variables for GRUB host
25322 utils and target modules.
25323 * conf/Makefile.extra-dist: New file. Extra files for make dist.
25324 * docs/Makefile.am: New file. Automake file for docs.
25325 * gentpl.py: New file. Python script to generate Autogen
25326 template.
25327 * grub-core/Makefile.am: New file. GRUB target modules' rules
25328 that doesn't fit in Makefile.core.def file.
25329 * grub-core/Makefile.core.def: New file. Autogen build
25330 definitions file for GRUB target modules.
25331 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
25332 specific setjmp.S file.
25333 * po/Makefile.am: New file.
25334
25335 * .bzrignore: New ignores.
25336 * INSTALL: New requirements, without Ruby.
25337 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
25338 * autogen.sh: Updated to invoke autogen as necessary.
25339 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
25340 and defines for Automake conditionals.
25341 * geninit.sh: Refactoring.
25342
25343 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
25344 necessary.
25345 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
25346 New prototype.
25347
25348 * include/grub/test.h: Fix functional test modules' naming.
25349 * grub-core/tests/example_functional_test.c: Fix test module name.
25350
25351 * util/misc.c: Hosted versions' of grub functions for libgrub.a
25352 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
25353 * util/grub-editenv.c: Likewise.
25354 * util/grub-fstest.c: Likewise.
25355 * util/grub-mkdevicemap.c: Likewise.
25356 * util/grub-mkfont.c: Likewise.
25357 * util/grub-mkimage.c: Likewise.
25358 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25359 * util/grub-probe.c: Likewise.
25360 * util/grub-script-check.c: Likewise.
25361 * util/i386/pc/grub-setup.c: Likewise.
25362 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25363
25364 * tests/util/grub-shell.in: Fix override directory path.
25365 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
25366 * util/import_gcry.py: Create Makefile.gcry.def file instead.
25367
25368 * util/lvm.c: Update #includes.
25369 * util/raid.c: Likewise.
25370 * util/resolve.c: Likewise.
25371 * grub-core/bus/emu/pci.c: Likewise.
25372 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
25373 * grub-core/lib/posix_wrap/string.h: Likewise.
25374 * grub-core/kern/emu/main.c: Likewise.
25375
25376 * grub-core/gensymlist.sh: New file. Script for generating kernel
25377 symbols file.
25378 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
25379
25380 * grub-core/gentrigtables.c: Fix unused variable warnings.
25381
25382 * Makefile.in: Removed.
25383 * conf/any-emu.rmk: Removed.
25384 * conf/common.rmk: Removed.
25385 * conf/i386-coreboot.rmk: Removed.
25386 * conf/i386-efi.rmk: Removed.
25387 * conf/i386-ieee1275.rmk: Removed.
25388 * conf/i386-multiboot.rmk: Removed.
25389 * conf/i386-pc.rmk: Removed.
25390 * conf/i386-qemu.rmk: Removed.
25391 * conf/i386.rmk: Removed.
25392 * conf/mips-yeeloong.rmk: Removed.
25393 * conf/mips.rmk: Removed.
25394 * conf/powerpc-ieee1275.rmk: Removed.
25395 * conf/sparc64-ieee1275.rmk: Removed.
25396 * conf/tests.rmk: Removed.
25397 * conf/x86-efi.rmk: Removed.
25398 * conf/x86_64-efi.rmk: Removed.
25399 * gendistlist.sh: Removed.
25400 * geninitheader.sh: Removed.
25401 * genkernsyms.sh.in: Removed.
25402 * genmk.rb: Removed.
25403 * gensymlist.sh.in: Removed.
25404 * mkinstalldirs: Removed.
25405 * boot: Moved ...
25406 * grub-core/boot: ... to here.
25407 * bus: Moved ...
25408 * grub-core/bus: ... to here.
25409 * commands: Moved ...
25410 * grub-core/commands: ... to here.
25411 * disk: Moved ...
25412 * grub-core/disk: ... to here.
25413 * efiemu: Moved ...
25414 * grub-core/efiemu: ... to here.
25415 * font: Moved ...
25416 * grub-core/font: ... to here.
25417 * fs: Moved ...
25418 * grub-core/fs: ... to here.
25419 * gencmdlist.sh: Moved ...
25420 * grub-core/gencmdlist.sh: ... to here.
25421 * genemuinit.sh: Moved ...
25422 * grub-core/genemuinit.sh: ... to here.
25423 * genemuinitheader.sh: Moved ...
25424 * grub-core/genemuinitheader.sh: ... to here.
25425 * genfslist.sh: Moved ...
25426 * grub-core/genfslist.sh: ... to here.
25427 * genhandlerlist.sh: Moved ...
25428 * grub-core/genhandlerlist.sh: ... to here.
25429 * genmoddep.awk: Moved ...
25430 * grub-core/genmoddep.awk: ... to here.
25431 * genmodsrc.sh: Moved ...
25432 * grub-core/genmodsrc.sh: ... to here.
25433 * genpartmaplist.sh: Moved ...
25434 * grub-core/genpartmaplist.sh: ... to here.
25435 * genparttoollist.sh: Moved ...
25436 * grub-core/genparttoollist.sh: ... to here.
25437 * genterminallist.sh: Moved ...
25438 * grub-core/genterminallist.sh: ... to here.
25439 * gentrigtables.c: Moved ...
25440 * grub-core/gentrigtables.c: ... to here.
25441 * genvideolist.sh: Moved ...
25442 * grub-core/genvideolist.sh: ... to here.
25443 * gettext: Moved ...
25444 * grub-core/gettext: ... to here.
25445 * gfxmenu: Moved ...
25446 * grub-core/gfxmenu: ... to here.
25447 * gnulib: Moved ...
25448 * grub-core/gnulib: ... to here.
25449 * hello: Moved ...
25450 * grub-core/hello: ... to here.
25451 * hook: Moved ...
25452 * grub-core/hook: ... to here.
25453 * io: Moved ...
25454 * grub-core/io: ... to here.
25455 * kern: Moved ...
25456 * grub-core/kern: ... to here.
25457 * lib: Moved ...
25458 * grub-core/lib: ... to here.
25459 * loader: Moved ...
25460 * grub-core/loader: ... to here.
25461 * mmap: Moved ...
25462 * grub-core/mmap: ... to here.
25463 * normal: Moved ...
25464 * grub-core/normal: ... to here.
25465 * partmap: Moved ...
25466 * grub-core/partmap: ... to here.
25467 * parttool: Moved ...
25468 * grub-core/parttool: ... to here.
25469 * script: Moved ...
25470 * grub-core/script: ... to here.
25471 * term: Moved ...
25472 * grub-core/term: ... to here
25473 * tests/example_functional_test.c: Moved ...
25474 * grub-core/tests/example_functional_test.c: ... to here.
25475 * tests/lib/functional_test.c: Moved ...
25476 * grub-core/tests/lib/functional_test.c: ... to here.
25477 * tests/lib/test.c: Moved ...
25478 * grub-core/tests/lib/test.c: ... to here.
25479 * video: Moved ...
25480 * grub-core/video: ... to here.
25481
645586e6
BC
254822010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25483
25484 Replace --enable-grub-emu-modules with grub-emu-lite.
25485
25486 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
25487 cache.S.
25488
25489 * include/grub/emu/misc.h (grub_emu_init): New prototype.
25490 * kern/emu/full.c: New file. For grub-emu specific initialization.
25491 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
25492 * kern/emu/main.c: Call initialization function grub_emu_init.
25493
25494 * Makefile.in: Include grub-emu-lite in install.
25495 * commands/parttool.c: Use grub_no_autoload to differentiate
25496 between grub-emu and grub-emu-lite.
25497 * include/grub/misc.h: New variable grub_no_autoload.
25498
25499 * conf/any-emu.rmk: New rules for grub-emu-lite.
25500 * configure.ac: Remove --enable-grub-emu-modules.
25501 * genmk.rb: Cleanup unnecessary rules.
25502 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
25503
25504 * normal/main.c: Don't load list files on grub-emu-lite.
25505 * util/misc.c (grub_arch_sync_caches): Removed.
25506
f86a4030
CW
255072010-08-23 Colin Watson <cjwatson@ubuntu.com>
25508
25509 * kern/mips/startup.S (grub_prefix): Update comment to refer to
25510 grub-mkimage rather than grub-mkelfimage.
25511 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
25512
06776944
VS
255132010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25514
25515 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
25516 a key after CapsLock or NumLock. It's just a qemu bug.
25517
df262419
VS
255182010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25519
25520 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
25521 needed by libusb wrapper.
25522
b40ea81b
ST
255232010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25524
25525 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
25526
dee50575
VS
255272010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25528
25529 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
25530 --nounzip is passed.
25531
fb1d7b79
VS
255322010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
25533
25534 USB hotunplugging and USB serial support.
25535
25536 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
25537 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
25538 (grub_uhci_transfer): Respect timeout and set *actual.
25539 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
25540 non-standard length.
25541 (grub_usb_device_attach): Autoload modules.
25542 (GRUB_MOD_INIT): Set grub_term_poll_usb.
25543 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
25544 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
25545 users updated.
25546 (grub_usb_add_hub): Fill nports and children.
25547 (attach_root_port): Receive hub instead of controller.
25548 All users updated. Fill hub->devices.
25549 (grub_usb_root_hub): Allocate hub->devices.
25550 (detach_device): New function.
25551 (poll_nonroot_hub): Fill children and detach devices.
25552 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
25553 actual arguments. All users updated.
25554 (grub_usb_bulk_read_extended): New function.
25555 * bus/usb/serial/common.c: New file.
25556 * bus/usb/serial/ftdi.c: Likewise.
25557 * bus/usb/serial/pl2303.c: Likewise.
25558 * commands/terminal.c (handle_command): Support wildcard.
25559 * commands/usbtest.c: Output "Unknown" instead of empty string.
25560 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
25561 (usbserial_common_mod_SOURCES): New variable.
25562 (usbserial_common_mod_CFLAGS): Likewise.
25563 (usbserial_common_mod_LDFLAGS): Likewise.
25564 (pkglib_MODULES): Add usbserial_pl2303.mod.
25565 (usbserial_pl2303_mod_SOURCES): New variable.
25566 (usbserial_pl2303_mod_CFLAGS): Likewise.
25567 (usbserial_pl2303_mod_LDFLAGS): Likewise.
25568 (pkglib_MODULES): Add usbserial_ftdi.mod.
25569 (usbserial_ftdi_mod_SOURCES): New variable.
25570 (usbserial_ftdi_mod_CFLAGS): Likewise.
25571 (usbserial_ftdi_mod_LDFLAGS): Likewise.
25572 (pkglib_MODULES): Add serial.mod.
25573 (serial_mod_SOURCES): New variable.
25574 (serial_mod_CFLAGS): Likewise.
25575 (serial_mod_LDFLAGS): Likewise.
25576 * conf/i386-pc.rmk: Likewise.
25577 * conf/mips-yeeloong.rmk: Likewise.
25578 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
25579 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25580 * disk/usbms.c (first_available_slot): New variable.
25581 (grub_usbms_attach): Don't reuse free slots due to potential cache
25582 problems.
25583 * include/grub/serial.h: Moved to ..
25584 * include/grub/ns8250.h: ...this.
25585 * include/grub/serial.h: New file.
25586 * include/grub/term.h (grub_term_poll_usb): New variable.
25587 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
25588 readkey. All users updated.
25589 (grub_terminfo_output_state): Pass term to put.
25590 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
25591 (grub_usb_controller_dev): Add timeout and actual arguments to
25592 transfer. All users updated.
25593 (grub_usb_interface): New field detach_data.
25594 (grub_usb_device): New fields children and nports.
25595 (grub_usb_ep_type_t): New type.
25596 (grub_usb_get_ep_type): New function.
25597 (grub_usb_bulk_read_extended): Likewise.
25598 * include/grub/usbdesc.h (grub_usb_desc): New type.
25599 * include/grub/usbserial.h: New file.
25600 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
25601 * kern/term.c (grub_term_poll_usb): New variable.
25602 (grub_getkey): Call grub_term_poll_usb if set.
25603 (grub_checkkey): Likewise.
25604 (grub_getkeystatus): Likewise.
25605 * term/serial.c: Moved controller-specific parts to ...
25606 * term/ns8250.c: ... here.
25607 * term/serial.c: Mostly rewritten.
25608 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
25609 according to spec.
25610
21a313de
RM
256112010-08-20 Robert Millan <rmh@gnu.org>
25612
25613 Make kFreeBSD code more generic to support ext2fs as root, ufs as
25614 a separate module and maybe other interesting combinations.
25615
25616 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
25617 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
25618 (kfreebsd_entry): Add generic filesystem module load routine.
25619 Map GRUB `ext2' to kFreeBSD `ext2fs'.
25620
63c734a6
CW
256212010-08-20 Colin Watson <cjwatson@ubuntu.com>
25622
25623 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
25624 "numcenter" (I misunderstood the purpose of this entry).
25625 * docs/grub.texi (sendkey): Likewise.
25626
c4d16542
CW
256272010-08-20 Colin Watson <cjwatson@ubuntu.com>
25628
25629 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
25630 status flag options; simply omitting the option is equivalent and
25631 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
25632 (keysym_table): Rename "num5numlock" to "numlock".
25633 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
25634 can uniformly say that only the last of multiple `sendkey'
25635 invocations has any effect.
25636 * docs/grub.texi (sendkey): New section.
25637
93541d66
CW
256382010-08-19 Colin Watson <cjwatson@ubuntu.com>
25639
25640 * commands/i386/pc/sendkey.c (options): Fix three typos.
25641
b4ece5e1
VS
256422010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
25643
25644 Implement sendkey support.
25645
25646 * commands/i386/pc/sendkey.c: New file.
25647 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
25648 (sendkey_mod_SOURCES): New variable.
25649 (sendkey_mod_CFLAGS): Likewise.
25650 (sendkey_mod_LDFLAGS): Likewise.
25651
51f1f5af
CW
256522010-08-18 Colin Watson <cjwatson@ubuntu.com>
25653
25654 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
25655 fix warnings from Autoconf.
25656
9da94e05
CW
256572010-08-18 Colin Watson <cjwatson@ubuntu.com>
25658
25659 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
25660 to avoid false positives with some assemblers that output things
25661 like "someprefix_func" as part of their output.
25662
729a0f2e
RM
256632010-08-15 Robert Millan <rmh@gnu.org>
25664
25665 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
25666 errors.
25667 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
25668 grub_get_libzfs_handle() errors.
25669
f3710e08
RM
256702010-08-14 Robert Millan <rmh@gnu.org>
25671
25672 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
25673 filesystem is not ZFS.
25674
7a3c13de
BC
256752010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25676
25677 Fix for misspelled color names defaulting to black/black (bug
25678 reported by Doug Nazar)
25679
25680 * include/grub/normal.h (grub_parse_color_name_pair): Add return
25681 status to prototype.
25682 * normal/color.c (grub_parse_color_name_pair): Return failure
25683 status.
25684 (grub_env_write_color_normal): Ignore bad color names.
25685 (grub_env_write_color_highlight): Likewise.
25686 * normal/main.c (GRUB_MOD_INIT): Set default color names.
25687
ab8ba50d
BC
256882010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25689
25690 "shift" command support to GRUB script.
25691
25692 * include/grub/script_sh.h (grub_script_shift): New prototype.
25693 * script/execute.c (grub_script_shift): New function.
25694 * script/main.c (grub_script_init): Register shift command.
25695 (grub_script_fini): Unregister shift command.
25696 * util/grub-script-check.c (grub_script_cmd_shift): New function.
25697
25698 * tests/grub_script_shift.in: New testcase.
25699 * conf/tests.rmk: Rules for new testcase.
25700
4d61999e
BC
257012010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25702
25703 "continue" command support to GRUB script.
25704
25705 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
25706 (grub_script_break): Continue support.
25707 * script/main.c (grub_script_init): Register continue command.
25708 (grub_script_fini): Unregister continue command.
25709
25710 * tests/grub_script_continue.in: New testcase.
25711 * conf/tests.rmk: Rules for new testcase.
25712
4df51e00
BC
257132010-08-12 BVK Chaitanya <bvk@dbook>
25714
25715 "break" command support to GRUB script.
25716
25717 * conf/common.rmk: Rule updates to grub-script-check.
25718 * include/grub/misc.h (grub_min): New function.
25719 * include/grub/script_sh.h (grub_script_init): New prototype.
25720 (grub_script_fini): New prototype.
25721 (grub_script_break): New prototype.
25722 * script/main.c (grub_script_init): New function.
25723 (grub_script_fini): New function.
25724 * script/execute.c (grub_script_break): New function.
25725 * normal/main.c: Calls to grub_script_{init,fini}.
25726 * util/grub-script-check.c (grub_script_break): New function.
25727
25728 * tests/grub_script_break.in: New testcase.
25729 * conf/tests.rmk: Rules for new test case.
25730
f12c8420
BC
257312010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25732
25733 Function parameters support to GRUB script.
25734
25735 * script/yylex.l (VARIABLE): Regular expression update.
25736 * script/function.c (grub_script_function_call): Moved ...
25737 * script/execute.c (grub_script_function_call): ... to here.
25738 (grub_script_execute_arglist_to_argv): Removed.
25739 (grub_script_arglist_to_argv): New function.
25740 * script/argv.c: New file.
25741 (grub_script_argv_free): New function.
25742 (grub_script_argv_next): Likewise.
25743 (grub_script_argv_append): Likewise.
25744 (grub_script_argv_split_append): Likewise.
25745 * include/grub/script_sh.h (grub_script_argv): New struct.
25746 (grub_script_argv_free): New function.
25747 (grub_script_argv_next): Likewise.
25748 (grub_script_argv_append): Likewise.
25749 (grub_script_argv_split_append): Likewise.
25750
25751 * conf/common.rmk (normal.mod): New source script/argv.c.
25752
25753 * tests/grub_script_echo1.in: More tests.
25754 * tests/grub_script_vars1.in: Likewise.
25755 * tests/grub_script_functions.in: New test case.
25756 * conf/tests.rmk: Rules for new testcase.
25757
8022b748
BC
257582010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25759
25760 Remove grub_script_cmdblock struct.
25761
25762 * include/grub/script_sh.h: Remove grub_script_cmdblock.
25763 * script/parser.y: Likewise.
25764 * script/execute.c: Rename cmdblock suffix to cmdlist.
25765 * script/script.c: Likewise.
25766 * util/grub-script-check.c: Likewise.
25767
79a6ba61
YB
257682010-08-11 Yves Blusseau <blusseau@zetam.org>
25769
25770 * .bzrignore: add grub-macho2img
25771
d04b9414
VS
257722010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25773
25774 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
25775
f947ab49
VS
257762010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25777
25778 Remove the dump of sm712 initialisation sequence.
25779
25780 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
25781 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
25782 (GRUB_VGA_IO_MISC_WRITE): Likewise.
25783 (GRUB_VGA_CR_*): Added many registers.
25784 (GRUB_VGA_SR_*): Likewise.
25785 (GRUB_VGA_GR_*): Likewise.
25786 (grub_vga_write_arx): New function.
25787 (grub_video_hw_config): New struct.
25788 (grub_vga_set_geometry): New function.
25789 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
25790 GRUB_PCI_CLASS_SUBCLASS_VGA.
25791 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
25792 * video/sm712.c (grub_sm712_write_reg): New function
25793 (grub_sm712_read_reg): Likewise.
25794 (grub_sm712_sr_write): Likewise.
25795 (grub_sm712_gr_write): Likewise.
25796 (grub_sm712_cr_write): Likewise.
25797 (grub_sm712_write_arx): Likewise.
25798 (grub_sm712_cr_shadow_write): Likewise.
25799 (grub_sm712_write_dda_lookup): Likewise.
25800 (grub_video_sm712_setup): Initialise the video rather then
25801 blindly replay the dump.
25802 (main) [TEST]: Add a routine to be able to compile as standalone for
25803 tests.
25804 * video/sm712_init.c (sm712_init): Removed.
25805 (sm712_sr_seq1): New array.
25806 (sm712_sr_seq2): Likewise.
25807
f0206638
VS
258082010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25809
25810 * include/grub/vga.h: Add missing grub/pci.h include.
25811
2764da3b
YB
258122010-08-10 Yves Blusseau <blusseau@zetam.org>
25813
25814 * util/grub-macho2img.c (main): fix typo
25815
cf0c775e
VS
258162010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25817
25818 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
25819 (grub_vga_gr_read): Likewise.
25820 (grub_vga_cr_write): Likewise.
25821 (grub_vga_cr_read): Likewise.
25822 (grub_vga_sr_write): Likewise.
25823 (grub_vga_sr_read): Likewise.
25824 (grub_vga_palette_read): Likewise.
25825 (grub_vga_palette_write): Likewise.
25826 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
25827 (grub_sm712_sr_read): New function.
25828 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
25829 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
25830
07f360e9
RM
258312010-08-09 Robert Millan <rmh@gnu.org>
25832
25833 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
25834 out unused variables on non-ZFS build.
25835
346c2072
RM
258362010-08-08 Robert Millan <rmh@gnu.org>
25837
25838 Fix path generation for sub-filesystems in ZFS.
25839
25840 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
25841 missing slash.
25842
71175420
RM
258432010-08-08 Robert Millan <rmh@gnu.org>
25844
25845 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
25846
0d8286f3
RM
258472010-08-08 Robert Millan <rmh@gnu.org>
25848
25849 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
25850 exist, issue a proper error message (rely on `ls' for translated
25851 strings).
25852
55dd2924
RM
258532010-08-08 Robert Millan <rmh@gnu.org>
25854
25855 Fix grub-probe invocation.
25856
25857 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
25858
d3dd9e80
RM
258592010-08-04 Robert Millan <rmh@gnu.org>
25860
25861 * configure.ac: Remove checks for getfsstat() and getmntany().
25862 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
25863 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
25864 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
25865 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
25866 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
25867 function.
25868 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
25869 via find_mount_point_from_dir() and getfsstat() / getmntany().
25870
0de22aa9
RM
258712010-08-04 Robert Millan <rmh@gnu.org>
25872
25873 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25874 (grub_find_zpool_from_mount_point): Merge into ...
25875 (grub_find_zpool_from_dir): ... this.
25876 * kern/emu/misc.c: Likewise.
25877
25878 * kern/emu/misc.c
25879 (grub_make_system_path_relative_to_its_root): Replace
25880 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
25881 with grub_find_zpool_from_dir().
25882 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
25883
62858144
RM
258842010-08-04 Robert Millan <rmh@gnu.org>
25885
25886 Support OpenSolaris in ZFS device resolution.
25887
25888 * configure.ac: Check for getmntany().
25889 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
25890 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
25891 support.
25892
9dd6fd50
RM
258932010-08-03 Robert Millan <rmh@gnu.org>
25894
25895 Fix grub-emu build.
25896
25897 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
25898 * include/grub/emu/misc.h: ... here.
25899
25900 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
25901 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
25902
25903 * util/misc.c: Remove `<grub/util/libzfs.h>'.
25904 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
25905 (grub_get_libzfs_handle): Move to ...
25906 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
25907 (grub_get_libzfs_handle): ... here.
25908
c9f7ff97
BC
259092010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
25910
25911 * script/execute.c (grub_script_execute_cmdline): Check for NULL
25912 as command name case.
25913
a870a783
CW
259142010-08-02 Colin Watson <cjwatson@ubuntu.com>
25915
25916 * disk/raid.c (insert_array): Select unique numbers for named arrays
25917 as well, for use as keys in the disk cache.
25918
c7db243b
RM
259192010-08-01 Robert Millan <rmh@gnu.org>
25920
25921 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
25922 kFreeBSD device name, except on ZFS where the filesystem label is
25923 used.
25924 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
25925 `/boot/zfs/zpool.cache'.
25926 Set mountfrom kernel variable using ${kfreebsd_device}.
25927
f7abdefb
RM
259282010-08-01 Robert Millan <rmh@gnu.org>
25929
25930 Make it even harder to use uninitialized `libzfs_handle' (and
25931 make the interface a bit simpler).
25932
25933 * include/grub/util/misc.h (grub_util_init_libzfs)
25934 (libzfs_handle): Remove.
25935 (grub_get_libzfs_handle): New prototype.
25936
25937 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
25938 attribute.
25939 (grub_util_init_libzfs): Remove.
25940 (grub_get_libzfs_handle): New function.
25941
25942 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
25943 grub_get_libzfs_handle() to obtain a libzfs handle instead of
25944 accessing `libzfs_handle' directly.
25945
c882acc0
RM
259462010-08-01 Robert Millan <rmh@gnu.org>
25947
25948 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25949 (grub_find_zpool_from_mount_point): New function prototypes.
25950
25951 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25952 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25953
25954 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25955 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25956 `static' attribute.
25957
25958 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25959 finding zpool from mount point into ...
25960 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25961
25962 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25963 requested path is part of a ZFS pool, use
25964 grub_find_zpool_from_mount_point() to detect its filesystem name,
25965 and generate a path with `/fsname@path' syntax.
25966
8bfe31d8
CW
259672010-08-01 Colin Watson <cjwatson@ubuntu.com>
25968
25969 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
25970 (void) rather than () so that this is a proper prototype.
25971
553df63d
VS
259722010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25973
25974 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
25975
8687cf07
VS
259762010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25977
25978 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
25979 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
25980
ea9be8ea
CW
259812010-08-01 Colin Watson <cjwatson@ubuntu.com>
25982
25983 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
25984
6eea041a
CW
259852010-08-01 Colin Watson <cjwatson@ubuntu.com>
25986
25987 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
25988
2cfb45df
CW
259892010-08-01 Colin Watson <cjwatson@ubuntu.com>
25990
25991 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
25992 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
25993 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
25994 disable gfxpayload.
25995 (Shell-like scripting): Add real content.
25996 (Serial terminal): Suggest `terminal_input serial; terminal_output
25997 serial' rather than putting the two commands on separate lines,
25998 since console input will be inoperative after the first command.
25999 (menuentry): Document --class, --users, and --hotkey options.
26000 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
26001 Vladimir Serbinenko).
26002
7decd202
VS
260032010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
260042010-08-01 Colin Watson <cjwatson@ubuntu.com>
26005
26006 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
26007
c882acc0
RM
260082010-08-01 Robert Millan <rmh@gnu.org>
26009
26010 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26011 (grub_find_zpool_from_mount_point): New function prototypes.
26012
26013 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26014 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26015
26016 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26017 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26018 `static' attribute.
26019
26020 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26021 finding zpool from mount point into ...
26022 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26023
26024 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26025 requested path is part of a ZFS pool, use
26026 grub_find_zpool_from_mount_point() to detect its filesystem name,
26027 and generate a path with `/fsname@path' syntax.
26028
deb0caa3
RM
260292010-08-01 Robert Millan <rmh@gnu.org>
26030
26031 Prevent accidental use of uninitialized libzfs_handle.
26032
26033 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
26034 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
26035 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
26036
ce04ef47
CW
260372010-08-01 Colin Watson <cjwatson@ubuntu.com>
26038
26039 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
26040 util/grub.d/10_linux.in). Fixes Debian bug #591093.
26041
ebf53056
RM
260422010-08-01 Robert Millan <rmh@gnu.org>
26043
26044 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 26045
3710bb6b
RM
260462010-07-31 Robert Millan <rmh@gnu.org>
26047
26048 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
26049
8072efeb
RM
260502010-07-31 Robert Millan <rmh@gnu.org>
26051
26052 * kern/emu/misc.c: Add missing license header.
26053
3169f4c7
RM
260542010-07-31 Robert Millan <rmh@gnu.org>
26055
26056 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
26057
26058 * include/grub/util/libnvpair.h: Include `<config.h>'.
26059 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
26060 declaring libnvpair prototypes ourselves.
26061 * include/grub/util/libzfs.h: Include `<config.h>'.
26062 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
26063 declaring libzfs prototypes ourselves.
26064
26065 (libzfs_handle): Moved to ...
26066 * include/grub/util/misc.h (libzfs_handle): ... here.
26067 Include `<grub/util/libzfs.h>'.
26068
c9a00aee
RM
260692010-07-30 Robert Millan <rmh@gnu.org>
26070
26071 * include/grub/emu/misc.h: Add missing license header.
26072
a184f9c8
RM
260732010-07-30 Robert Millan <rmh@gnu.org>
26074
26075 Enable `grub-probe -t device' resolution on ZFS.
26076
26077 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
26078 * include/grub/util/libnvpair.h: New file.
26079 * include/grub/util/libzfs.h: New file.
26080
26081 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
26082 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
26083 `<grub/util/libnvpair.h>'.
26084 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
26085
26086 (find_mount_point_from_dir): New static function.
26087 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
26088 function.
26089 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
26090 find_root_device_from_libzfs() before ressorting to find_root_device().
26091
26092 * include/grub/util/misc.h (grub_util_init_libzfs): New function
26093 prototype.
26094 * util/misc.c: Include `<grub/util/libzfs.h>'.
26095 (grub_util_init_libzfs): New function.
26096 [HAVE_LIBZFS] (libzfs_handle): New global variable.
26097 [HAVE_LIBZFS] (fini_libzfs): New static function.
26098 (grub_util_init_libzfs): New function.
26099 * util/grub-probe.c (main): Call grub_util_init_libzfs().
26100
f7790cdd
RM
261012010-07-30 Robert Millan <rmh@gnu.org>
26102
26103 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
26104 (xmalloc, xrealloc, xstrdup, xasprintf): Add
26105 `warn_unused_result' attribute.
26106 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
26107 (grub_xasprintf, grub_xvasprintf): Likewise.
26108 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
26109
0806b63c
RM
261102010-07-29 Robert Millan <rmh@gnu.org>
26111
26112 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
26113 (probe): Handle `PRINT_FS_LABEL'.
26114 (main): Handle `-t fs_label'.
26115
9f841f5c
RM
261162010-07-29 Robert Millan <rmh@gnu.org>
26117
26118 * configure.ac: Remove grub-mkisofs checks.
26119
46371121
VS
261202010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26121
26122 * util/ieee1275/grub-install.in: Don't use empty grub_device.
26123 Reported by: Lennart Sorensen.
26124
261252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26126
26127 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
26128 prior to terminal_input/terminal_output separation. It's been over 1.5
26129 years and those versions weren't widely deployed.
26130
a9600892
CW
261312010-07-22 Colin Watson <cjwatson@ubuntu.com>
26132
26133 * disk/raid.c (insert_array): Don't count named arrays when looking
26134 for unused array numbers.
697e053c 26135 Reported and tested by: Michael Guntsche.
a9600892 26136
c03507df
CW
261372010-07-20 Colin Watson <cjwatson@ubuntu.com>
26138
26139 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
26140 implementation of this so that grub-emu links again, with a note
26141 that this should support hotplugging in the future.
26142
b26f1c11
CW
261432010-07-20 Colin Watson <cjwatson@ubuntu.com>
26144
26145 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26146
efc9d7f1
CW
261472010-07-20 Colin Watson <cjwatson@ubuntu.com>
26148
26149 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
26150 handle on failure.
26151 (grub_loopback_close): Remove empty function.
26152 (grub_loopback_dev): Remove close method.
26153
dd8ff5c9
CW
261542010-07-20 Colin Watson <cjwatson@ubuntu.com>
26155
26156 Disable EFI cursor when the EFI console becomes inactive.
26157
26158 * term/efi/console.c (grub_efi_console_init): New function.
26159 (grub_efi_console_fini): New function.
26160 (grub_console_term_output): Register init and fini methods.
26161
5e3bec67
VS
261622010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26163
26164 * tests/util/grub-shell-tester.in: Remove bashism and declare as
26165 sh script.
26166
afaec079
VS
261672010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26168
26169 * disk/loopback.c (grub_loopback): Replace filename with file.
26170 (delete_loopback): Handle new semantics.
26171 (grub_cmd_loopback): Likewise.
26172 (grub_loopback_iterate): Likewise.
26173 (grub_loopback_close): Likewise.
26174
a6a11f3c
VS
261752010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26176
26177 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
26178 with -p "".
26179 Reported by: Tito Keitel.
26180
64a638b0
VS
261812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26182
26183 * docs/grub.texi (Naming convention): Document new naming convention.
26184
ab8ba957
VS
261852010-07-20 Vadim Solomin <vadic052@gmail.com>
261862010-07-20 Colin Watson <cjwatson@ubuntu.com>
26187
26188 Generate device.map in something closer to the old ordering.
26189
26190 * util/deviceiter.c (struct device): New declaration.
26191 (compare_file_names): Rename to ...
26192 (compare_devices): ... this. Sort by kernel name in preference to
26193 the stable by-id name, but keep the latter as a fallback comparison.
26194 Update header comment.
26195 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
26196 of `struct device' rather than of plain file names.
26197
a29d6a4b
TF
261982010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
26199
26200 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
26201 on i386.
26202
39d824e8
VS
262032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26204
26205 * commands/acpi.c (setup_common_tables): Use sizeof instead of
26206 hardcoding size.
26207 (setv1table): Likewise.
26208
f058276b
FZ
262092010-07-20 Colin Watson <cjwatson@ubuntu.com>
26210
26211 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
26212 removing the homehost if present.
26213 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
26214 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
26215 removing the homehost if present.
26216 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
26217 if possible.
26218 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
26219
26220 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
26221 parameter. Set its pointer target to 0.
26222 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
26223 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
26224 `data_offset' value from the superblock for 1.x metadata.
26225 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
26226 data on the device.
26227 (insert_array): Record the start sector of data on the device.
26228 (grub_raid_register): Pass start_sector parameters to
26229 grub_raid_list->detect and insert_array.
26230 * include/grub/raid.h (struct grub_raid_array): Add start_sector
26231 member.
26232 (struct grub_raid): Add start_sector parameter to `detect'.
26233
26234 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
26235 __attribute__ ((packed)), leaving a comment.
26236 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
26237 (grub_mdraid_detect_09): ... here and ...
26238 (grub_mdraid_detect_1x): ... here.
26239
262402010-07-20 Peter Henn <peter.henn@web.de>
26241
26242 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
26243 chunk size and disk size, which are already given as sector counts
26244 as distinct from the 0.90 units. Fetch the correct device number
26245 from the role table instead of using the table index.
26246
262472010-07-20 Felix Zielcke <fzielcke@z-51.de>
26248
26249 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
26250 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
26251 (WriteMostly1): New macro.
26252 Set array->name to NULL for metadata format 0.90. Add support for
26253 metadata 1.x. Fix some comments.
26254 * disk/raid.c (): Add support for name based RAID arrays. Fix a
26255 few comments.
26256 * util/getroot.c (grub_util_get_grub_dev): Add support for
26257 /dev/md/name style devices.
26258
4b761da9
CW
262592010-07-20 Colin Watson <cjwatson@ubuntu.com>
26260
26261 * .bzrignore: Ignore 20_linux_xen.
26262
5771289a
CW
262632010-07-17 Colin Watson <cjwatson@ubuntu.com>
26264
26265 * util/import_unicode.py: Remove unnecessary imports.
26266
5dab68df
AN
262672010-07-17 Aleš Nesrsta <starous@volny.cz>
26268
26269 Hotplugging and USB hub support.
26270
26271 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
26272 (grub_ohci): Likewise.
26273 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
26274 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
26275 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
26276 (GRUB_OHCI_CTRL_EDS): Likewise.
26277 (GRUB_OHCI_BULK_EDS): Likewise.
26278 (GRUB_OHCI_TDS): Likewise.
26279 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
26280 (grub_ohci_ed_phys2virt): New function.
26281 (grub_ohci_virt_to_phys): Likewise.
26282 (grub_ohci_td_phys2virt): Likewise.
26283 (grub_ohci_td_virt2phys): Likewise.
26284 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
26285 attachment.
26286 (grub_ohci_find_ed): New function.
26287 (grub_ohci_alloc_td): Likewise.
26288 (grub_ohci_free_td): Likewise.
26289 (grub_ohci_free_tds): Likewise.
26290 (grub_ohci_transfer): Use previously allocated memory.
26291 (grub_ohci_portstatus): Reset status changed bit.
26292 (grub_ohci_detect_dev): Supply status changed.
26293 (grub_ohci_fini_hw): Free memory.
26294 (grub_ohci_restore_hw): Reallocate memory.
26295 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
26296 Reset status change.
26297 (grub_uhci_detect_dev): Supply status_change.
26298 * bus/usb/usb.c (attach_hooks): New var.
26299 (grub_usb_device_attach): New function.
26300 (grub_usb_register_attach_hook_class): Likewise.
26301 (grub_usb_unregister_attach_hook_class): Likewise.
26302 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
26303 (grub_usb_add_hub): Reset connection changed bit.
26304 (attach_root_port): New function.
26305 (grub_usb_root_hub): Likewise.
26306 (poll_nonroot_hub): Likewise.
26307 (grub_usb_poll_devices): Likewise.
26308 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
26309 * disk/usbms.c (grub_usbms_open): Use device hooks.
26310 (grub_usbms_iterate) :Poll devices.
26311 (grub_usbms_finddevs): Split into ...
26312 (grub_usbms_attach): ... this ...
26313 (grub_usbms_attach): ... and this.
26314 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
26315 in detect_dev.
26316 (grub_usb_interface): New fields attached and detach_hook.
26317 (grub_usb_attach_hook_class): New type.
26318 (grub_usb_attach_desc): New struct.
26319 (grub_usb_register_attach_hook_class): New function.
26320 (grub_usb_unregister_attach_hook_class): Likewise.
26321 (grub_usb_poll_devices): Likewise.
26322 (grub_usb_device_attach): Likewise.
26323 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
26324 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
26325
3222efaf
VS
263262010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26327
26328 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
26329 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
26330 delta determination style. Works with most NetBSD partitions too.
26331
139b714a
VS
263322010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26333
26334 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
26335 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
26336
986aad56
VS
263372010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26338
26339 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
26340
99be513c
AB
263412010-07-14 Anton Blanchard <anton@samba.org>
26342
26343 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
26344 ET_DYN files.
26345
18075f62
GS
263462010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26347
26348 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
26349
8d9a5b15
GS
263502010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26351
26352 * kern/partition.c (grub_partition_check_containment): New function to
26353 check that a partition is physically contained in a parent. Since
26354 offsets are relative (and non-negative), this reduces to checking that
26355 the partition ends before its parent.
26356 (grub_partition_map_probe): Discard out-of-range sub-partitions.
26357 (grub_partition_iterate): Likewise.
26358 * include/grub/partition.h (grub_partition_map): Slightly more detailed
26359 comments.
26360 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
26361 partitions that start before their parent, and add debug printfs.
26362
19563c25
CW
263632010-07-13 Colin Watson <cjwatson@ubuntu.com>
26364
26365 * Makefile.in (.SUFFIX): Spell correctly, as ...
26366 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
26367 bare module name without `.mod', e.g. `test') tried to invoke a
26368 Modula-2 compiler.
26369
1a1f1e67
CW
263702010-07-13 Colin Watson <cjwatson@ubuntu.com>
26371
26372 * README: Point to the Info manual.
26373
811b0dca
JS
263742010-07-13 Jiro SEKIBA <jir@unicus.jp>
26375
26376 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
26377 2nd superblock position from partition size.
26378
e4f4eafc
CW
263792010-07-10 Colin Watson <cjwatson@ubuntu.com>
26380
26381 * Makefile.in (MAINTAINER_CLEANFILES): Remove
26382 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
26383 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
26384 outputs.
26385
4274c30f
VS
263862010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26387
26388 Restructure SCSI .id handling.
26389 Reported and tested by: Aleš Nesrsta.
26390
26391 * disk/ata.c (grub_atapi_close): Removed. All users updated.
26392 (grub_atapi_dev): Changed .name to "ata". New field .id.
26393 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
26394 (grub_usbms_dev): New field .id.
26395 * disk/scsi.c (grub_scsi_iterate): Generate name.
26396 (grub_scsi_open): Parse name.
26397 * include/grub/scsi.h (grub_make_scsi_id): New function.
26398 (grub_scsi_dev): Change iterate and open to number instead of naming
26399 busses. All users updated.
26400 (grub_scsi): Remove name. Add .bus.
26401
5bc24388
VS
264022010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26403
26404 * commands/help.c (grub_cmd_help): Fix a typo.
26405
249975ba
VS
264062010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26407
26408 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
26409 Reported and tested by: Colin Watson.
26410
3eaac1a1
VS
264112010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26412
26413 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
26414 in this context.
26415
becce1b1
VS
264162010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
26417
26418 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
26419
f7bf0918
CW
264202010-07-07 Colin Watson <cjwatson@ubuntu.com>
26421
26422 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
26423 indentation.
26424
0b0f9620
CW
264252010-07-06 Colin Watson <cjwatson@ubuntu.com>
26426
26427 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
26428 and disk/raid6_recover.c.
26429 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26430 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26431
1e545469
CW
264322010-07-06 Colin Watson <cjwatson@ubuntu.com>
26433
26434 * term/gfxterm.c (repaint_schedulded): Rename to ...
26435 (repaint_scheduled): ... this. Update all callers.
26436 (repaint_was_schedulded): Rename to ...
26437 (repaint_was_scheduled): ... this. Update all callers.
26438
5357687a
CW
264392010-07-06 Colin Watson <cjwatson@ubuntu.com>
26440
26441 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
26442 which we expect to be handled by upper layers.
26443
29d7e783
BC
264442010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
26445
26446 * bus/usb/usbhub.c: #include time.h header.
26447
37582066
CW
264482010-07-06 Colin Watson <cjwatson@ubuntu.com>
26449
26450 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
26451 entry_name also for entries without stat blocks (e.g. ".."); fixes
26452 corruption of the first entry in a directory.
26453
c8c06953
CW
264542010-07-06 Colin Watson <cjwatson@ubuntu.com>
26455
26456 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
26457 after setting gfxterm as the active terminal. GRUB_BACKGROUND
26458 doesn't work otherwise.
26459
e75056f1
CW
264602010-07-05 Colin Watson <cjwatson@ubuntu.com>
26461
26462 * docs/grub.texi (Features): Update list of supported file systems.
26463 (GNU/Linux): Update for GRUB 2.
26464 (Serial terminal): Remove mention of --disable-serial, which was a
26465 GRUB Legacy configure option. Update instructions to use
26466 `terminal_input' and `terminal_output' rather than `terminal'.
26467 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
26468 configuration' and `Installing GRUB using grub-install'.
26469 (Menu entry editor): Update for GRUB 2.
26470 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
26471 Document new -a, -u, and -v options.
26472 (initrd): New section.
26473 (initrd16): New section.
26474 (linux): New section.
26475 (linux16): New section.
26476 (search): The `var' argument to `--set' is optional.
26477 (GRUB only offers a rescue shell): Go into a little more detail on
26478 drive ordering.
26479
5cf69151
CW
264802010-07-05 Colin Watson <cjwatson@ubuntu.com>
26481
26482 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
26483
e3f90044
CW
264842010-07-05 Colin Watson <cjwatson@ubuntu.com>
26485
26486 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
26487 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
26488
38d8f4f3
CW
264892010-07-05 Colin Watson <cjwatson@ubuntu.com>
26490
26491 * util/i386/pc/grub-setup.c (setup): Rename prefix to
26492 install_prefix, in line with install_dos_part and install_bsd_part.
26493 Add new prefix variable, which is copied to install_prefix after
26494 comparing core.img in memory with the one read from disk in the
26495 no-embedding case, and use that rather than overwriting
26496 install_prefix immediately when installing to a partition.
26497 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
26498 Bicakci.
26499
57ebd41e
GS
265002010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26501
26502 * configure.ac: Avoid == in test command, it's not portable.
26503 * util/grub.d/30_os-prober.in: Likewise.
26504
cb7f64b2
CW
265052010-07-04 Colin Watson <cjwatson@ubuntu.com>
26506
26507 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
26508
6b654bb0
GS
265092010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26510
26511 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
26512 multiple (top-level) partmaps.
26513
72a2026d
VS
265142010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26515
26516 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 26517 Reported by: Tino Keitel.
72a2026d 26518
df3eb88f
VS
265192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26520
26521 Bidi and diacritics support.
26522
26523 * Makefile.in (widthspec.bin): New target.
26524 (widthspec.h): Likewise.
26525 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
26526 * autogen.sh: Generate unidata.c.
26527 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
26528 * commands/ls.c (grub_ls_list_devices): Likewise.
26529 (grub_ls_list_files): Likewise.
26530 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
26531 (grub_mini_cmd_lsmod): Likewise.
26532 * commands/read.c: Likewise.
26533 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
26534 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
26535 * lib/arg.c (grub_arg_show_help): Likewise.
26536 * lib/crypto.c (grub_password_get): Likewise.
26537 * normal/auth.c (grub_username_get): Likewise.
26538 * normal/misc.c (grub_normal_print_device_info): Likewise.
26539 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
26540 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
26541 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
26542 (normal/charset.c_DEPENDENCIES): New variable.
26543 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
26544 (pkglib_MODULES): Remove charset.mod.
26545 (charset_mod_SOURCES): Removed.
26546 (charset_mod_CFLAGS): Likewise.
26547 (charset_mod_LDFLAGS): Likewise.
26548 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
26549 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
26550 and term/tparm.c.
26551 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26552 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26553 (kernel_img_HEADERS): Add terminfo.h.
26554 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
26555 Fill ->font. Reverse ascii bitmaps.
26556 (grub_font_get_xheight): New function.
26557 * font/font.c (grub_font_get_string_width): Moved from here ...
26558 * gfxmenu/font.c (grub_font_get_string_width): ... here.
26559 * font/font.c (grub_font_draw_string): Moved from here ...
26560 * gfxmenu/font.c (grub_font_draw_string): ... here.
26561 * font/font.c (grub_font_dup_glyph): New function.
26562 (grub_font_blit_glyph): Likewise.
26563 (grub_font_blit_glyph_mirror): Likewise.
26564 (blit_comb): Likewise.
26565 (grub_font_construct_dry_run): Likewise.
26566 (grub_font_get_constructed_device_width): Likewise.
26567 (grub_font_construct_glyph): Likewise.
26568 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
26569 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
26570 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
26571 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
26572 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
26573 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
26574 (grub_font_get_xheight): New proto.
26575 (grub_font_get_constructed_device_width): Likewise.
26576 (grub_font_construct_glyph): Likewise.
26577 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
26578 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
26579 * include/grub/font.h (grub_font_draw_string): Moved from here ...
26580 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
26581 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
26582 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
26583 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
26584 (grub_console_getcharwidth): Likewise.
26585 * include/grub/misc.h (grub_xputs): New proto.
26586 (grub_puts): Inlined.
26587 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
26588 (grub_normal_get_line_counter): Removed.
26589 (grub_install_newline_hook): Likewise.
26590 (grub_normal_get_char_counter): New proto.
26591 (grub_normal_reset_more): Likewise.
26592 (grub_xputs_normal): Likewise.
26593 * include/grub/powerpc/ieee1275/console.h: Removed.
26594 * include/grub/sparc64/ieee1275/console.h: Likewise.
26595 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
26596 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
26597 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
26598 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
26599 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
26600 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
26601 (grub_term_input): Pass reference to self. All users updated.
26602 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
26603 Pass reference to self. New fields normal_color, highlight_color and
26604 data. All users updated.
26605 (grub_putchar): Removed.
26606 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
26607 (grub_unicode_estimate_width): New function.
26608 (grub_term_getcharwidth): Add defaults.
26609 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
26610 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
26611 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
26612 (grub_cls): Remove EXPORT_FUNC.
26613 (grub_setcolorstate): Inline.
26614 (grub_newline_hook): Removed.
26615 * include/grub/terminfo.h: Rewritten. All users updated.
26616 * include/grub/unicode.h: New file.
26617 * include/grub/video.h (grub_video_signed_rect): New type.
26618 * kern/emu/console.c (grub_console_highlight_color): Removed.
26619 (grub_console_normal_color): Likewise.
26620 (grub_console_standard_color): Made static.
26621 (grub_ncurses_putchar): Remove mapping.
26622 (grub_ncurses_getcharwidth): Removed.
26623 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26624 (grub_ncurses_setcolor): Removed.
26625 (grub_ncurses_getcolor): Likewise.
26626 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
26627 (grub_console_putchar): ... this.
26628 (grub_console_putchar): Handle argument difference.
26629 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
26630 console_init_early and console_init_lately.
26631 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
26632 * kern/misc.c (grub_puts): Removed.
26633 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
26634 (grub_vsnprintf_real): Remove str = NULL support.
26635 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
26636 * normal/charset.c (grub_utf8_to_ucs4): ... here.
26637 * kern/term.c (grub_putcode): Renamed to ...
26638 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
26639 (grub_putchar): Removed.
26640 (grub_xputs_dumb): New function.
26641 (grub_xputs): New variable.
26642 * lib/charset.c: Move from here ...
26643 * normal/charset.c: ... to here.
26644 (grub_ucs4_to_utf8): New function.
26645 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
26646 (join_types): New variable.
26647 (unpack_join): New function.
26648 (bidi_types): New variable.
26649 (unpack_bidi): New function.
26650 (get_bidi_type): Likewise.
26651 (get_join_type): Likewise.
26652 (is_mirrored): Likewise.
26653 (grub_unicode_get_comb_type): Likewise.
26654 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
26655 (is_type_after): Likewise.
26656 (grub_unicode_aglomerate_comb): Likewise.
26657 (bidi_line_wrap): Likewise.
26658 (grub_bidi_line_logical_to_visual): Likewise.
26659 (grub_bidi_logical_to_visual): Likewise.
26660 (grub_unicode_mirror_code): Likewise.
26661 (grub_unicode_shape_code): Likewise.
26662 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
26663 Don't use grub_putchar.
26664 * normal/main.c (grub_normal_init_page): Use grub_putcode.
26665 (grub_normal_reader_init): Likewise.
26666 (grub_xputs_saved): New variable.
26667 (GRUB_MOD_INIT): Set grub_xputs.
26668 (GRUB_MOD_FINI): Restore grub_xputs.
26669 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
26670 (menu_init): Avoid printing gfxmenu error.
26671 (show_menu): Use grub_normal_get_char_counter.
26672 * normal/menu_entry.c (update_screen): Fix out-of-array.
26673 (complete): Avoid NULL dereferencing.
26674 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
26675 * normal/menu_text.c (print_spaces): Removed.
26676 (grub_print_ucs4): Likewise.
26677 (grub_print_message_indented): Use grub_print_ucs4.
26678 (print_message): Use grub_putcode.
26679 (print_entry): Hanlde diacritics.
26680 * normal/term.c (term_state): New type.
26681 (grub_more_lines): Removed.
26682 (term_states): New variable.
26683 (grub_normal_line_counter): Renamed to ..
26684 (grub_normal_char_counter): ...this. All users updated.
26685 (grub_normal_get_line_counter): Renamed to ...
26686 (grub_normal_get_char_counter): ... this.
26687 (grub_normal_reset_more): New function.
26688 (process_newline): Removed.
26689 (print_more): New function.
26690 (grub_install_newline_hook): Removed.
26691 (map_code): New function.
26692 (grub_puts_terminal): Use grub_print_ucs4.
26693 (putglyph): New function.
26694 (putcode_real): Likewise.
26695 (grub_putcode): Use putcode_real.
26696 (get_maxwidth): New function.
26697 (get_startwidth): Likewise.
26698 (print_ucs4_terminal): Likewise.
26699 (find_term_state): Likewise.
26700 (put_glyphs_terminal): Likewise.
26701 (print_backlog): Likewise.
26702 (print_ucs4_real): Likewise.
26703 (grub_print_ucs4): Likewise.
26704 (grub_xputs_normal): Likewise.
26705 * term/efi/console.c (grub_console_putchar): Output diacritics.
26706 (grub_console_getcharwidth): Removed.
26707 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26708 * term/gfxterm.c (clear_char): Free chars.
26709 (scroll_up): Avoid leaking memory.
26710 (grub_gfxterm_putchar): Support diacritics.
26711 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26712 * term/i386/pc/console.c (grub_console_term_output): Declare as
26713 GRUB_TERM_CODE_TYPE_VGA.
26714 * term/i386/pc/vga.c (grub_vga_term): Declare as
26715 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
26716 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
26717 GRUB_TERM_CODE_TYPE_VGA.
26718 * term/i386/vga_common.c (map_char): Removed.
26719 (grub_console_putchar): Likewise.
26720 (grub_console_getcharwidth): Likewise.
26721 * term/ieee1275/ofconsole.c: Simplify using terminfo.
26722 (colors): Reordered to match terminfo.
26723 (grub_ofconsole_normal_color): Removed.
26724 (grub_ofconsole_writeesc): Likewise.
26725 (grub_ofconsole_highlight_color): Likewise.
26726 (grub_ofconsole_getcharwidth): Likewise.
26727 (grub_ofconsole_setcolorstate): Likewise.
26728 (grub_ofconsole_setcolor): Likewise.
26729 (grub_ofconsole_getcolor): Likewise.
26730 (grub_ofconsole_readkey): Renamed to ...
26731 (readkey): ... this. Remove escape sequence handling. Return -1 on no
26732 key.
26733 (grub_ofconsole_checkkey): Removed.
26734 (grub_ofconsole_getkey): Likewise.
26735 (grub_ofconsole_getxy): Likewise.
26736 (grub_ofconsole_gotoxy): Likewise.
26737 (grub_ofconsole_cls): Likewise.
26738 (grub_ofconsole_refresh): Likewise.
26739 (grub_ofconsole_terminfo_input): New struct.
26740 (grub_ofconsole_terminfo_output): Likewise.
26741 (grub_ofconsole_term_input): Use terminfo.
26742 (grub_ofconsole_term_output): Likewise.
26743 (grub_console_init): Split into ...
26744 (grub_console_init_early): ...this and ...
26745 (grub_console_init_lately): ...this. Use terminfo.
26746 (grub_ofconsole_putchar): Renamed to ...
26747 (put): ... this. Remove mapping.
26748 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26749 * term/serial.c: Simplify using terminfo.
26750 (xpos): Removed.
26751 (ypos): Likewise.
26752 (keep_track): Likewise.
26753 (registered): Likewise.
26754 (input_buf): Likewise.
26755 (npending): Likewise.
26756 (serial_translate_key_sequence): Likewise.
26757 (fill_input_buf): Likewise.
26758 (grub_serial_checkkey): Likewise.
26759 (grub_serial_getkey): Likewise.
26760 (grub_serial_getxy): Likewise.
26761 (grub_serial_gotoxy): Likewise.
26762 (grub_serial_putchar): Likewise.
26763 (grub_serial_cls): Likewise.
26764 (grub_serial_setcolorstate): Likewise.
26765 (grub_serial_setcursor): Likewise.
26766 (serial_hw_init): Use serial_hw_fetch.
26767 (grub_serial_terminfo_input): New variable.
26768 (grub_serial_terminfo_output): Likewise.
26769 (grub_serial_term_input): Use terminfo.
26770 (grub_serial_term_output): Likewise.
26771 * term/terminfo.c (putstr): Use put.
26772 (grub_terminfo_all_free): New function
26773 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
26774 (grub_terminfo_output_register): New function.
26775 (grub_terminfo_output_unregister): Likewise.
26776 (grub_terminfo_getxy): Likewise.
26777 (grub_terminfo_readkey): Likewise.
26778 (grub_terminfo_checkkey): Likewise.
26779 (grub_terminfo_getkey): Likewise.
26780 (grub_terminfo_input_init): Likewise.
26781 (print_terminfo): Likewise.
26782 (grub_cmd_terminfo): Handle encoding.
26783 (grub_terminfo_gotoxy): Track position.
26784 (grub_terminfo_cls): Likewise.
26785 (grub_terminfo_putchar): Likewise.
26786 (grub_terminfo_setcolorstate): Handle colors
26787 (grub_terminfo_cursor_on): This ...
26788 (grub_terminfo_cursor_off): ... and this merged into ...
26789 (grub_terminfo_setcursor): ... this.
26790 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
26791 * unicode/ArabicShaping.txt: New file (imported from Unicode).
26792 * unicode/BidiMirroring.txt: Likewise.
26793 * unicode/UnicodeData.txt: Likewise.
26794 * unicode/COPYING: Likewise.
26795 * util/grub-editenv.c (grub_putchar): Removed.
26796 (grub_xputs_real): New function.
26797 (grub_xputs): New variable.
26798 * util/grub-fstest.c (grub_putchar): Removed.
26799 (grub_xputs_real): New function.
26800 (grub_xputs): New variable.
26801 * util/grub-mkdevicemap.c (grub_putchar): Removed.
26802 (grub_xputs_real): New function.
26803 (grub_xputs): New variable.
26804 * util/grub-probe.c (grub_putchar): Removed.
26805 (grub_xputs_real): New function.
26806 (grub_xputs): New variable.
26807 * util/grub-script-check.c (grub_putchar): Removed.
26808 (grub_xputs_real): New function.
26809 (grub_xputs): New variable.
26810 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
26811 (grub_xputs_real): New function.
26812 (grub_xputs): New variable.
26813 * util/import_unicode.py: New file.
26814 * util/grub-mkfont.c (ft_errmsgs): New array.
26815 (grub_glyph_info): Make bitmap a pointer.
26816 (file_formats): New type WIDTH_SPEC.
26817 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
26818 (options): Add width-spec.
26819 (help): Likewise.
26820 (add_char): Renamed to ...
26821 (add_glyph): ... this.
26822 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
26823 (glyph_replace): New type.
26824 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
26825 (add_char): New function.
26826 (add_subst): Likewise.
26827 (process_cursive): Likewise.
26828 (add_font): Handle GSUB.
26829 (write_font_width_spec): New function.
26830 (main): Sort glyphs.
26831 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
26832 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
26833 * kern/term.c (grub_cls): Moved from here...
26834 * normal/term.c (grub_cls): ... here.
26835
50f0bcda
CW
268362010-07-02 Colin Watson <cjwatson@ubuntu.com>
26837
26838 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
26839 suitable for using within the format argument of printf when
26840 converting grub_size_t.
26841 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
26842 "x" to convert grub_size_t arguments.
26843
40372103
VS
268442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26845
26846 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
26847 too long captions.
26848 (list_get_minimal_size): Take selection box into account.
26849
942a10c7
VS
268502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26851
26852 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
26853 NULL font.
26854
2bdb2892
CW
268552010-07-02 Colin Watson <cjwatson@ubuntu.com>
26856
26857 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
26858 devices when iterating over /dev/disk/by-id; they will be handled
26859 later if appropriate, which they aren't always (e.g. LVM).
26860
e03ed6c1
CW
268612010-07-02 Colin Watson <cjwatson@ubuntu.com>
26862
26863 * include/grub/misc.h (grub_reboot): Declare as noreturn.
26864 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
26865 fails.
26866 (grub_halt): Likewise.
26867 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
26868 reset-all fails.
26869 (grub_halt): Don't return, even if all of shut-down, power-off, and
26870 poweroff fail.
26871
47695765
CW
268722010-07-02 Colin Watson <cjwatson@ubuntu.com>
26873
26874 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
26875 arguments, not three.
26876
507736c8
CW
268772010-07-02 Colin Watson <cjwatson@ubuntu.com>
26878
26879 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
26880 * util/grub.d/10_linux.in: Use it to check for LVM, so that
26881 LVM-on-RAID is handled correctly.
26882
e3c8cd37
CW
268832010-07-02 Colin Watson <cjwatson@ubuntu.com>
26884
26885 * docs/grub.texi (Changes from GRUB Legacy): New section.
26886 (Future): Fix typo.
26887
8d4a2fec
CW
268882010-07-02 Colin Watson <cjwatson@ubuntu.com>
26889
26890 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
26891 grub.d/README accidentally ends up executable for one reason or
26892 another. Ignore it.
26893
1c4827be
VS
268942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26895
26896 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
26897 (gpt_partition_map_iterate): Support non-512B sectors.
26898
d9a0c941
VS
268992010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26900
26901 * kern/efi/init.c (grub_efi_init): Disable watchdog.
26902 Tested by: Seth Goldberg.
26903
48f27e87
VS
269042010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26905
26906 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
26907 Properly align mbi.
26908 Reported by: Seth Goldberg.
26909
b0c4f956
VS
269102010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26911
26912 * util/grub-mkrescue.in: Avoid module duplication.
26913
105a2e8c
SF
269142010-07-01 Sean Finney <seanius@seanius.net>
26915
26916 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
26917
5944958c
SF
269182010-07-01 Sean Finney <seanius@seanius.net>
26919
26920 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
26921
269222010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26923
26924 * disk/lvm.c (grub_lvm_checkvalue): New function.
26925 (grub_lvm_check_flag): Likewise.
26926
b79889ba
RM
269272010-07-01 Robert Millan <rmh@gnu.org>
26928
26929 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
26930 Support 'p' as partition separator on kernel of FreeBSD (used
26931 with GPT labels).
26932 (grub_util_biosdisk_get_grub_dev): Likewise.
26933
ec1d04f1
VS
269342010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26935
26936 Yeeloong firmware port.
26937
26938 * boot/mips/yeeloong/fwstart.S: New file.
26939 * bus/cs5536.c (gpiodump): New const.
26940 (set_io_space): New function.
26941 (set_iod): Likewise.
26942 (set_p2d): Likewise.
26943 (grub_cs5536_init_geode): Likewise.
26944 * commands/mips/yeeloong/lsspd.c: New file.
26945 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
26946 (serial_mod_SOURCES): New variable.
26947 (serial_mod_CFLAGS): Likewise.
26948 (serial_mod_LDFLAGS): Likewise.
26949 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
26950 term/terminfo.c and term/tparm.c.
26951 (pkglib_IMAGES): Add fwstart.img.
26952 (fwstart_img_SOURCES): New variable.
26953 (fwstart_img_CFLAGS): Likewise.
26954 (fwstart_img_ASFLAGS): Likewise.
26955 (fwstart_img_LDFLAGS): Likewise.
26956 (fwstart_img_FORMAT): Likewise.
26957 (pkglib_MODULES): Add lsspd.mod.
26958 (lsspd_mod_SOURCES): New variable.
26959 (lsspd_mod_CFLAGS): Likewise.
26960 (lsspd_mod_LDFLAGS): Likewise.
26961 (pkglib_MODULES): Add halt.mod.
26962 (halt_mod_SOURCES): New variable.
26963 (halt_mod_CFLAGS): Likewise.
26964 (halt_mod_LDFLAGS): Likewise.
26965 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
26966 (serial_mod_SOURCES): Removed.
26967 (serial_mod_CFLAGS): Likewise.
26968 (serial_mod_LDFLAGS): Likewise.
26969 * disk/ata.c (check_device): New function.
26970 (grub_ata_device_initialize): Use check_device.
26971 (grub_ata_iterate): Recheck devices.
26972 (grub_ata_open): Likewise.
26973 (grub_atapi_iterate): Likewise.
26974 (grub_atapi_open): Likewise.
26975 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
26976 (GRUB_ATA_CH1_PORT1): Likewise.
26977 (GRUB_ATA_CH0_PORT2): Likewise.
26978 (GRUB_ATA_CH1_PORT2): Likewise.
26979 * include/grub/mips/loongson.h: New file.
26980 * include/grub/mips/yeeloong/ec.h: Likewise.
26981 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
26982 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
26983 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
26984 * include/grub/misc.h (grub_halt): Declare as noreturn.
26985 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
26986 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
26987 (UART_ENABLE_FIFO_TRIGGER1): New definition.
26988 (UART_ENABLE_DTRRTS): Likewise.
26989 (UART_ENABLE_MODEM): Removed.
26990 (UART_ENABLE_OUT2): New const.
26991 * include/grub/term.h (grub_term_register_input_active): New function.
26992 (grub_term_register_output_active): Likewise.
26993 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
26994 argument.
26995 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
26996 (init_pci): New function.
26997 (grub_machine_init): Execute platform init when firmware. Init serial.
26998 (grub_halt): Implement.
26999 (grub_exit): Likewise.
27000 (grub_reboot): Likewise.
27001 * term/serial.c (serial_hw_init): Update macros.
27002 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
27003 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
27004 (image_targets): New target mipsel-yeeloong-flash.
27005 (generate_image): Support IMAGE_YEELOONG_FLASH.
27006 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
27007 (grub_video_sm712_setup): Init card.
27008 (grub_video_sm712_set_palette): Removed.
27009 * video/sm712_init.c: New file.
27010
ff4a70d2
CW
270112010-06-30 Colin Watson <cjwatson@ubuntu.com>
27012
27013 * Makefile.in (install-local): Temporarily prepend $(builddir) to
27014 PATH when running help2man and then run it on the unadorned
27015 executable names, rather than passing $(builddir)/* paths to
27016 help2man. This avoids the build directory ending up in generated
27017 manual pages.
27018
1246efeb
CW
270192010-06-29 Colin Watson <cjwatson@ubuntu.com>
27020
27021 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
27022 to avoid accidents when debugging with 'sh -x'.
27023 * util/grub-mkrescue.in: Likewise.
27024 * util/grub.d/00_header.in: Likewise.
27025 * util/grub.d/10_hurd.in: Likewise.
27026 * util/grub.d/10_kfreebsd.in: Likewise.
27027 * util/grub.d/10_linux.in: Likewise.
27028 * util/grub.d/10_netbsd.in: Likewise.
27029 * util/grub.d/10_windows.in: Likewise.
27030 * util/grub.d/20_linux_xen.in: Likewise.
27031 * util/grub.d/30_os-prober.in: Likewise.
27032 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27033
1ba9b889
CW
270342010-06-29 Colin Watson <cjwatson@ubuntu.com>
27035
27036 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
27037 last character in the buffer.
27038 Reported by: Vladimir Serbinenko.
27039
dccaf99d
RM
270402010-06-29 Robert Millan <rmh@gnu.org>
27041
27042 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
27043 (Command-line and menu entry commands): Document `badram' command.
27044
d500ed12
RM
270452010-06-28 Robert Millan <rmh@gnu.org>
27046
27047 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
27048 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
27049 command using ${GRUB_BADRAM} as parameter.
27050
20bc84a6
CW
270512010-06-28 Colin Watson <cjwatson@ubuntu.com>
27052
27053 * docs/grub.texi (Device map): New section.
27054 (Themes): New section (stub).
27055 * Makefile.in (docs/grub.info): The info documentation now builds
27056 without errors. Make sure it stays that way.
27057
4045dee1
VS
270582010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27059
27060 Use normal parser for menu entries.
27061 Reported by: Thomas Frauendorfer
27062
27063 * include/grub/parser.h (grub_parser_execute): Don't export.
27064 * normal/menu.c (grub_menu_execute_entry_real): New function.
27065 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
27066
bca58c7b
CW
270672010-06-28 Colin Watson <cjwatson@ubuntu.com>
27068
27069 * docs/grub.texi (Embedded configuration): New section (replacing
27070 old "Preset Menu" stub).
27071 (Images): New section.
27072 (configfile): Note that any menu entries defined in `file' are shown
27073 immediately.
27074
dec53e63
JT
270752010-06-28 Josh Triplett <josh@joshtriplett.org>
27076
27077 * mmap/i386/pc/mmap_helper.S: Set CF on return.
27078
c06e40f7
CW
270792010-06-28 Colin Watson <cjwatson@ubuntu.com>
27080
27081 * util/grub-install.in: Add --debug-image= option.
27082
cb88052b
CW
270832010-06-28 Colin Watson <cjwatson@ubuntu.com>
27084
27085 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
27086 possible on Linux.
27087
27088 * util/deviceiter.c (check_device): Rename to ...
27089 (check_device_readable_unique): ... this. Update all callers.
27090 Maintain and check a list of which devices (by canonicalized name)
27091 have already been seen.
27092 (clear_seen_devices): New function.
27093 (compare_file_names) [__linux__]: New function.
27094 (grub_util_iterate_devices): Clear the list of seen devices on exit
27095 and (just in case) on entry.
27096 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
27097 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
27098 seen-devices list, superseded by general code in check_device.
27099
bbe34652
CW
271002010-06-28 Colin Watson <cjwatson@ubuntu.com>
27101
27102 * commands/cat.c (options): New variable.
27103 (grub_cmd_cat): Parse options. If the --dos option is given, print
27104 DOS-style "\r\n" line endings as simple newlines (Debian bug
27105 #586358).
27106 (GRUB_MOD_INIT): Use extcmd.
27107 (GRUB_MOD_FINI): Likewise.
27108 * docs/grub.texi (cat): Document --dos.
27109
412e09f3
VS
271102010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27111
27112 XEN with Linux grub-mkconfig support.
27113
27114 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
27115 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
27116 GRUB_CMDLINE_XEN_DEFAULT.
27117 * util/grub.d/20_linux_xen.in: New file.
27118
53f3ef38 271192010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
27120
27121 Initialise VGA video on qemu ourselves.
27122
27123 * boot/i386/qemu/boot.S: Don't call 0xc000.
27124 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
27125 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
27126 (kernel_img_HEADERS): Add pci.h.
27127 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
27128 * configure.ac: Force unifont on qemu and yeeloong.
27129 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
27130 (grub_vga_palette_write): Use correct register.
27131 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
27132 Call grub_qemu_init_cirrus.
27133 * kern/i386/qemu/init.c: New file.
27134 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
27135
27136 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
27137
c75be4fb
PR
271382010-06-26 Pavel Roskin <proski@gnu.org>
27139
27140 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
27141 13.
27142
d8034603
CW
271432010-06-26 Colin Watson <cjwatson@ubuntu.com>
27144
27145 * docs/grub.texi (Simple configuration): Explain that
27146 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
27147 set to `true' to disable their respective recovery entries, not
27148 merely set.
27149
3fa06487
CW
271502010-06-26 Colin Watson <cjwatson@ubuntu.com>
27151
27152 Make the `source' command slightly faster.
27153
27154 * normal/main.c (grub_normal_execute): Don't re-read list files when
27155 nested.
27156
e9b29642
CW
271572010-06-23 Colin Watson <cjwatson@ubuntu.com>
27158
27159 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
27160 field position and mask size to red fields from mode_info, not
27161 green.
27162 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
27163 Remove redundant tag->common.framebuffer_type assignment.
27164 Reported by: Seth Goldberg.
27165
e726542f
CW
271662010-06-23 Colin Watson <cjwatson@ubuntu.com>
27167
27168 Sync up other versions of the Linux loader with Robert Millan's
27169 change of 2010-01-09, "Make loader output a bit more user-friendly".
27170
27171 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
27172 grub_dprintf().
27173 (grub_cmd_linux): Likewise.
27174 (grub_cmd_initrd): Likewise.
27175 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
27176 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27177
d6e98a17
CW
271782010-06-21 Colin Watson <cjwatson@ubuntu.com>
27179
27180 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
27181 larger than MEMORY_MAP_SIZE.
27182
14d3f08e
BC
271832010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
27184
27185 Fix parallel build.
27186
27187 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
27188 dependency.
27189 * script/parser.y: #include grub_script.tab.h header.
27190
4f9613a3
VS
271912010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27192
27193 Support >3GiB and <16MiB RAM in i386-qemu.
27194
27195 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
27196 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
27197 (grub_lower_mem): Removed.
27198 (grub_upper_mem): Likewise.
27199 (mem_size): Made static.
27200 (above_4g): New variable.
27201 (grub_machine_mmap_init): Detect small mem_size and above_4g.
27202 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
27203 support.
27204
05e51879
VS
272052010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27206
27207 Cirrus 5446 and Bochs video cards support.
27208
27209 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
27210 video_bochs.mod
27211 (video_cirrus_mod_SOURCES): New variable.
27212 (video_cirrus_mod_CFLAGS): Likewise.
27213 (video_cirrus_mod_LDFLAGS): Likewise.
27214 (video_bochs_mod_SOURCES): Likewise.
27215 (video_bochs_mod_CFLAGS): Likewise.
27216 (video_bochs_mod_LDFLAGS): Likewise.
27217 * include/grub/vga.h: New file.
27218 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
27219 (grub_video_fb_set_page_t): New type.
27220 (grub_video_fb_setup): New prototype.
27221 (grub_video_fb_swap_buffers): Likewise.
27222 (grub_video_fb_get_info_and_fini): Likewise.
27223 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
27224 (CRTC_DATA_PORT): Likewise.
27225 (CRTC_CURSOR): Likewise.
27226 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27227 (CRTC_CURSOR_ADDR_LOW): Likewise.
27228 (CRTC_CURSOR_DISABLE): Likewise.
27229 (update_cursor): Use grub_vga_cr_write.
27230 (grub_vga_text_setcursor): Likewise.
27231 * video/bochs.c: New file.
27232 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
27233 (palette): Likewise.
27234 (palette_size): Likewise.
27235 (framebuffer): New variable.
27236 (grub_video_fb_init): Use 'framebuffer'.
27237 (grub_video_fb_fini): Likewise.
27238 (grub_video_fb_get_info): Likewise.
27239 (grub_video_fb_get_palette): Likewise.
27240 (grub_video_fb_set_palette): Likewise.
27241 (grub_video_fb_set_viewport): Likewise.
27242 (grub_video_fb_get_viewport): Likewise.
27243 (grub_video_fb_map_color): Likewise.
27244 (grub_video_fb_map_rgb): Likewise.
27245 (grub_video_fb_map_rgba): Likewise.
27246 (grub_video_fb_unmap_color): Likewise.
27247 (grub_video_fb_unmap_color_int): Likewise.
27248 (grub_video_fb_fill_rect): Likewise.
27249 (grub_video_fb_blit_bitmap): Likewise.
27250 (grub_video_fb_blit_render_target): Likewise.
27251 (grub_video_fb_scroll): Likewise.
27252 (grub_video_fb_create_render_target): Likewise.
27253 (grub_video_fb_doublebuf_blit_init): Likewise.
27254 (grub_video_fb_set_active_render_target): Handle doublebuffering.
27255 (doublebuf_pageflipping_update_screen): New function.
27256 (doublebuf_pageflipping_init): Likewise.
27257 (grub_video_fb_setup): Likewise.
27258 (grub_video_fb_swap_buffers): Likewise.
27259 (grub_video_fb_get_info_and_fini): Likewise.
27260 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
27261 All users updated.
27262 (doublebuf_pageflipping_commit): Restructured into ...
27263 (doublebuf_pageflipping_set_page): ... this.
27264 (doublebuf_pageflipping_update_screen): Removed.
27265 (doublebuf_pageflipping_init): Likewise.
27266 (double_buffering_init): Likewise.
27267 (grub_video_vbe_setup): Use grub_video_fb_setup.
27268 (grub_video_vbe_swap_buffers): Removed.
27269 (grub_video_vbe_set_active_render_target): Likewise.
27270 (grub_video_vbe_get_active_render_target): Likewise.
27271 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
27272 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
27273 grub_video_fb_set_active_render_target and
27274 grub_video_fb_get_active_render_target.
27275 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
27276 (SEQUENCER_DATA_PORT): Likewise.
27277 (MAP_MASK_REGISTER): Likewise.
27278 (CRTC_ADDR_PORT): Likewise.
27279 (CRTC_DATA_PORT): Likewise.
27280 (START_ADDR_HIGH_REGISTER): Likewise.
27281 (START_ADDR_LOW_REGISTER): Likewise.
27282 (GRAPHICS_ADDR_PORT): Likewise.
27283 (GRAPHICS_DATA_PORT): Likewise.
27284 (READ_MAP_REGISTER): Likewise.
27285 (INPUT_STATUS1_REGISTER): Likewise.
27286 (INPUT_STATUS1_VERTR_BIT): Likewise.
27287 (get_map_mask): Use grub_vga_sr_read.
27288 (set_map_mask): Use grub_vga_sr_write.
27289 (set_read_map): Use grub_vga_gr_write.
27290 (set_start_address): Use grub_vga_cr_write.
27291 * video/sm712.c (framebuffer): Remove leftover fields.
27292
4321c64a
CW
272932010-06-20 Colin Watson <cjwatson@ubuntu.com>
27294
27295 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
27296 setting GRUB_VIDEO_BACKEND. Make it available as a user override
27297 instead. Replace the gfxterm backend check with a check that
27298 ${GRUB_PREFIX}/video.lst is non-empty.
27299 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
27300 again.
27301 (load_video): New generated function. Call it before loading
27302 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
27303 * util/grub.d/10_linux.in (linux_entry): Call load_video.
27304 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
27305 * docs/grub.texi (Simple configuration): Document
27306 GRUB_VIDEO_BACKEND.
27307
273082010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27309
27310 Use video functions in linux and xnu loaders.
27311
27312 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
27313 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
27314 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
27315 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
27316 loader/i386/pc/linux.c.
27317 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
27318 (find_line_len): Removed.
27319 (find_framebuf): Likewise.
27320 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
27321 * loader/i386/efi/xnu.c: Removed.
27322 * loader/i386/pc/xnu.c: Moved from here...
27323 * loader/i386/xnu.c: ...here.
27324
27325 Enable priorities in video drivers.
27326
27327 * include/grub/video.h (grub_video_adapter_prio_t): New type.
27328 (grub_video_adapter): New field prio.
27329 (grub_video_register): Respect prio when inserting.
27330 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
27331 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
27332 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
27333 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
27334 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
27335 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
27336 * video/sm712.c (grub_video_sm712_adapter): Likewise.
27337
27338 Fix SDL driver ID.
27339
27340 * include/grub/video.h (grub_video_driver_id_t): New value
27341 GRUB_VIDEO_DRIVER_SDL.
27342 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
27343
7d24e434
CW
273442010-06-17 Colin Watson <cjwatson@ubuntu.com>
27345
27346 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
27347 argument to printf.
27348 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27349
c88a83f6
CW
273502010-06-17 Colin Watson <cjwatson@ubuntu.com>
27351
27352 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
27353 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27354
094dfb69
CW
273552010-06-17 Colin Watson <cjwatson@ubuntu.com>
27356
27357 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
27358 directly, and recommend grub-install instead.
27359 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27360
2164da6b
CW
273612010-06-17 Colin Watson <cjwatson@ubuntu.com>
27362
27363 Fix i386-pc prefix handling with nested partitions (Debian bug
27364 #585068). Note that the case where the core image is booted using
27365 multiboot and relocated from its original location still requires
27366 more work.
27367
27368 * kern/i386/pc/init.c (make_install_device): If the prefix starts
27369 with "(,", fill the boot drive in between those two characters, but
27370 expect that a full partition specification including partition map
27371 names will follow.
27372 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
27373 specified, write a prefix without the drive name but including a
27374 full partition specification.
27375
044e2e60
CW
273762010-06-16 Colin Watson <cjwatson@ubuntu.com>
27377
27378 * util/grub-mkconfig.in: Ignore non-option arguments, for
27379 compatibility with older versions (before 2010-06-12) which did the
27380 same. In particular, this makes it easier to ship an update-grub
27381 wrapper which is compatible with that used with GRUB Legacy (Debian
27382 bug #586056).
27383
5591324f
GS
273842010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27385
27386 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
27387 for manual page generation.
27388
662e24d5
GS
273892010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27390
27391 * po/POTFILES: Remove leftover commands/handler.c.
27392
8d70754e
CW
273932010-06-14 Colin Watson <cjwatson@ubuntu.com>
27394
27395 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
27396 left this script non-functional.
27397
41160e2e
CW
273982010-06-14 Colin Watson <cjwatson@ubuntu.com>
27399
27400 * docs/man/grub-emu.h2m: New file.
27401
b5309cc1
CW
274022010-06-13 Colin Watson <cjwatson@ubuntu.com>
27403
27404 * docs/grub.texi (Commands): Document reduced command set in rescue
27405 mode.
27406 (cpuid): New section.
27407
fcb2d090
GS
274082010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
27409
27410 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
27411 new partition naming style.
27412 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
27413
96e5c556
BC
274142010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
27415
27416 Add "-o grub.iso" like cmdline options support.
27417
27418 * util/grub-install.in: Improve cmdline option parsing.
27419 * util/grub-mkconfig.in: Likewise.
27420 * util/grub-mkrescue.in: Likewise.
27421 * util/grub-reboot.in: Likewise.
27422 * util/grub-set-default.in: Likewise.
27423 * util/i386/efi/grub-install.in: Likewise.
27424 * util/ieee1275/grub-install.in: Likewise.
27425 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27426
c16be99b
CW
274272010-06-12 Colin Watson <cjwatson@ubuntu.com>
27428
27429 * .bzrignore: Ignore 41_custom.
27430
ce08a9fb
TS
274312010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27432
27433 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
27434
7beac90c
CW
274352010-06-12 Colin Watson <cjwatson@ubuntu.com>
27436
27437 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
27438 prototype declarations.
27439
27440 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
27441 generating fs, partmap, and video lists.
27442 * include/grub/fs.h (grub_fs_register): Omit prototype if
27443 GRUB_LST_GENERATOR is defined.
27444 * include/grub/partition.h (grub_partition_map_register): Likewise.
27445 * include/grub/video.h (grub_video_register): Likewise.
27446
1c8f0f8d
JM
274472010-06-12 Javier Martín <lordhabbit@gmail.com>
27448
27449 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
27450
a6085973
TS
274512010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27452
27453 * util/grub-mkrescue.in: Support --xorriso argument.
27454
25c56d29
VS
274552010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27456
27457 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
27458 Suggested by: Thomas Schmitt.
27459
e03e4b24
VS
274602010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27461
27462 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
27463 Suggested by: Thomas Schmitt.
27464
57711df6
VS
274652010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27466
27467 custom.cfg support.
27468
27469 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
27470 * util/grub.d/41_custom.in: New file.
27471
ee62c427
CW
274722010-06-12 Colin Watson <cjwatson@ubuntu.com>
27473
27474 * util/grub-mkrescue.in (make_image): Remove sh module, which has
27475 been merged back into normal.
27476
283af07a
CW
274772010-06-11 Colin Watson <cjwatson@ubuntu.com>
27478
27479 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
27480 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
27481
56a0d956
CW
274822010-06-11 Colin Watson <cjwatson@ubuntu.com>
27483
27484 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
27485 when generating manual pages.
27486 * docs/man/grub-bin2h.h2m: New file.
27487 * docs/man/grub-editenv.h2m: New file.
27488 * docs/man/grub-fstest.h2m: New file.
27489 * docs/man/grub-install.h2m: New file.
27490 * docs/man/grub-macho2img.h2m: New file.
27491 * docs/man/grub-mkconfig.h2m: New file.
27492 * docs/man/grub-mkdevicemap.h2m: New file.
27493 * docs/man/grub-mkfont.h2m: New file.
27494 * docs/man/grub-mkimage.h2m: New file.
27495 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
27496 * docs/man/grub-mkrelpath.h2m: New file.
27497 * docs/man/grub-mkrescue.h2m: New file.
27498 * docs/man/grub-ofpathname.h2m: New file.
27499 * docs/man/grub-pe2elf.h2m: New file.
27500 * docs/man/grub-probe.h2m: New file.
27501 * docs/man/grub-reboot.h2m: New file.
27502 * docs/man/grub-script-check.h2m: New file.
27503 * docs/man/grub-set-default.h2m: New file.
27504 * docs/man/grub-setup.h2m: New file.
27505
3a37e322
VS
275062010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
27507
27508 Use FOR_* macros instead of *_iterate whenever possible.
27509
27510 * commands/handler.c: Removed.
27511 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
27512 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
27513 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27514 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
27515 (grub_probe_SOURCES): Remove kern/parser.c.
27516 (util/grub-script-check.c_DEPENDENCIES): Removed.
27517 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
27518 and grub_script_check_init.c.
27519 (grub_script_check_init.lst): Removed.
27520 (grub_script_check_init.h): Likewise.
27521 (grub_script_check_init.c): Likewise.
27522 (pkglib_MODULES): Remove handler.mod and sh.mod.
27523 (handler_mod_SOURCES): Removed.
27524 (handler_mod_CFLAGS): Likewise.
27525 (handler_mod_LDFLAGS): Likewise.
27526 (normal_mod_SOURCES): Remove normal/handler.c.
27527 Add script/main.c, script/script.c, script/execute.c,
27528 script/function.c, script/lexer.c, grub_script.tab.c
27529 and grub_script.yy.c.
27530 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27531 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27532 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
27533 (grub_setup_SOURCES): Remove kern/parser.c.
27534 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27535 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
27536 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
27537 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27538 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27539 (grub_setup_SOURCES): Remove kern/parser.c.
27540 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27541 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
27542 * include/grub/command.h (grub_command_iterate): Removed.
27543 (FOR_COMMANDS): New macro.
27544 * include/grub/dl.h (grub_dl): New member next.
27545 (grub_dl_iterate): Removed.
27546 (grub_dl_head): New variable declaration.
27547 (FOR_DL_MODULES): New macro.
27548 * include/grub/fs.h: Include list.h.
27549 (grub_fs): Make next first element.
27550 (grub_fs_list): New variable declaration.
27551 (grub_fs_register): Make inline.
27552 (grub_fs_unregister): Likewise.
27553 (grub_fs_iterate): Removed.
27554 (FOR_FILESYSTEMS): New macro.
27555 * include/grub/handler.h: Removed.
27556 * include/grub/list.h (grub_list_hook_t): Removed.
27557 (grub_list_test_t): Likewise.
27558 (grub_list_pop): Likewise.
27559 (grub_list_iterate): Likewise.
27560 (grub_list_insert): Likewise.
27561 (FOR_LIST_ELEMENTS): New macro.
27562 * include/grub/parser.h (grub_parser_class): Removed.
27563 (grub_parser_register): Likewise.
27564 (grub_parser_unregister): Likewise.
27565 (grub_parser_get_current): Likewise.
27566 (grub_parser_set_current): Likewise.
27567 (grub_register_rescue_parser): Likewise.
27568 (grub_rescue_parse_line): New function.
27569 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
27570 * include/grub/script_sh.h (grub_script_function_list): New variable
27571 declaration.
27572 (FOR_SCRIPT_FUNCTIONS): New macro.
27573 (grub_script_function_iterate): Removed.
27574 (grub_normal_parse_line): New prototype.
27575 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
27576 (FOR_DISABLED_TERM_INPUTS): Likewise.
27577 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27578 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27579 * include/grub/video.h (grub_video_adapter): Move 'next' to first
27580 element.
27581 (grub_video_register): Inline.
27582 (grub_video_unregister): Likewise.
27583 (grub_video_adapter_list): New variable declaration.
27584 (grub_video_iterate): Removed.
27585 (FOR_VIDEO_ADAPTERS): New macro.
27586 * kern/dl.c (grub_dl_list): Removed. All users updated.
27587 (grub_dl_iterate): Removed.
27588 * kern/fs.c (grub_fs_list): Make global.
27589 (grub_fs_register): Removed.
27590 (grub_fs_unregister): Likewise.
27591 (grub_fs_iterate): Likewise.
27592 * kern/handler.c: Removed.
27593 * kern/list.c (grub_list_pop): Removed.
27594 (grub_list_iterate): Likewise.
27595 (grub_list_insert): Likewise.
27596 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
27597 (grub_prio_list_insert): Don't use grub_list_insert.
27598 * kern/main.c (grub_register_rescue_parser): Don't call
27599 grub_register_rescue_parser.
27600 * kern/parser.c (grub_parser_class): Removed.
27601 (grub_parser_execute): Use grub_rescue_parse_line.
27602 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
27603 (grub_rescue_parser): Removed.
27604 (grub_register_rescue_parser): Likewise.
27605 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
27606 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
27607 (grub_auth_check_authentication): Likewise.
27608 * normal/completion.c (iterate_command): Removed.
27609 (grub_normal_do_completion): Use FOR_COMMANDS.
27610 * normal/handler.c: Removed.
27611 * normal/main.c (read_config_file): Remove parser changing.
27612 (grub_normal_execute): Don't call read_handler_list.
27613 (grub_normal_read_line_real): Statically allocate prompt.
27614 (grub_cmdline_run): Use grub_normal_parse_line.
27615 (GRUB_MOD_FINI): Don't call free_handler_list.
27616 * normal/menu_entry.c (run): Likewise.
27617 * script/function.c (grub_script_function_list): Make global.
27618 (grub_script_function_iterate): Removed.
27619 * script/main.c (grub_normal_parse_line): Make global.
27620 (grub_sh_parser): Removed.
27621 (GRUB_MOD_INIT): Likewise.
27622 (GRUB_MOD_FINI): Likewise.
27623 * tests/lib/functional_test.c (grub_functional_test): Use
27624 FOR_LIST_ELEMENTS.
27625 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
27626 (grub_test_run): Use FOR_LIST_ELEMENTS.
27627 * tests/lib/unit_test.c (main): Likewise.
27628 * util/deviceiter.c (grub_util_iterate_devices): Don't use
27629 grub_list_pop.
27630 * util/grub-fstest.c (grub_term_input_class): Removed.
27631 (grub_term_output_class): Likewise.
27632 * util/grub-probe.c: Likewise.
27633 * util/i386/pc/grub-setup.c: Likewise.
27634 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27635 * util/grub-script-check.c (main): Don't call grub_init_all and
27636 grub_fini_all.
27637 * video/video.c (grub_video_adapter_list): Make global.
27638 (grub_video_register): Removed.
27639 (grub_video_unregister): Likewise.
27640 (grub_video_iterate): Likewise.
27641
6289c3a7
VS
276422010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
27643
27644 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
27645 reported by Henrique Ferreiro.
27646
91460247
RM
276472010-06-09 Robert Millan <rmh@gnu.org>
27648
27649 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
27650 ones, when both are available.
27651
0ea7c4f9
GS
276522010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27653
27654 Make --version uniform and avoid hard-coded program name.
27655
27656 * util/grub-mkimage.c (main): Use `program_name' instead of
27657 hard-coded string.
27658 * util/i386/pc/grub-setup.c (main): Likewise.
27659 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
27660 * util/grub-install.in: Save the basename of $0 in $self, and use the
27661 latter in informational messages. Use the same format for --version
27662 as the binary programs.
27663 * util/grub-mkconfig.in: Likewise.
27664 * util/grub-mkrescue.in: Likewise.
27665 * util/grub-reboot.in: Likewise.
27666 * util/grub-set-default.in: Likewise.
27667 * util/i386/efi/grub-install.in: Likewise.
27668 * util/ieee1275/grub-install.in: Likewise.
27669 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27670
e8a6f3b6
GS
276712010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27672
27673 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
27674 embedding area. Use <= instead of == when checking for non-emptiness.
27675
f4d095d7
GS
276762010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27677
27678 * configure.ac: Add `.' to the directories searched for unifont.
27679
50e532ca
CW
276802010-06-08 Colin Watson <cjwatson@ubuntu.com>
27681
27682 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
27683 grub_script.yy.h.
27684
d39f3dec
CW
276852010-06-08 Colin Watson <cjwatson@ubuntu.com>
27686
27687 * docs/grub.texi (History): Expand to cover GRUB 2.
27688 (Serial terminal): Refer to `terminal_input' and `terminal_output'
27689 commands, not `terminal'.
27690 (serial): Likewise.
27691 (terminal_input): New section.
27692 (terminal_output): New section.
27693 (uppermem): New section (stub).
27694 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
27695
6ef0ddb4
CW
276962010-06-08 Colin Watson <cjwatson@ubuntu.com>
27697
27698 * docs/grub.texi (Security): Menu entries are unrestricted by
27699 default, not restricted to superusers as I had previously thought.
27700 Reword to account for this.
27701
e0f4c438
CW
277022010-06-07 Colin Watson <cjwatson@ubuntu.com>
27703
27704 * kern/emu/misc.c (device_mapper_null_log): New function.
27705 (grub_device_mapper_supported): New function.
27706 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
27707 prototype.
27708 * kern/emu/hostdisk.c (find_partition_start): Check whether
27709 device-mapper is supported before trying to use it.
27710 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
27711
da908200
CW
277122010-06-07 Colin Watson <cjwatson@ubuntu.com>
27713
27714 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
27715 (File name syntax): Likewise.
27716 (help): --all is no longer supported in GRUB 2. Be more precise
27717 about pattern matching.
27718
fb55c3ac
CW
277192010-06-07 Colin Watson <cjwatson@ubuntu.com>
27720
27721 * normal/completion.c (grub_normal_do_completion): When completing
27722 arguments to "set" and the current word contains an equals sign,
27723 skip to after the equals sign before starting completion.
27724
258c2573
CW
277252010-06-07 Colin Watson <cjwatson@ubuntu.com>
27726
27727 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
27728
ee75515e
CW
277292010-06-07 Colin Watson <cjwatson@ubuntu.com>
27730
27731 * docs/grub.texi (Network): New section.
27732 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
27733 `(nd)' as in GRUB Legacy.
27734 (pxe_unload): New section.
27735
a6a700aa
CW
277362010-06-07 Colin Watson <cjwatson@ubuntu.com>
27737
27738 * docs/grub.texi (Troubleshooting): `echo' is not usually available
27739 in the rescue shell, so recommend using `set' instead. Thanks,
27740 Jordan Uggla.
27741
4003dd38
CW
277422010-06-07 Colin Watson <cjwatson@ubuntu.com>
27743
27744 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
27745 (password): New section.
27746 (password_pbkdf2): New section.
27747 (search): New section.
27748 (Security): New section.
27749 (Troubleshooting): New section, currently very incomplete.
27750 (Invoking grub-mkpasswd-pbkdf2): New section.
27751 (Internals): New section, currently very incomplete.
27752
e1cbcc40
CW
277532010-06-07 Colin Watson <cjwatson@ubuntu.com>
27754
27755 * util/grub.d/00_header.in: Add some more quoting (of
27756 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
27757 work again.
27758 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
27759
db8fa1ad
CW
277602010-06-07 Colin Watson <cjwatson@ubuntu.com>
27761
27762 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
27763 to `count', fixing variable shadowing that broke the -c option.
27764
277652010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
27766
27767 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
27768 in case they contain spaces.
27769
f28a9212
CW
277702010-06-04 Colin Watson <cjwatson@ubuntu.com>
27771
27772 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
27773 "part_" to partmap module names, in line with grub-install.
27774 Reported by: Jindřich Makovička (Debian bug #584426).
27775
9cdfe32f
CW
277762010-06-04 Colin Watson <cjwatson@ubuntu.com>
27777
27778 * util/grub-mkimage.c: Make target-related error messages slightly
27779 more helpful; -O talks about "format". Explicitly point to the use
27780 of -O if no target is specified.
27781 Reported by: Didier Raboud (Debian bug #584415).
27782
795b593a
CW
277832010-06-03 Colin Watson <cjwatson@ubuntu.com>
27784
27785 * INSTALL: Document several build requirements for optional features
27786 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
27787
9d9b5833
GS
277882010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
27789
27790 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
27791 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
27792 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
27793
0819fec8
CW
277942010-06-02 Colin Watson <cjwatson@ubuntu.com>
27795
27796 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
27797 Thanks to Jordan Uggla for spotting this.
27798
49396b4f
VS
277992010-06-02 Aleš Nesrsta <starous@volny.cz>
27800
27801 Finally make USB usable.
27802
27803 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
27804 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
27805 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
27806 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
27807 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
27808 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
27809 (GRUB_OHCI_FSMPS): Likewise.
27810 (GRUB_OHCI_PERIODIC_START): Likewise.
27811 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
27812 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
27813 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
27814 (GRUB_OHCI_SET_PORT_RESET): Likewise.
27815 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
27816 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
27817 (grub_ohci_transaction): Likewise.
27818 (grub_ohci_transfer): Improve condition detection algorithms.
27819 Handle toggle property. Program the transactions correctly.
27820 Improve error handling. Various important fixups.
27821 (grub_ohci_portstatus): Put register writes in right order.
27822 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
27823 (grub_uhci_transfer): Don't show "failed" message on success.
27824 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
27825 array.
27826 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
27827 determine its size.
27828 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
27829 before initialization is completed. Use IN direction for empty
27830 transfers. Use last_trans and compute toggle.
27831 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
27832 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
27833 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
27834 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
27835 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
27836 (grub_usb_device): Increase toggle to 256.
27837 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
27838 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
27839 GRUB_USBMS_SUBCLASS_SFF8070.
27840 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
27841 (grub_scsi_inquiry): New member page and alloc_length.
27842 (grub_scsi_request_sense): New structure.
27843 (grub_scsi_request_sense_data): Likewise.
27844 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
27845 control.
27846 * disk/scsi.c (grub_scsi_request_sense): New function.
27847 (grub_scsi_test_unit_ready): Likewise.
27848 (grub_scsi_inquiry): Fill new fields.
27849 (grub_scsi_read_capacity): Likewise.
27850 (grub_scsi_read10): Add request sense at the end.
27851 (grub_scsi_read12): Likewise.
27852 (grub_scsi_write10): Likewise.
27853 (grub_scsi_write12): Likewise.
27854 (grub_scsi_open): Add Test Unit Ready.
27855 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
27856 Support additional subclasses. Con't clear halt yet. Activate the
27857 proper config. Calculate LUNs correctly.
27858 (grub_usbms_transfer): Various important fixups.
27859
278602010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27861
27862 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
27863 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
27864 (grub_ohci_fini_hw): New function.
27865 (grub_ohci_restore_hw): Likewise.
27866 (GRUB_MOD_INIT(ohci)): Register preboot hook.
27867 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
27868 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
27869
278702010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27871
27872 Dedicated DMA allocations.
27873
27874 * bus/pci.c (grub_memalign_dma32): New function
27875 (grub_dma_free): Likewise.
27876 (grub_dma_get_virt): Likewise.
27877 (grub_dma_get_phys): Likewise.
27878 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
27879 (grub_ohci_pci_iter): Use dma32_alloc.
27880 (grub_ohci_transfer): Likewise.
27881 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
27882 (grub_usb_bulk_readwrite): Likewise.
27883 * include/grub/pci.h: Add declarations.
27884
278852010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27886
27887 CS5536 support.
27888
27889 * bus/cs5536.c: New file.
27890 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
27891 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
27892 (cs5536_mod_SOURCES): New variable.
27893 (cs5536_mod_CFLAGS): Likewise.
27894 (cs5536_mod_LDFLAGS): Likewise.
27895 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
27896 machine/pci.h.
27897 (kernel_img_SOURCES): Add bus/cs5536.c.
27898 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
27899 usb_keyboard.mod.
27900 (usb_mod_SOURCES): New variable.
27901 (usb_mod_CFLAGS): New variable.
27902 (usb_mod_LDFLAGS): New variable.
27903 (usbtest_mod_SOURCES): New variable.
27904 (usbtest_mod_CFLAGS): New variable.
27905 (usbtest_mod_LDFLAGS): New variable.
27906 (ohci_mod_SOURCES): New variable.
27907 (ohci_mod_CFLAGS): New variable.
27908 (ohci_mod_LDFLAGS): New variable.
27909 (usbms_mod_SOURCES): New variable.
27910 (usbms_mod_CFLAGS): New variable.
27911 (usbms_mod_LDFLAGS): New variable.
27912 (usb_keyboard_mod_SOURCES): New variable.
27913 (usb_keyboard_mod_CFLAGS): New variable.
27914 (usb_keyboard_mod_LDFLAGS): New variable.
27915 * include/grub/smbus.h: New file.
27916 * include/grub/cs5536.h: New file.
27917
0b35b2a9
CW
279182010-06-02 Colin Watson <cjwatson@ubuntu.com>
27919
27920 * util/grub.d/00_header.in: Add safety check to make sure that
27921 ${locale_dir} exists before trying to probe it.
27922
ca0afd5b
CW
279232010-06-02 Colin Watson <cjwatson@ubuntu.com>
27924
27925 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
27926 per the GNU Coding Standards; this is now too obscure to be worth
27927 documenting.
27928 (QNX): Likewise.
27929 (chainloader): Remove cross-reference to `SCO UnixWare'.
27930
1c41aa78
CW
279312010-06-02 Colin Watson <cjwatson@ubuntu.com>
27932
27933 * docs/grub.texi (Chain-loading): New section.
27934 (DOS/Windows): New section, borrowed from GRUB Legacy with details
27935 adjusted for GRUB 2.
27936 (SCO UnixWare): Likewise.
27937 (QNX): Likewise.
27938 (chainloader): Add reference to `Block list syntax'.
27939 (drivemap): New section.
27940 (parttool): New section.
27941
bb8ea0f5
CW
279422010-06-02 Colin Watson <cjwatson@ubuntu.com>
27943
27944 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
27945 the grub shell'.
27946 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
27947 (Installing GRUB using grub-install): Remove reference to the grub
27948 shell; mention `grub-mkimage' and `grub-setup' instead.
27949 (Invoking grub-install): Likewise.
27950 (Interface): Add reference to `Menu entry editor'.
27951 (serial): Remove `--device' option.
27952
288dd6ed
CW
279532010-06-02 Colin Watson <cjwatson@ubuntu.com>
27954
27955 * docs/grub.texi (Configuration): New section, documenting
27956 configuration file generation using grub-mkconfig. I've left a slot
27957 for documenting the full shell scripting format but have not yet
27958 started on writing that up.
27959 (Invoking grub-mkconfig): New section.
27960
34c9f0e9
CW
279612010-06-02 Colin Watson <cjwatson@ubuntu.com>
27962
27963 * docs/grub.texi (direntry): Remove grub-terminfo reference.
27964 (GNU GRUB manual): Likewise.
27965 (General commands): Update description of `terminfo' for GRUB 2.
27966
9121567e
CW
279672010-06-02 Colin Watson <cjwatson@ubuntu.com>
27968
27969 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
27970 (GRUB_MOD_INIT): Fix capitalisation.
27971 * docs/grub.texi (Command-line and menu entry commands): Document
27972 gettext and gptsync commands.
27973
ab631611
CW
279742010-06-02 Colin Watson <cjwatson@ubuntu.com>
27975
27976 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
27977 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
27978
bde4a9ac
CW
279792010-06-01 Colin Watson <cjwatson@ubuntu.com>
27980
27981 Add btrfs probing support, currently only in the single-device case.
27982
27983 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
27984 function.
27985 (grub_guess_root_device): Call find_root_device_from_mountinfo
27986 before looking in /dev.
27987
b1d17e10
VS
279882010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27989
27990 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
27991 GRUB_DISK_SIZE_UNKNOWN.
27992 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
27993
dfbfe004
JS
279942010-05-31 Jiro SEKIBA <jir@unicus.jp>
27995
27996 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
27997 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
27998 corrupted or not synced properly.
27999
c2ffc8e9
VS
280002010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28001
28002 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
28003 Reported by: Seth Goldberg.
28004
56293166
VS
280052010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28006
28007 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
28008 addition of dest.
28009 Reported by: Seth Goldberg.
28010
7620e7de
VS
280112010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28012
28013 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
28014 Reported by: Seth Goldberg.
28015
c837af3f
VS
280162010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28017
28018 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
28019 64-bit address as signed on MIPS.
28020
c7c75cf4
CW
280212010-05-28 Colin Watson <cjwatson@ubuntu.com>
28022
28023 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
28024 to the empty string.
28025
fa4b8490
BC
280262010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
28027
28028 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
28029
28030 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
28031 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
28032 * kern/misc.c (__enable_execute_stack): Disable on
28033 GRUB_MACHINE_EMU.
28034
a33075b9
CW
280352010-05-28 Colin Watson <cjwatson@ubuntu.com>
28036
28037 Make grub-probe work with symbolic links under /dev/mapper as well
28038 as with real block devices. The Linux world seems to be (at best)
28039 in transition here, and GRUB shouldn't get caught in the middle.
28040
28041 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
28042 /dev/mapper.
28043
d8708134
CW
280442010-05-27 Colin Watson <cjwatson@ubuntu.com>
28045
28046 * util/grub-script-check.c (main): Ensure defined behaviour on empty
28047 input files (in which case exit zero).
28048
db2102a0
CW
280492010-05-27 Colin Watson <cjwatson@ubuntu.com>
28050
28051 * kern/emu/misc.c (canonicalize_file_name): realpath can still
28052 return NULL for various reasons even if it has a maximum-length
28053 buffer: for example, there might be a symlink loop, or the path
28054 might exceed PATH_MAX. If this happens, return NULL.
28055
5fdba519
RM
280562010-05-27 Robert Millan <rmh@gnu.org>
28057
28058 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
28059 partmap module to handle cross-partmap setups.
28060 Reported by Orestes Mas. Gràcies!
28061
d1d368e4
CW
280622010-05-27 Colin Watson <cjwatson@ubuntu.com>
28063
28064 * util/grub-mkrescue.in: Initialise override_dir rather than
28065 assuming that it's unset or empty in the environment.
28066
95ac3c73
GS
280672010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
28068
28069 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
28070 variable index into p_index to suppress a warning with -Wshadow.
28071
7d8c0213
BC
280722010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
28073
28074 * INSTALL: Added flex >= 2.5.35 requirement.
28075
db4d5813
VS
280762010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28077
28078 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
28079
f24f4300
VS
280802010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28081
28082 cmostest support.
28083
28084 * commands/i386/cmostest.c: New file.
28085 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
28086 (cmostest_mod_SOURCES): New variable.
28087 (cmostest_mod_CFLAGS): Likewise.
28088 (cmostest_mod_LDFLAGS): Likewise.
28089 * conf/i386-pc.rmk: Likewise.
28090 * docs/grub.texi (Vendor power-on keys): New section.
28091 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
28092 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
28093 and GRUB_BUTTON_CMOS_ADDRESS.
28094 * util/grub.d/00_header.in: Handle powering-on by separate button.
28095
ad603f61
VS
280962010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28097
28098 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
28099 Removed drawing_scrollbar argument. All users updated
28100 Fixes #29792.
28101 Reported by Jo Shields
28102
3ecb080a
VS
281032010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28104
28105 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
28106 buffer since gfxterm handles double repaint.
28107
5f2316c1
VS
281082010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28109
28110 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
28111 * term/gfxterm.c (real_scroll): Likewise.
28112
9a25f885
VS
281132010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28114
28115 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
28116 before calling BIOS.
28117
39fbb79a
VS
281182010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28119
28120 * include/grub/i18n.h: Always enable grub_gettext.
28121
228cfa97
VS
281222010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28123
28124 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
28125 partition naming style.
28126
21717c8f
CW
281272010-05-21 Colin Watson <cjwatson@ubuntu.com>
28128
28129 * util/grub-mkconfig.in: Fix handling of -o so that it works when
28130 not the first option.
28131
c0f48e65
CW
281322010-05-20 Colin Watson <cjwatson@ubuntu.com>
28133
28134 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
28135
96779aec
CW
281362010-05-20 Colin Watson <cjwatson@ubuntu.com>
28137
28138 * util/misc.c: Move inclusion of <limits.h> to ...
28139 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
28140
fa9d256e
GS
281412010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
28142
28143 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
28144 Fix merge error in NetBSD code.
28145 (find_partition_start) [__NetBSD__]: Likewise.
28146
123b7a85
BC
281472010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
28148
28149 Fix grub-mkrescue usage unit testing.
28150
28151 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
28152
74276c0d
CF
281532010-05-18 Christian Franke <franke@computer.org>
28154
28155 * util/grub.d/10_windows.in: Use path names instead of
28156 drive letters to prevent warning from Cygwin 1.7.
28157 Add drivemap command to menuentry if needed.
28158
c4f7b523
ST
281592010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
28160
28161 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
28162 gnumach and gnumach.gz.
28163
95b97950
VS
281642010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28165
28166 * include/grub/i18n.h (gettext): Inline instead of using #define.
28167 (grub_gettext): Likewise.
28168 (_): Likewise.
28169
01b8d2d7
VS
281702010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28171
28172 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
28173 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
28174 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
28175 (main): Add a slash after pkglibdirroot.
28176
654e1d1e
VS
281772010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28178
28179 * util/grub-install.in: Add missing "in" keyword.
28180
26966aeb
VS
281812010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28182
28183 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
28184 Reported by: Seth Goldberg.
28185
75006747
VS
281862010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28187
28188 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
28189
74cbf5bd
CW
281902010-05-18 Colin Watson <cjwatson@ubuntu.com>
28191
28192 * configure.ac: Check for Linux device-mapper support.
28193
28194 * util/hostdisk.c (device_is_mapped): New function.
28195 (find_partition_start): New function, partly broken out from
28196 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
28197 device-mapper support added.
28198 (linux_find_partition): Use find_partition_start.
28199 (convert_system_partition_to_system_disk): Add `st' argument.
28200 Support Linux /dev/mapper/* devices if device-mapper support is
28201 available; only DM-RAID devices are understood at present.
28202 (find_system_device): Add `st' argument. Pass it to
28203 convert_system_partition_to_system_disk.
28204 (grub_util_biosdisk_get_grub_dev): Pass stat result to
28205 find_system_device and convert_system_partition_to_system_disk. Use
28206 find_partition_start.
28207
28208 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
28209 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
28210 * util/deviceiter.c [__linux__]: Define MINOR.
28211 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
28212 * util/mkdevicemap.c (grub_putchar): New function.
28213 (grub_getkey): New function.
28214 (grub_refresh): New function.
28215 (main): Set debug=all if -v -v is used.
28216
355b51e9
CW
282172010-05-18 Colin Watson <cjwatson@ubuntu.com>
28218
28219 Fix build with non-GNU libcs.
28220
28221 * util/misc.c (canonicalize_file_name): Move to ...
28222 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
28223 grub_make_system_path_relative_to_its_root.
28224
7fb5c25f
CW
282252010-05-18 Colin Watson <cjwatson@ubuntu.com>
28226
28227 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
28228 we handle finding grub-mkimage. Default to finding grub-mkimage in
28229 ${bindir} with program_transform_name applied, and provide a
28230 --grub-mkimage option to override this.
28231
1d3293d6
VS
282322010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28233
28234 Remove grub-mkisofs.
28235
28236 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
28237 (grub_mkisofs_SOURCES): Removed.
28238 (grub_mkisofs_CFLAGS): Removed.
28239 * util/mkisofs/defaults.h: Removed.
28240 * util/mkisofs/eltorito.c: Likewise.
28241 * util/mkisofs/exclude.h: Likewise.
28242 * util/mkisofs/hash.c: Likewise.
28243 * util/mkisofs/include/: Likewise.
28244 * util/mkisofs/include/fctldefs.h: Likewise.
28245 * util/mkisofs/include/mconfig.h: Likewise.
28246 * util/mkisofs/include/prototyp.h: Likewise.
28247 * util/mkisofs/include/statdefs.h: Likewise.
28248 * util/mkisofs/iso9660.h: Likewise.
28249 * util/mkisofs/joliet.c: Likewise.
28250 * util/mkisofs/match.c: Likewise.
28251 * util/mkisofs/match.h: Likewise.
28252 * util/mkisofs/mkisofs.c: Likewise.
28253 * util/mkisofs/mkisofs.h: Likewise.
28254 * util/mkisofs/msdos_partition.h: Likewise.
28255 * util/mkisofs/multi.c: Likewise.
28256 * util/mkisofs/name.c: Likewise.
28257 * util/mkisofs/rock.c: Likewise.
28258 * util/mkisofs/tree.c: Likewise.
28259 * util/mkisofs/write.c: Likewise.
28260
5dde9afe
VS
282612010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28262
28263 Unify grub-mkimage accross platforms.
28264
28265 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
28266 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
28267 (grub_mkelfimage_SOURCES): Removed.
28268 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
28269 (util/grub-mkimage.c_DEPENDENCIES): .. this.
28270 (bin_UTILITIES): Add grub-mkimage.
28271 (grub_mkimage_SOURCES): New variable.
28272 (kernel_img_HEADERS): Remove machine/kernel.h.
28273 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
28274 (pkglib_PROGRAMS): Add kernel.img.
28275 (kernel_img_HEADERS): Add machine/kernel.h.
28276 (kernel_img_FORMAT): Removed.
28277 (bin_UTILITIES): Remove grub-mkimage.
28278 (grub_mkimage_SOURCES): Removed.
28279 (grub_mkimage_CFLAGS): Likewise.
28280 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28281 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
28282 (pkglib_PROGRAMS): Add kernel.img.
28283 (bin_UTILITIES): Remove grub-mkimage.
28284 (grub_mkimage_SOURCES): Removed.
28285 (grub_mkimage_CFLAGS): Likewise.
28286 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28287 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
28288 (pkglib_PROGRAMS): Add kernel.img.
28289 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
28290 (pkglib_PROGRAMS): Add kernel.img.
28291 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
28292 (grub_mkimage_SOURCES): Removed.
28293 (grub_mkimage_CFLAGS): Likewise.
28294 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28295 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
28296 (pkglib_PROGRAMS): Add kernel.img.
28297 (bin_UTILITIES): Remove grub-mkimage.
28298 (grub_mkimage_SOURCES): Removed.
28299 (grub_mkimage_CFLAGS): Likewise.
28300 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28301 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
28302 (grub_mkimage_SOURCES): Removed.
28303 (grub_mkimage_CFLAGS): Likewise.
28304 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28305 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
28306 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
28307 (grub_pe32_optional_header): ... this.
28308 (grub_pe64_optional_header): ... and this. All users updated.
28309 (GRUB_PE32_PE32_MAGIC): Split into ..
28310 (GRUB_PE32_PE32_MAGIC): .. this.
28311 (GRUB_PE32_PE64_MAGIC): .. and this.
28312 (GRUB_PE32_SIGNATURE_SIZE): New definition.
28313 * include/grub/elf.h (PT_GNU_STACK): New definition.
28314 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
28315 * include/grub/i386/efi/kernel.h: Likewise.
28316 * include/grub/i386/kernel.h: Likewise.
28317 * include/grub/i386/pc/kernel.h: Likewise.
28318 * include/grub/i386/qemu/boot.h: Likewise.
28319 * include/grub/mips/kernel.h: Likewise.
28320 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28321 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28322 * include/grub/powerpc/kernel.h: Likewise.
28323 * include/grub/sparc64/ieee1275/boot.h: Likewise.
28324 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28325 * include/grub/sparc64/kernel.h: Likewise.
28326 * include/grub/x86_64/efi/kernel.h: Likewise.
28327 * include/grub/x86_64/kernel.h: Likewise.
28328 * include/grub/offsets.h: New file.
28329 * include/grub/kernel.h (grub_module_info): Split into ...
28330 (grub_module_info32): ... this.
28331 (grub_module_info64): ... and this.
28332 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
28333 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
28334 (grub_boot_blocklist): Moved from here ...
28335 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
28336 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
28337 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
28338 * include/grub/types.h (grub_target_to_host16): Removed.
28339 (grub_target_to_host32): Likewise.
28340 (grub_target_to_host64): Likewise.
28341 (grub_host_to_target16): Likewise.
28342 (grub_host_to_target32): Likewise.
28343 (grub_host_to_target64): Likewise.
28344 (grub_host_to_target_addr): Likewise.
28345
28346 Support grub-mkrescue for efi, coreboot and qemu.
28347
28348 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
28349 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
28350 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
28351 * util/grub-mkrawimage.c: Moved from here ...
28352 * util/grub-mkimage.c: ... here. All users updated.
28353 (ALIGN_ADDR): Use image_target.
28354 (TARGET_NO_FIELD): New const.
28355 (image_target_desc): New type.
28356 (image_targets): New array.
28357 (grub_target_to_host64): Use image_target.
28358 (grub_target_to_host32): Likewise.
28359 (grub_target_to_host16): Likewise.
28360 (grub_host_to_target64): Likewise.
28361 (grub_host_to_target32): Likewise.
28362 (grub_host_to_target16): Likewise.
28363 (grub_host_to_target_addr): Likewise.
28364 (generate_image): Handle multiimage.
28365 (main): Require -O parameter. All users updated.
28366 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
28367 util/efi/grub-mkimage.c
28368 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
28369 New option --rom-directory.
28370 Use xorriso.
28371 * util/i386/efi/grub-mkimage.c: Removed.
28372 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
28373 (grub_target_to_host32): Likewise.
28374 (grub_target_to_host64): Likewise.
28375 (grub_host_to_target16): Likewise.
28376 (grub_host_to_target32): Likewise.
28377 (grub_host_to_target64): Likewise.
28378 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
28379 (grub_target_to_host32): Likewise.
28380 (grub_target_to_host64): Likewise.
28381 (grub_host_to_target16): Likewise.
28382 (grub_host_to_target32): Likewise.
28383 (grub_host_to_target64): Likewise.
28384
f4fc97d0
BC
283852010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
28386
28387 Source tree is reorganized for emu build.
28388
28389 * include/grub/util/console.h: Move from here...
28390 * include/grub/emu/console.h: ...to here.
28391 * include/grub/util/getroot.h: Move from here...
28392 * include/grub/emu/getroot.h: ...to here.
28393 * include/grub/util/hostdisk.h: Move from here...
28394 * include/grub/emu/hostdisk.h: ...to here.
28395 * util/console.c: Move from here...
28396 * kern/emu/console.c: ...to here.
28397 * util/getroot.c: Move from here...
28398 * kern/emu/getroot.c: ...to here.
28399 * util/grub-emu.c: Move from here...
28400 * kern/emu/main.c: ...to here.
28401 * util/hostdisk.c: Move from here...
28402 * kern/emu/hostdisk.c: ...to here.
28403 * util/hostfs.c: Move from here...
28404 * kern/emu/hostfs.c: ...to here.
28405 * util/mm.c: Move from here...
28406 * kern/emu/mm.c: ...to here.
28407 * util/pci.c: Move from here...
28408 * bus/emu/pci.c: ...to here.
28409 * util/sdl.c: Move from here...
28410 * video/emu/sdl.c: ...to here.
28411 * util/time.c: Move from here...
28412 * kern/emu/time.c: ...to here.
28413 * util/usb.c: Move from here...
28414 * bus/usb/emu/usb.c: ...to here.
28415
28416 * include/grub/emu/misc.h: New header for grub-emu functions.
28417 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
28418
28419 * conf/any-emu.rmk: Rule updates for above renames.
28420 * conf/common.rmk: Likewise.
28421 * conf/i386-pc.rmk: Likewise.
28422 * conf/i386-qemu.rmk: Likewise.
28423 * conf/mips.rmk: Likewise.
28424 * conf/sparc64-ieee1275.rmk: Likewise.
28425 * conf/x86-efi.rmk: Likewise.
28426
28427 * disk/lvm.h: #include updates for above renames.
28428 * util/grub-mkrelpath.c: Likewise.
28429 * util/grub-probe.c: Likewise.
28430 * util/i386/pc/grub-setup.c: Likewise.
28431 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28432 * kern/emu/console.c: Likewise.
28433 * kern/emu/getroot.c: Likewise.
28434 * kern/emu/hostdisk.c: Likewise.
28435 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
28436
28437 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
28438 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
28439 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
28440 * util/misc.c: Remove grub-emu functions.
28441
cced9145
VS
284422010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
28443
28444 Fix gfxmenu crash.
28445 Reported by: Thorsten Grützmacher.
28446
28447 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
28448 timeout hook.
28449 (circprog_set_property): Register and unregister timeout hook.
28450 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
28451 (label_destroy): Free template. and unregister hook.
28452 (label_set_state): New function.
28453 (label_set_property): Handle templates and hooks.
28454 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
28455 timeout hook.
28456 (progress_bar_set_property): Register and unregister timeout hook.
28457 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
28458 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
28459 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
28460 (update_timeout_visit): Removed.
28461 (update_timeouts): New function.
28462 (redraw_timeouts): Likewise.
28463 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
28464 (grub_gfxmenu_clear_timeout): Likewise.
28465 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
28466 (grub_gfxmenu_timeout_notify): Likewise.
28467 (grub_gfxmenu_timeout_notifications): New external variable.
28468 (grub_gfxmenu_timeout_register): New function.
28469 (grub_gfxmenu_timeout_unregister): Likewise.
28470
c6e5caab
VS
284712010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28472
28473 Transform (broken) vga terminal into (working) vga video driver.
28474
28475 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
28476 video/i386/pc/vga.c.
28477 * include/grub/video.h (grub_video_driver_id):
28478 Add GRUB_VIDEO_DRIVER_VGA.
28479 * term/i386/pc/vga.c: Renamed to ...
28480 * video/i386/pc/vga.c: ...this
28481 (DEBUG_VGA): Removed.
28482 (CHAR_WIDTH): Likewise.
28483 (CHAR_HEIGHT): Likewise.
28484 (TEXT_WIDTH): Likewise.
28485 (TEXT_HEIGHT): Likewise.
28486 (DEFAULT_FG_COLOR): Likewise.
28487 (DEFAULT_BG_COLOR): Likewise.
28488 (colored_char): Likewise.
28489 (xpos): Likewise.
28490 (ypos): Likewise.
28491 (cursor_state): Likewise.
28492 (fg_color): Likewise.
28493 (bg_color): Likewise.
28494 (text_buf): Likewise.
28495 (page): Likewise.
28496 (font): Likewise.
28497 (framebuffer): New variable.
28498 (set_read_map): Disabled.
28499 (setup): New variable.
28500 (is_target): Likewise.
28501 (grub_vga_mod_init): Likewise.
28502 (grub_vga_mod_fini): Likewise.
28503 (check_vga_mem): Likewise.
28504 (write_char): Likewise.
28505 (write_cursor): Likewise.
28506 (scroll_up): Likewise.
28507 (grub_vga_putchar): Likewise.
28508 (grub_vga_getcharwidth): Likewise.
28509 (grub_vga_getwh): Likewise.
28510 (grub_vga_getxy): Likewise.
28511 (grub_vga_gotoxy): Likewise.
28512 (grub_vga_cls): Likewise.
28513 (grub_vga_setcolorstate): Likewise.
28514 (grub_vga_setcursor): Likewise.
28515 (grub_video_vga_init): New function.
28516 (grub_video_vga_setup): Likewise.
28517 (grub_video_vga_fini): Likewise.
28518 (update_target): Likewise.
28519 (grub_video_vga_blit_bitmap): Likewise.
28520 (grub_video_vga_blit_render_target): Likewise.
28521 (grub_video_vga_set_active_render_target): Likewise.
28522 (grub_video_vga_get_active_render_target): Likewise.
28523 (grub_video_vga_swap_buffers): Likewise.
28524 (grub_video_vga_set_palette): Likewise.
28525 (grub_video_vga_get_info_and_fini): Likewise.
28526 (grub_vga_term): Removed.
28527 (grub_video_vga_adapter): New variable.
28528 (GRUB_MOD_INIT): Register a video driver instead of terminal.
28529 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
28530
2bf61a98
VS
285312010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28532
28533 * video/readers/jpeg.c: Indented.
28534
09ddcd11
VS
285352010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28536
28537 Various jpeg cleanups.
28538
28539 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
28540 (grub_jpeg_decode_quan_table): Use sizeof.
28541 (grub_jpeg_decode_du): Use ARRAY_SIZE.
28542
e5507505
PH
285432010-05-05 Peter Hurley <No e-mail available> (tiny change)
28544
28545 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
28546 tables. Ignore non-last ac bit.
28547 (grub_jpeg_decode_quan_table): Likewise.
28548
7e720a9b
VS
285492010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28550
28551 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
28552 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
28553 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28554 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
28555 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
28556 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
28557
a7fc080b
VS
285582010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28559
28560 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
28561 error.
28562
2bf6012d
VS
285632010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28564
28565 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
28566
265d68cd
VS
285672010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28568
28569 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
28570 condition.
28571
285722010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
28573
28574 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
28575 part.
28576
265d68cd 285772010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
28578
28579 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
28580 pointers.
28581
265d68cd 285822010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
28583
28584 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
28585
d1b61374
CF
285862010-05-01 Christian Franke <franke@computer.org>
28587
28588 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
28589 Remove broken Cygwin path conversion.
28590 * util/misc.c: [__CYGWIN__] Add include and define.
28591 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
28592 for Cygwin 1.7.
28593 (make_system_path_relative_to_its_root): Simplify loop, replace early
28594 return by break.
28595 [__CYGWIN__] Add conversion to win32 path.
28596 Include "/" case in trailing slash removal.
28597
3558c6e9
VS
285982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28599
28600 * kern/main.c (grub_load_config): Fix copy-pasted comment.
28601 Reported by: Seth Goldberg
28602
f5f3ff93
VS
286032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28604
28605 * commands/help.c (grub_cmd_help): Fix a typo.
28606 Reported by: Seth Goldberg
28607
d8b5cd40
VS
286082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28609
28610 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
28611 name and add N_.
28612 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
28613 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
28614 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
28615 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
28616 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
28617 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
28618 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28619 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28620 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28621 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28622 * normal/context.c (GRUB_MOD_INIT): Likewise.
28623 * normal/main.c (GRUB_MOD_INIT): Likewise.
28624 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28625 * term/serial.c (GRUB_MOD_INIT): Likewise.
28626 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28627
88c14915
VS
286282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28629
28630 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
28631 extra == 0.
28632
165134bc
VS
286332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28634
28635 * commands/iorw.c: New file.
28636 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
28637 (iorw_mod_SOURCES): New variable.
28638 (iorw_mod_CFLAGS): Likewise.
28639 (iorw_mod_LDFLAGS): Likewise.
28640
c5ac9b32
VS
286412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28642
28643 Hotkey support
28644
28645 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
28646 * normal/main.c (hotkey_aliases): New variable.
28647 (grub_normal_add_menu_entry): Parse "--hotkey".
28648 * normal/menu_text.c (run_menu): Handle hotkeys.
28649
ce60689c
VS
286502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28651
28652 * kern/i386/coreboot/init.c (grub_machine_init): Call
28653 grub_machine_mmap_init on qemu.
28654
0359d006
VS
286552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28656
28657 * boot/i386/qemu/boot.S: Add a missing .code16.
28658
7819a456
VS
286592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28660
28661 Use LBIO on coreboot.
28662
28663 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
28664 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
28665 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
28666 New declaration.
28667 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
28668 grub_machine_mmap_init on coreboot.
28669 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
28670 GRUB_LINUXBIOS_MEMBER_LINK.
28671 (grub_machine_mmap_iterate): Fix declaration.
28672 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
28673
7210dca9
VS
286742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28675
28676 Split coreboot and multiboot ports.
28677
28678 * conf/i386-multiboot.rmk: New file.
28679 * configure.ac: Add multiboot port.
28680 * include/grub/i386/multiboot/boot.h: New file.
28681 * include/grub/i386/multiboot/console.h: Likewise.
28682 * include/grub/i386/multiboot/init.h: Likewise.
28683 * include/grub/i386/multiboot/kernel.h: Likewise.
28684 * include/grub/i386/multiboot/loader.h: Likewise.
28685 * include/grub/i386/multiboot/memory.h: Likewise.
28686 * include/grub/i386/multiboot/serial.h: Likewise.
28687 * include/grub/i386/multiboot/time.h: Likewise.
28688 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
28689 * loader/multiboot.c: Likewise.
28690 * loader/multiboot_mbi2.c: Likewise.
28691 * util/grub-mkrescue.in: Generate multiboot rescue.
28692
6f8aaf68
VS
286932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28694
3080f7a7
VS
28695 * kern/parser.c (grub_parser_execute): Cope with read-only config.
28696
286972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28698
28699 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
28700
28701 * commands/terminal.c (abstract_terminal): New struct.
28702 (handle_command): New function. Based on grub_cmd_terminal_input.
28703 (grub_cmd_terminal_input): Use handle_command.
28704 (grub_cmd_terminal_output): Use handle_command.
28705
a8ebb841
BC
287062010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
28707
28708 Fix comment handling.
28709
28710 * tests/grub_script_comments.in: New testcase.
28711 * conf/tests.rmk: Rules for new testcase.
28712 * script/yylex.l: Updated flex rules.
28713
bb06ba08
ST
287142010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
28715
28716 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
28717 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
28718 if argc is 1.
bb06ba08 28719
cc9d2425
VS
287202010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28721
28722 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
28723 autogen issues.
28724
460d8402
CF
287252010-04-26 Christian Franke <franke@computer.org>
28726
28727 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
28728 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
28729 (grub_get_prefix): Remove function.
28730 * util/grub-emu.c (main): Replace grub_get_prefix () call by
28731 make_system_path_relative_to_its_root ().
28732 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
28733
553c01f9
CF
287342010-04-24 Christian Franke <franke@computer.org>
28735
28736 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
28737 (kernel_img_LDFLAGS): Remove -static-libgcc.
28738
2aec1692
CF
287392010-04-24 Christian Franke <franke@computer.org>
28740
28741 * configure.ac: Do not CHECK_BSS_START_SYMBOL
28742 and CHECK_END_SYMBOL if grub-emu is built.
28743 Unset TARGET_OBJ2ELF if grub-emu is built
28744 without module support.
28745
f67dc308
JS
287462010-04-24 Jiro SEKIBA <jir@unicus.jp>
28747
28748 Nilfs2 support.
28749
28750 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
28751 (grub_fstest_SOURCES): Likewise.
28752 (pkglib_MODULES): Add nilfs2.mod.
28753 (nilfs2_mod_SOURCES): New variable.
28754 (nilfs2_mod_CFLAGS): Likewise.
28755 (nilfs2_mod_LDFLAGS): Likewise.
28756 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28757 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28758 * fs/nilfs2.c: New file.
28759
4ba8d354
VS
287602010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
28761
28762 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
28763 is not supported.
28764
0d2c20c6
GS
287652010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
28766
28767 Add grub-mkconfig support for NetBSD.
28768
28769 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
28770 * util/grub-mkconfig.in: export new NetBSD specific variables.
28771 * po/POTFILES-shell: added 10_netbsd.in.
28772 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
28773
bc4a2d83
BC
287742010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
28775
28776 Fix emu build with grub-emu-pci and grub-emu-modules.
28777
28778 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
28779 functions.
28780 * include/grub/libpciaccess.h: New file.
28781 * conf/any-emu.rmk: Update kernel headers for emu build.
28782
f48c87aa
VS
287832010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28784
28785 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
28786
18959385
VS
287872010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28788
28789 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
28790
0037de3f
VS
287912010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28792
28793 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
28794 Retrieve chosen/bootpath if bootpath isn't hardcoded.
28795 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
28796 util/ieee1275/ofpath.c.
28797 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
28798 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
28799 * include/grub/sparc64/ieee1275/boot.h
28800 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
28801 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
28802 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
28803 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
28804 const char *.
28805 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
28806 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
28807 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
28808 install.
28809
38e55e90
GS
288102010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
28811
28812 * util/grub-mkconfig.in: Corrected two == equality tests.
28813 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
28814 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
28815 expect a number appended to it.
28816 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
28817 expects a number appended to it.
28818
a9e6ff28
VS
288192010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28820
28821 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
28822
0b830b8f
VS
288232010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28824
28825 * util/hostdisk.c (make_device_name): Change to new partition naming.
28826
0973daeb
VS
288272010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
28828
28829 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
28830
460d8402 288312010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
28832
28833 * Makefile.in: Add missing localedir setting.
28834
0b456309
CW
288352010-04-14 Colin Watson <cjwatson@ubuntu.com>
28836
28837 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
28838 mistake in r2156. Noticed by Anthony Fok.
28839
28840 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
28841 @localedir@.
28842 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28843
08f46d62
BC
288442010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
28845
28846 Fix a spurious, uninitialized variable warning.
28847
28848 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
28849 Initialize variable, shdr.
28850 (grub_freebsd_load_elfmodule): Likewise.
28851 (grub_freebsd_load_elf_meta): Likewise.
28852
8c4a72d4
BC
288532010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
28854
28855 Fix for escaped dollar in double quoted strings.
28856
28857 * script/yylex.l: Updated flex rules.
28858 * conf/tests.rmk: Rule for new testcase.
28859 * tests/grub_script_dollar.in: New testcase.
28860
ce44826e
CPE
288612010-04-13 Carles Pina i Estany <carles@pina.cat>
288622010-04-13 Colin Watson <cjwatson@ubuntu.com>
28863
28864 Enclose all translated strings in grub.cfg in single quotes, and
28865 escape them appropriately (Ubuntu bug #552921).
28866
28867 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
28868 * util/grub.d/10_hurd.in: Use it.
28869 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28870 * util/grub.d/10_linux.in (linux_entry): Likewise.
28871
4b0cd8f8
VS
288722010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28873
28874 Fix cygwin compilation.
28875
28876 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
28877 * include/grub/misc.h (__register_frame_info)
28878 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
28879 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28880 * kern/misc.c (__register_frame_info)
28881 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
28882 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28883
01fcf061
VS
288842010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28885
28886 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
28887
5d04b11e
VS
288882010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28889
28890 Unify libgcc processing.
28891
28892 * Makefile.in (kernel_img_LDFLAGS): New variable.
28893 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
28894 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
28895 overwriting.
28896 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
28897 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
28898 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
28899 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
28900 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
28901 overwriting. Remove -lgcc and -static-libgcc
28902 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
28903 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28904 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28905 (kernel_img_LDFLAGS): Append instead of overwriting.
28906 Remove -lgcc and -static-libgcc
28907 * conf/sparc64-ieee1275.rmk: Likewise.
28908 * include/grub/powerpc/libgcc.h: Move to ...
28909 * include/grub/libgcc.h: .. this.
28910 * include/grub/libgcc.h: Don't export most of the function on x86.
28911 (__bswapsi2): New export.
28912 (__bswapdi2): Likewise.
28913 * include/grub/mips/libgcc.h: Removed.
28914 * include/grub/sparc64/libgcc.h: Likewise.
28915
b7f3ac29
VS
289162010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28917
28918 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
28919 disk_info_msg (conflicts with gettexting into languages with cases).
28920
2c7031b1
GS
289212010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
28922
28923 Add grub-probe support for NetBSD.
28924
28925 * util/getroot.c (find_root_device): Convert block device to
28926 character device on NetBSD.
28927 * util/probe.c (probe): Require character device on NetBSD.
28928 * util/hostdisk.c: NetBSD specific headers.
28929 (configure_device_driver): new function to tune device driver
28930 parameters (currently only for NetBSD floppy driver).
28931 (grub_util_biosdisk_open): NetBSD specific code (get disk size
28932 via disklabel ioctl).
28933 (open_device): call configure_device_driver on NetBSD.
28934 (convert_system_partition_to_system_disk): NetBSD specific code.
28935 (device_is_wholedisk): Likewise.
28936 (grub_util_biosdisk_get_grub_dev): Likewise.
28937 (make_device_name): Fixed a typo in bsd_part_str.
28938 * configure.ac: check for opendisk() and getrawpartition() on
28939 NetBSD and set LIBUTIL.
28940 * Makefile.in: add LIBUTIL to LIBS.
28941
f516290c
BC
289422010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28943
28944 Documentation fix.
28945
28946 * util/grub-script-check.c: Better help message.
28947
d8dcc0df
BC
289482010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28949
28950 Fix FreeBSD build.
28951
28952 * configure.ac: Flex version check.
28953 * conf/common.rmk: Add -Wno-error to sh.mod.
28954 * script/yylex.l: Remove all #pragma.
28955
6734334a
VS
289562010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28957
28958 * include/grub/util/misc.h (canonicalise_file_name): Add missing
28959 prototype.
28960 Reported by: Seth Goldberg.
28961
daea6abd
VS
289622010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28963
28964 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
28965 Rename "module" to "module2".
28966 Reported by: Seth Goldberg.
28967
f2fd9d2b
VS
289682010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28969
28970 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
28971 EXPORT_FUNC.
28972 Reported by: Seth Goldberg.
28973
be124579
VS
289742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28975
28976 * lib/posix_wrap/locale.h: Add missing file.
28977 Reported by: Seth Goldberg.
28978
ef5da797
VS
289792010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28980
28981 grub-emu module load support.
28982
28983 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
28984 NO_DYNAMIC_MODULES switched to this.
28985 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
28986 (CFLAGS): Likewise.
28987 * conf/any-emu.rmk: Generate symlist.
28988 (kernel_img_HEADERS): Add util/datetime.h.
28989 (kernel_img_HEADERS) [sdl]: Add sdl.h.
28990 (kernel_img_HEADERS) [libusb]: Add libusb.h.
28991 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
28992 kern/$(target_cpu)/cache.S.
28993 * configure.ac (grub-emu-modules): New option.
28994 * genmk.rb: Handle multiple source lists.
28995 * include/grub/sdl.h: New file.
28996 * include/grub/libusb.h: Likewise.
28997 * util/grub-emu.c (main): Hanle (host) root.
28998 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
28999 GRUB_ERR_UNKNOWN_DEVICE.
29000 * util/misc.c: Move mm functions to ...
29001 * util/mm.c: ... here. All users updated.
29002
47822096
VS
290032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29004
29005 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
29006 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
29007 missing files.
29008 (maintainer-clean): Remove libgcrypt-grub.
29009
5d7e7445
VS
290102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29011
29012 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
29013
25f4e252
EC
290142010-04-09 EFI Coder <eficoder@hotmail.com>
29015
29016 * normal/menu_text.c (print_message): Clean up the message and show
29017 the Fn information when on EFI
29018 * term/efi/console.c (grub_console_checkkey): Add F4 support.
29019
027de555
VS
290202010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29021
29022 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
29023 All users updated.
29024 * normal/crypto.c (read_crypto_list): Likewise.
29025 * normal/dyncmd.c (read_command_list): Likewise.
29026 * normal/term.c (read_terminal_list): Likewise.
29027 * normal/main.c (read_lists): Use explicit prefix.
29028 (read_lists_hook): Use read_lists.
29029 (grub_normal_execute): Likewise.
29030
47779711
VS
290312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29032
29033 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
29034 Reported by: Thomas Schmitt.
29035 Add -no-emul-boot to grub-mkisofs parameters.
29036
1118c32e
VS
290372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29038
29039 * font/font.c: Indented.
29040
7d652447
BC
290412010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29042
29043 Elif support to GRUB script (by Deepak Vankadaru).
29044
29045 * tests/grub_script_if.in: New testcase.
29046 * conf/tests.rmk: Rule for new testcase.
29047 * script/parser.y: Grammar rules for elif.
29048
34bb22df
BC
290492010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29050
29051 While and until loops support to GRUB script.
29052
29053 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
29054 (grub_script_create_cmdwhile): New function prototype.
29055 (grub_script_execute_cmdwhile): New function prototype.
29056 * script/execute.c (grub_script_execute_cmdwhile): New function.
29057 * script/parser.y (command): New commands.
29058 (whilecmd): New grammar rule.
29059 (untilcmd): New grammar rule.
29060 * script/script.c (grub_script_create_cmdwhile): New function.
29061 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
29062 function.
29063
29064 * tests/grub_script_while1.in: New testcase.
29065 * conf/tests.rmk: Rule for new testcase.
29066
e215d8e0
VS
290672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29068
29069 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
29070 as *.jpg.
29071
d7c43ba1
MV
290722010-04-09 Mario Vazquez <mariovazq@gmail.com>
29073
29074 GRUB_BACKGROUND support.
29075
29076 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
29077 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
29078
d64795c0
VS
290792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29080
29081 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 29082 Idea by: Mario Vazquez
d64795c0
VS
29083
29084 * util/grub.d/00_header.in: Load pf2 and image modules.
29085
f267f83a
VS
290862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29087
29088 grub-mkconfig multiple terminal support.
29089
29090 * util/grub-mkconfig.in: Handle multiple terminals correctly.
29091 * util/grub.d/00_header.in: Likewise.
29092
b7841ceb
VS
290932010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29094
29095 * Makefile.in: Specify files explicitly instead of using $< and $@ since
29096 we use cd $(srcdir).
29097
df60998c
CW
290982010-04-08 Colin Watson <cjwatson@ubuntu.com>
29099
29100 * util/grub.d/10_linux.in: Only use the first word of
29101 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
29102 spaces in GRUB_DISTRIBUTOR.
29103 * util/grub.d/10_kfreebsd.in: Likewise.
29104 * util/grub.d/10_hurd.in: Likewise.
29105
fa09c82e
BC
291062010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
29107
14e18ae3 29108 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
29109
29110 * tests/util/grub-shell.in: Remove -serial stdio option.
29111
daf892b3
BC
291122010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
29113
29114 POSIX header file wrappers.
29115
29116 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
29117 equivalents.
29118 * lib/posix_wrap/ctype.h: Likewise.
29119 * lib/posix_wrap/errno.h: Likewise.
29120 * lib/posix_wrap/langinfo.h: Likewise.
29121 * lib/posix_wrap/limits.h: Likewise.
29122 * lib/posix_wrap/localcharset.h: Likewise.
29123 * lib/posix_wrap/stdint.h: Likewise.
29124 * lib/posix_wrap/stdio.h: Likewise.
29125 * lib/posix_wrap/stdlib.h: Likewise.
29126 * lib/posix_wrap/string.h: Likewise.
29127 * lib/posix_wrap/sys/types.h: Likewise.
29128 * lib/posix_wrap/unistd.h: Likewise.
29129 * lib/posix_wrap/wchar.h: Likewise.
29130 * lib/posix_wrap/wctype.h: Likewise.
29131 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
29132 (grub_script.yy.h): Likewise.
29133 * script/yylex.l: Remove POSIX emulation #defines.
29134 * Makefile.in (POSIX_CFLAGS): New variable.
29135 (GNULIB_UTIL_CFLAGS): Likewise.
29136
29137 Regexp support.
29138
29139 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
29140 (regexp_mod_SOURCES): New variable.
29141 (regexp_mod_CFLAGS): Likewise.
29142 (regexp_mod_LDFLAGS): Likewise.
29143 * commands/regexp.c: New file.
29144 * gnulib/regcomp.c: New file. Imported from gnulib.
29145 * gnulib/regex.c: Likewise.
29146 * gnulib/regex_internal.c: Likewise.
29147 * gnulib/regex_internal.h: Likewise.
29148 * gnulib/regexec.c: Likewise.
29149 * gnulib/regex.h: Likewise.
29150
974ac4f7
VS
291512010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29152
29153 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
29154 unsupported video mode types.
29155
2622c3ff
VS
291562010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29157
29158 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
29159
064cb524
VS
291602010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29161
29162 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
29163 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
29164
a8c3b552
VS
291652010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29166
29167 Remove unused grub_vga_get_font.
29168
29169 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
29170 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
29171
187bbe3d
GS
291722010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29173
29174 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
29175 * include/grub/misc.h: Likewise.
29176
b9396631
GS
291772010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29178
29179 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
29180 for which failure is fatal.
29181
50479feb
GS
291822010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29183
29184 * util/grub-install.in: Use mkdir -p to create grub directory.
29185 * util/i386/efi/grub-install.in: Likewise.
29186 * util/ieee1275/grub-install.in: Likewise.
29187
b1654fdf
GS
291882010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29189
29190 * Makefile.in (LEX): new variable.
29191
bd5a6415
GS
291922010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29193
29194 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
29195 `=' and added double quotes on operands of this equality test.
29196
3db3a82b
VS
291972010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29198
29199 * Makefile.in (uninstall): Remove a leftover debug echo.
29200 Reported by: Grégoire Sutre
29201
38023412
VS
292022010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29203
29204 MIPS multiboot2 support.
29205
29206 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
29207 (multiboot2_mod_SOURCES): New variable.
29208 (multiboot2_mod_CFLAGS): Likewise.
29209 (multiboot2_mod_LDFLAGS): Likewise.
29210 (multiboot2_mod_ASFLAGS): Likewise.
29211 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
29212 definition.
29213 (MULTIBOOT_ENTRY_REGISTER): Likewise.
29214 (MULTIBOOT_MBI_REGISTER): Likewise.
29215 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
29216 (MULTIBOOT_ELF32_MACHINE): Likewise.
29217 (MULTIBOOT_ELF64_MACHINE): Likewise.
29218 * include/grub/mips/multiboot.h: New file.
29219 * include/grub/video.h (grub_video_driver_id): New type
29220 GRUB_VIDEO_DRIVER_SM712.
29221 (grub_video_get_info_and_fini): Export.
29222 (grub_video_get_palette): Likewise.
29223 (grub_video_get_driver_id): Likewise.
29224 * include/multiboot2.h: Resynced with spec.
29225 * loader/i386/multiboot.c: Moved from here ...
29226 * loader/multiboot.c: ... here. All users updated.
29227 (grub_multiboot_boot): Use platform-specific macros.
29228 * loader/i386/multiboot_elfxx.c: Moved from here ...
29229 * loader/multiboot_elfxx.c: ... here. All users updated.
29230 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
29231 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
29232 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
29233
47674667
VS
292342010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
29235
29236 Import gnulib argp module.
29237
29238 * gnulib/argp-ba.c: New file.
29239 * gnulib/argp-eexst.c: Likewise.
29240 * gnulib/argp-fmtstream.c: Likewise.
29241 * gnulib/argp-fmtstream.h: Likewise.
29242 * gnulib/argp-fs-xinl.c: Likewise.
29243 * gnulib/argp-help.c: Likewise.
29244 * gnulib/argp-namefrob.h: Likewise.
29245 * gnulib/argp-parse.c: Likewise.
29246 * gnulib/argp-pin.c: Likewise.
29247 * gnulib/argp-pv.c: Likewise.
29248 * gnulib/argp-pvh.c: Likewise.
29249 * gnulib/argp-version-etc.c: Likewise.
29250 * gnulib/argp-version-etc.h: Likewise.
29251 * gnulib/argp-xinl.c: Likewise.
29252 * gnulib/argp.h: Likewise.
29253
495442ed
VS
292542010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29255
29256 * kern/device.c (grub_device_iterate): Clear errors after failed
29257 opening device.
29258
f9fd65df
VS
292592010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29260
29261 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
29262 returned by firmware.
29263
af09641e
VS
292642010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
29265
29266 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
29267 compilation on coreboot and qemu
29268
016883a5
VS
292692010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29270
29271 * include/multiboot2.h: Resync with spec.
29272
f97e1f7d
VS
292732010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29274
29275 Multiboot2 tag support
29276
29277 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
29278 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
29279 Remove loader/multiboot_loader.c.
29280 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
29281 (grub_multiboot2_real_boot): Likewise.
29282 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
29283 (grub_get_multiboot_mmap_count): New proto.
29284 (grub_fill_multiboot_mmap): Likewise.
29285 (grub_multiboot_set_video_mode): Likewise.
29286 (grub_multiboot_set_console): Likewise.
29287 (grub_multiboot_load): Likewise.
29288 (grub_multiboot_load_elf): Likewise.
29289 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
29290 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
29291 * include/multiboot.h: Resynced with specification.
29292 * include/multiboot2.h: Resynced with specification.
29293 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
29294 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
29295 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
29296 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
29297 users updated.
29298 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
29299 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
29300 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
29301 Removed.
29302 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
29303 Moved from here...
29304 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
29305 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
29306 Moved from here...
29307 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
29308 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
29309 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
29310 All users updated.
29311 * loader/i386/multiboot_mbi2.c: New file.
29312
3506b90b
VS
293132010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29314
29315 Resync with gnulib.
29316
29317 * Makefile.in (GNULIB_CFLAGS): New variable.
29318 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
29319 (grub_script_check_CFLAGS): New variable.
29320 * gnulib/alloca.h: Resync with gnulib.
29321 * gnulib/error.c: Likewise.
29322 * gnulib/error.h: Likewise.
29323 * gnulib/fnmatch.c: Likewise.
29324 * gnulib/fnmatch_loop.c: Likewise.
29325 * gnulib/getdelim.c: Likewise.
29326 * gnulib/getline.c: Likewise.
29327 * gnulib/getopt.c: Likewise.
29328 * gnulib/getopt1.c: Likewise.
29329 * gnulib/getopt_int.h: Likewise.
29330 * gnulib/gettext.h: Likewise.
29331 * gnulib/progname.c: Likewise.
29332 * gnulib/progname.h: Likewise.
29333
394a3120
GS
293342010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
29335
29336 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
29337 which is the case with --disabled-nls.
29338
29339 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
29340 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
29341 * util/misc.c: Likewise.
29342 * util/mkisofs/mkisofs.c: Likewise.
29343 * util/mkisofs/mkisofs.h: Likewise.
29344
969d1c78
VS
293452010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29346
29347 Simplify Apple CC support.
29348
29349 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
29350 Add 0 byte at the end not to have a symbol with empty target.
29351 * mmap/i386/pc/mmap_helper.S: Likewise.
29352 * genmk.rb: Ignore errors 2030 and 2050.
29353 * kern/i386/pc/startup.S: Use LOCAL when possible.
29354
8d2977bb
BC
293552010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
29356
29357 Testcase and the fix for final semicolon on cmdline.
29358
29359 * tests/grub_script_final_semicolon.in: New testcase.
29360 * conf/tests.rmk: Rules for the new testcase.
29361 * script/parser.y: Grammar fix.
29362
a7bd6915
BC
293632010-03-26 BVK Chaitanya <bvk@localhost>
29364
29365 Blank lines testcase for GRUB script.
29366
29367 * tests/grub_script_blanklines.in: New testcase.
29368 * conf/tests.rmk: Rules for the new testcase.
29369
e4ff6628
VS
293702010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29371
29372 Don't use __FILE__.
29373
29374 * genmk.rb: Add -DGRUB_FILE to all C targets.
29375 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
29376 * include/grub/list.h: Likewise.
29377 * include/grub/misc.h: Likewise.
29378 * include/grub/mm.h: Likewise.
29379 * include/grub/test.h: Likewise.
29380 * kern/mm.c: Likewise.
29381 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29382
6a5cf6b6
VS
293832010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29384
29385 Sunpc partitions support.
29386
29387 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
29388 (grub_fstest_SOURCES): Likewise.
29389 (pkglib_MODULES): Add part_sunpc.mod.
29390 (part_sunpc_mod_SOURCES): New variable.
29391 (part_sunpc_mod_CFLAGS): Likewise.
29392 (part_sunpc_mod_LDFLAGS): Likewise.
29393 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
29394 * partmap/sunpc.c: New file.
29395
746d9045
BC
293962010-03-26 BVK Chaitanya <bvk@localhost>
29397
29398 For loop support to GRUB script.
29399
29400 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
29401 (grub_script_create_cmdfor): New function prototype.
29402 (grub_script_execute_cmdfor): New function prototype.
29403 * script/execute.c (grub_script_execute_cmdfor): New function.
29404 * script/parser.y (command): New for command.
29405 (forcmd): New grammar rule.
29406 * script/script.c (grub_script_create_cmdfor): New function.
29407 * util/grub-script-check.c (grub_script_execute_cmdfor): New
29408 function.
29409 * tests/grub_script_for1.in: New testcase.
29410 * conf/tests.rmk: Rules for new testcase.
29411
18486b18
VS
294122010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29413
29414 Nested partitions
29415
29416 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
29417 'partition' is NULL, grub_partition_get_start already does that.
29418 * commands/loadenv.c (check_blocklists): Likewise.
29419 (write_blocklists): Likewise.
29420 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
29421 (grub_fstest_SOURCES): Likewise.
29422 (pkglib_MODULES): Add part_bsd.mod.
29423 (part_bsd_mod_SOURCES): New variable.
29424 (part_bsd_mod_CFLAGS): Likewise.
29425 (part_bsd_mod_LDFLAGS): Likewise.
29426 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
29427 (grub_emu_SOURCES): Likewise.
29428 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29429 * include/grub/bsdlabel.h: New file.
29430 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
29431 'get_name'.
29432 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
29433 (grub_partition_map_list): New variable.
29434 (grub_partition_map_register): Inline.
29435 (grub_partition_map_unregister): Likewise.
29436 (FOR_PARTITION_MAPS): New macro.
29437 (grub_partition_map_iterate): Removed.
29438 (grub_partition_get_start): Handle nested partitions.
29439 * include/grub/msdos_partition.h: Remove bsd-related entries.
29440 (grub_pc_partition): Remove.
29441 * kern/disk.c (grub_disk_close): Free partition data.
29442 (grub_disk_adjust_range): Handle nested partitions.
29443 * kern/partition.c (grub_partition_map_probe): New function.
29444 (grub_partition_probe): Parse name to number, handle subpartitions.
29445 (get_partmap): New function.
29446 (grub_partition_iterate): Handle subpartitions.
29447 (grub_partition_get_name): Likewise.
29448 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
29449 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
29450 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
29451 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
29452 Set 'number'.
29453 (acorn_partition_map_probe): Remove.
29454 (acorn_partition_map_get_name): Likewise.
29455 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
29456 Set 'number'.
29457 Set 'index' to 0 since there can be only one partition entry per sector.
29458 (amiga_partition_map_probe): Remove.
29459 (amiga_partition_map_get_name): Likewise.
29460 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
29461 Set 'number'.
29462 Set 'offset' and 'index' to real positions of partitions.
29463 (apple_partition_map_probe): Remove.
29464 (apple_partition_map_get_name): Likewise.
29465 * partmap/bsdlabel.c: New file.
29466 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
29467 Set 'number'.
29468 Allocate 'data' so it can be correctly freed.
29469 Set 'index' to offset inside sector.
29470 (gpt_partition_map_probe): Remove.
29471 (gpt_partition_map_get_name): Likewise.
29472 * partmap/msdos.c (grub_partition_parse): Remove.
29473 (pc_partition_map_iterate): Don't force raw access.
29474 Set 'number'.
29475 Make 'ext_offset' a local variable.
29476 (pc_partition_map_probe): Remove.
29477 (pc_partition_map_get_name): Remove.
29478 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
29479 Set 'number'.
29480 (sun_partition_map_probe): Remove.
29481 (sun_partition_map_get_name): Likewise.
29482 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
29483 (grub_pcpart_type): Likewise.
29484 * util/hostdisk.c (open_device): Handle new numbering scheme.
29485 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
29486 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
29487 * util/grub-probe.c (probe_partmap): Handle nested paritions.
29488 * util/grub-install.in: Insert all subpartition modules.
29489 * util/ieee1275/grub-install.in: Likewise.
29490
a3940f88
AG
294912010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
29492
29493 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
29494 grammar.
29495
21b99926 294962010-03-24 Colin Watson <cjwatson@ubuntu.com>
29497
29498 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
29499
bed1d352
CW
295002010-03-21 Colin Watson <cjwatson@ubuntu.com>
29501
29502 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
29503 match where 'make install' puts them.
29504 * util/i386/efi/grub-install.in: Likewise.
29505
c9f58427
CW
295062010-03-19 Colin Watson <cjwatson@ubuntu.com>
29507
29508 * .bzrignore: Add gentrigtables, grub-script-check,
29509 grub_script_check_init.c, grub_script_check_init.h, and
29510 trigtables.c.
29511
f84afb27
VS
295122010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
29513
29514 * kern/parser.c: Indented.
29515
ed0e3d30
VS
295162010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29517
29518 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
29519
0ea81d98
VS
295202010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29521
29522 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
29523 alpha_mask_size == 0 case.
29524
0cdc2a09
BC
295252010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
29526
29527 GRUB shell lexer and parser improvements.
29528
29529 * conf/any-emu.rmk: Build rule updates.
29530 * conf/common.rmk: Likewise.
29531 * conf/i386-coreboot.rmk: Likewise.
29532 * conf/i386-efi.rmk: Likewise.
29533 * conf/i386-ieee1275.rmk: Likewise.
29534 * conf/i386-pc.rmk: Likewise.
29535 * conf/powerpc-ieee1275.rmk: Likewise.
29536 * conf/x86_64-efi.rmk: Likewise.
29537
29538 * configure.ac: Configure check for flex.
29539
29540 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
29541 types.
29542 (grub_lexer_param): Struct member updates.
29543 (grub_parser_param): Likewise.
29544 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
29545 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
29546 (grub_script_lexer_init): Prototype update.
29547 (grub_script_lexer_record_start): Likewise.
29548 (grub_script_lexer_record_stop): Likewise.
29549 (grub_script_lexer_yywrap): New function prototype.
29550 (grub_script_lexer_fini): Likewise.
29551 (grub_script_execute_argument_to_string): Removed by...
29552 (grub_script_execute_argument_to_argv): ...better version.
29553
29554 * script/execute.c (ROUND_UPTO): New macro.
29555 (grub_script_execute_cmdline): Out of memory fixes.
29556 (grub_script_execute_menuentry): Likewise.
29557 (grub_script_execute_argument_to_string): Removed. Update all
29558 users by...
29559 (grub_script_execute_argument_to_argv): ...better version.
29560 * script/function.c (grub_script_function_create): Use
29561 grub_script_execute_argument_to_argv instead of
29562 grub_script_execute_argument_to_string.
29563
29564 * script/lexer.c (check_varstate): Removed.
29565 (check_textstate): Removed.
29566 (grub_script_lexer_record_start): Likewise.
29567 (grub_script_lexer_record_stop): Likewise.
29568 (recordchar): Replaced with...
29569 (grub_script_lexer_record): ...new function.
29570 (nextchar): Removed.
29571 (grub_script_lexer_init): Rewritten.
29572 (grub_script_yylex): Rewritten.
29573 (append_newline): New function.
29574 (grub_script_lexer_yywrap): New function.
29575 (grub_script_lexer_fini): New function.
29576 (grub_script_yyerror): Sets error flag.
29577
29578 * script/yylex.l: New file.
29579 (grub_lexer_yyfree): Wrapper for flex yyffre.
29580 (grub_lexer_yyalloc): Likewise.
29581 (grub_lexer_yyrealloc): Likewise.
29582 * script/parser.y: Refactored.
29583
29584 * script/script.c (grub_script_arg_add): Out of memory fixes.
29585 (grub_script_add_arglist): Likewise.
29586 (grub_script_create_cmdline): Likewise.
29587 (grub_script_create_cmdmenu): Likewise.
29588 (grub_script_add_cmd): Likewise.
29589 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
29590 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
29591 unnecessary code.
29592
29593 * tests/grub_script_echo1.in: New testcase.
29594 * tests/grub_script_vars1.in: New testcase.
29595 * tests/grub_script_echo_keywords.in: New testcase.
29596
1d63a066
VS
295972010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29598
29599 Remove some redundancy in build system.
29600
29601 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
29602 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
29603 (TARGET_LDFLAGS): Add -nostdlib.
29604 (TARGET_IMG_LDFLAGS): Likewise.
29605 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
29606 anything since mmap isn't available.
29607 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
29608 Add util/time.c.
29609 (pkglib_MODULES): Remove reboot.mod.
29610 (reboot_mod_SOURCES): Removed.
29611 (reboot_mod_CFLAGS): Likewise.
29612 (reboot_mod_LDFLAGS): Likewise.
29613 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
29614 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
29615 (DEFSYMFILES): Add kernel_syms.lst.
29616 (kernel_img_HEADERS): Add common headers.
29617 (symlist.c): New target.
29618 (kernel_syms.lst): Likewise.
29619 (pkglib_MODULES): Add memdisk.mod.
29620 (memdisk_mod_SOURCES): New variable.
29621 (memdisk_mod_CFLAGS): Likewise.
29622 (memdisk_mod_LDFLAGS): Likewise.
29623 (pkglib_MODULES): Add reboot.mod.
29624 (reboot_mod_SOURCES): New variable.
29625 (reboot_mod_CFLAGS): Likewise.
29626 (reboot_mod_LDFLAGS): Likewise.
29627 (pkglib_MODULES): Add date.mod.
29628 (date_mod_SOURCES): New variable.
29629 (date_mod_CFLAGS): Likewise.
29630 (date_mod_LDFLAGS): Likewise.
29631 (pkglib_MODULES): Add datehook.mod.
29632 (datehook_mod_SOURCES): New variable.
29633 (datehook_mod_CFLAGS): Likewise.
29634 (datehook_mod_LDFLAGS): Likewise.
29635 (pkglib_MODULES): Add lsmmap.mod.
29636 (lsmmap_mod_SOURCES): New variable.
29637 (lsmmap_mod_CFLAGS): Likewise.
29638 (lsmmap_mod_LDFLAGS): Likewise.
29639 (pkglib_MODULES): Add boot.mod.
29640 (boot_mod_SOURCES): New variable.
29641 (boot_mod_CFLAGS): Likewise.
29642 (boot_mod_LDFLAGS): Likewise.
29643 * conf/i386-coreboot.rmk: Removed redundant parts.
29644 * conf/i386-ieee1275.rmk: Likewise.
29645 * conf/i386-pc.rmk: Likewise.
29646 * conf/mips-yeeloong.rmk: Likewise.
29647 * conf/mips.rmk: Likewise.
29648 * conf/powerpc-ieee1275.rmk: Likewise.
29649 * conf/sparc64-ieee1275.rmk: Likewise.
29650 * conf/x86_64-efi.rmk: Likewise.
29651 * conf/i386-coreboot.rmk: Moved qemu parts ..
29652 * conf/i386-qemu.rmk: ... here
29653 * conf/i386-efi.rmk: Moved common parts to...
29654 * conf/x86-efi.rmk: ... here.
29655 * conf/i386.rmk: Added modules common to all x86 variants.
29656 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
29657 * disk/memdisk.c: Remove grub/machine/kernel.h.
29658 * gensymlist.sh.in: Include symbol.h.
29659 * hook/datehook.c: Correct module name.
29660 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
29661 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
29662 * include/grub/i386/efi/serial.h: New file.
29663 * include/grub/x86_64/efi/serial.h: Likewise.
29664 * util/time.c: Likewise.
29665 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
29666
463ac55f
CK
296672010-03-14 Colin King <colin.king@ubuntu.com>
296682010-03-14 Colin Watson <cjwatson@ubuntu.com>
29669
29670 Shrink the pre-partition-table part of boot.img by eight bytes.
29671
29672 * boot/i386/pc/boot.S (ERR): New macro.
29673 (chs_mode): Use ERR.
29674 (geometry_error): Likewise.
29675 (hd_probe_error): Remove. This is only used once, so we wrwite
29676 it inline instead.
29677 (read_error): Instead of printing read_error_string, just set up
29678 %si and fall through to ...
29679 (error_message): ... this new function, also used by ERR.
29680
08e46ede
CW
296812010-03-14 Colin Watson <cjwatson@ubuntu.com>
29682
29683 Speed up consecutive hostdisk operations on the same device.
29684
29685 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
29686 (grub_util_biosdisk_open): Initialise disk->data.
29687 (struct linux_partition_cache): New structure.
29688 (linux_find_partition): Cache partition start positions; these are
29689 expensive to compute on every read and write.
29690 (open_device): Cache open file descriptor in disk->data, so that we
29691 don't have to reopen it and flush the buffer cache for consecutive
29692 operations on the same device.
29693 (grub_util_biosdisk_close): New function.
29694 (grub_util_biosdisk_dev): Set `close' member.
29695
29696 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
29697 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
29698 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29699 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
29700 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
29701
4a6d2d06
VS
297022010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29703
29704 Compile parts of grub-emu as modules.
29705
29706 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
29707 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
29708 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29709 (all-local): Add $(GRUB_EMU).
29710 (install-local): Install $(GRUB_EMU).
29711 (uninstall): Uninstall $(GRUB_EMU).
29712 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
29713 * kern/dl.c: Likewise.
29714 * commands/sleep.c: Not include machine/time.h.
29715 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
29716 (COMMON_CFLAGS): Likewise.
29717 (sbin_UTILITIES): Remove grub-emu.
29718 (grub_emu_SOURCES): Removed.
29719 (kernel_img_RELOCATABLE): New variable.
29720 (pkglib_PROGRAMS): Add kernel.img.
29721 (kernel_img_SOURCES): New variable
29722 (kernel_img_CFLAGS): Likewise.
29723 (kernel_img_LDFLAGS): Likewise.
29724 (TARGET_NO_STRIP): Likewise.
29725 (TARGET_NO_DYNAMIC_MODULES): Likewise.
29726 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
29727 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
29728 (grub-emu): New target.
29729 (GRUB_EMU): New variable.
29730 * configure.ac: Whitelist -emu as possible x86_64 architecture.
29731 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
29732 * loader/xnu.c: Likewise.
29733 * include/grub/pci.h: Likewise.
29734 * genemuinit.sh: New file.
29735 * genemuinitheader.sh: Likewise.
29736 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
29737 Support TARGET_NO_DYNAMIC_MODULES.
29738 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
29739 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
29740 * disk/loopback.c: Likewise.
29741 * font/font_cmd.c: Likewise.
29742 * partmap/acorn.c: Likewise.
29743 * partmap/amiga.c: Likewise.
29744 * partmap/apple.c: Likewise.
29745 * partmap/gpt.c: Likewise.
29746 * partmap/msdos.c: Likewise.
29747 * partmap/sun.c: Likewise.
29748 * parttool/msdospart.c: Likewise.
29749 * term/gfxterm.c: Likewise.
29750 * video/bitmap.c: Likewise.
29751 * video/readers/jpeg.c: Likewise.
29752 * video/readers/png.c: Likewise.
29753 * video/readers/tga.c: Likewise.
29754 * video/video.c: Likewise.
29755 * util/grub-emu.c (read_command_list): Removed.
29756 (main): Don't call util_init_nls.
29757 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
29758 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
29759
91fdd2ed
VS
297602010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29761
29762 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
29763 date.mod, datehook.mod.
29764 (datetime_mod_SOURCES): New variable.
29765 (datetime_mod_CFLAGS): Likewise.
29766 (datetime_mod_LDFLAGS): Likewise.
29767 (date_mod_SOURCES): Likewise.
29768 (date_mod_CFLAGS): Likewise.
29769 (date_mod_LDFLAGS): Likewise.
29770 (datehook_mod_SOURCES): Likewise.
29771 (datehook_mod_CFLAGS): Likewise.
29772 (datehook_mod_LDFLAGS): Likewise.
29773 * conf/sparc64-ieee1275.rmk: Likewise.
29774 * lib/ieee1275/datetime.c: New file.
29775
873ccae6
VS
297762010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29777
29778 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
29779 (ieee1275_fb_mod_SOURCES): New variable.
29780 (ieee1275_fb_mod_CFLAGS): Likewise.
29781 (ieee1275_fb_mod_LDFLAGS): Likewise.
29782 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
29783 New proto.
29784 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
29785 (HEAP_MAX_ADDR): Likewise.
29786 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
29787 type.
29788 Correct stop condition.
29789 (grub_ieee1275_devices_iterate): New function.
29790 * video/ieee1275.c: New file.
29791
601c97c0
VS
297922010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29793
29794 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
29795
29796 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
29797 as scratch.
29798 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
29799 SCRATCH_PAD_DISKBOOT as scratch.
29800 (bootit): Pass Openfirmware pointer in %o4.
29801 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
29802 of 0x200000.
29803 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
29804 with util/grub-mkrawimage.c.
29805 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
29806 * include/grub/aout.h (AOUT_MID_SUN): New definition.
29807 (grub_aout_get_type) [GRUB_UTIL]: Removed.
29808 (grub_aout_load) [GRUB_UTIL]: Likewise.
29809 * include/grub/kernel.h (grub_modules_get_end): New proto.
29810 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
29811 (SCRATCH_PAD_BOOT): New definition.
29812 (SCRATCH_PAD_DISKBOOT): Likewise.
29813 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
29814 * include/grub/sparc64/ieee1275/ieee1275.h
29815 (grub_ieee1275_original_stack): New variable
29816 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29817 New definition
29818 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
29819 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
29820 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
29821 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
29822 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
29823 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
29824 (grub_platform_image_format_t): New type.
29825 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
29826 * kern/main.c (grub_modules_get_end)
29827 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
29828 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
29829 (codestart): Switch stacks.
29830 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
29831 variable.
29832 (grub_heap_init): Use grub_modules_get_end.
29833 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
29834 stack.
29835 * util/grub-mkrawimage.c (generate_image): Support sparc64.
29836 (main): Likewise.
29837 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
29838
d68b491e
TG
298392010-03-14 Thorsten Glaser <tg@mirbsd.org>
29840
29841 * util/grub-mkrescue.in: Base ISO UUID on UTC.
29842
4e02ed50
MK
298432010-03-08 Matt Kraai <kraai@ftbfs.org>
29844
29845 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
29846 bug #559005).
29847
1f15fc1e
VS
298482010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
29849
29850 * genmoddep.awk: Output all missing symbols and not only first.
29851
fce5d8ff
VS
298522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29853
29854 * NEWS: Put the date of 1.98 release.
29855
d1e8a02f
VS
298562010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29857
29858 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
29859 ft2build.h.
29860
696fd607
VS
298612010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29862
29863 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
29864 completition in the middle of string.
29865
33e2e6f3
VS
298662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29867
29868 * util/grub-mkrescue.in: Use mktemp with explicit template.
29869
b1f6d291
VS
298702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29871
29872 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
29873
2ac227c7
VS
298742010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29875
29876 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
29877 right pointer.
29878
8f9a632b
VS
298792010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29880
29881 Fix FreeBSD compilation.
29882
29883 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
29884 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
29885
60b03859
VS
298862010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29887
29888 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
29889
48a5a769
VS
298902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29891
29892 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
29893
3ab4bd77
VS
298942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29895
29896 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
29897
d116e0d8
RM
298982010-03-04 Robert Millan <rmh.grub@aybabtu.com>
29899
29900 Support relative image path in theme file.
29901
29902 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
29903 (image_set_property): Handle theme_dir and relative path.
29904
c7ef54aa
VS
299052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29906
29907 * configure.ac: Alias amd64 to x86_64.
29908
fcee14ed
VS
299092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29910
29911 * NEWS: mention multiboot on EFI.
29912
d0780363
VS
299132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29914
29915 * kern/main.c (grub_load_modules): Handle errors from init functions of
29916 embeded modules.
29917
41168ea4
VS
299182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29919
29920 * normal/autofs.c (autoload_fs_module): Handle errors.
29921
b54d93ac
VS
299222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29923
29924 Disable linux.mod on qemu-mips since it's not functional and leads
29925 to compilation failure.
29926
29927 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
29928 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
29929 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
29930 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
29931 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
29932 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
29933 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
29934 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
29935 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
29936 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
29937 Reported by: BVK Chaitanya
29938
fc8345da
JU
299392010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
29940
29941 * INSTALL: Add gettext as a dependency and add qemu to a new section
29942 "Prerequisites for make-check".
29943
4760f979
CF
299442010-03-04 Christian Franke <franke@computer.org>
29945
29946 * util/grub-pe2elf.c: Add missing include "progname.h".
29947
f209b5b2
VS
299482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29949
29950 * normal/crypto.c (read_crypto_list): Fix a typo.
29951 Reported by: Seth Goldberg.
29952
b4b7be98
VS
299532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29954
29955 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 29956 Reported by: Seth Goldberg.
b4b7be98 29957
c0ee0385
VS
299582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29959
29960 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
29961 ascii.bitmaps.
29962
a8efbf64
VS
299632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29964
29965 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 29966 Reported by: Seth Goldberg.
a8efbf64 29967
08dcd913
VS
299682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29969
29970 * util/i386/efi/grub-install.in: Copy gettext files.
29971
c4d0b332
VS
299722010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29973
29974 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
29975
c6f2fe52
VS
299762010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29977
29978 Wait for user entry basing on presence of output rather than on errors.
29979
29980 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
29981 (grub_install_newline_hook): Likewise.
29982 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
29983 * normal/menu.c (show_menu): Check line_counter to determine presence
29984 of output.
29985 * normal/term.c (grub_normal_line_counter): New variable.
29986 (grub_normal_get_line_counter): New function.
29987 (grub_install_newline_hook): Likewise.
29988
5382b1e4
VS
299892010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29990
29991 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
29992
5519963b
VS
299932010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29994
29995 * configure.ac: Update version to 1.98.
29996
72b28631
VS
299972010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
29998
29999 * util/grub.d/10_linux.in (linux_entry): Don't default to
30000 gfxpayload=keep if Linux doesn't support video handover.
30001
c140a180
VS
300022010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
30003
30004 Don't compile video modules on yeeloong since video subsystem is part
30005 of kernel.
30006
30007 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
30008 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
30009 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
30010 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
30011 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
30012 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
30013 * include/grub/bitmap_scale.h: Likewise.
30014 * include/grub/bufio.h: Likewise.
30015 * include/grub/font.h: Likewise.
30016 * include/grub/gfxterm.h: Likewise.
30017 * include/grub/video.h: Likewise.
30018 * include/grub/vbe.h: Don't include video_fb.h.
30019 * video/i386/pc/vbe.c: Include video_fb.h.
30020 * commands/i386/pc/vbetest.c: Include video.h.
30021
a0ca21c2
CW
300222010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
30023
30024 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
30025 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
30026 default entry if GRUB_SAVEDEFAULT=true. This allows using
30027 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
30028 saving a new default on every boot.
30029
4a8a763c
VS
300302010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30031
30032 * normal/crypto.c (read_crypto_list): Fix a memory leak.
30033 * normal/term.c (read_terminal_list): Likewise.
30034 * normal/main.c (grub_normal_init_page): Likewise.
30035 (grub_normal_read_line_real): Likewise.
30036
607ffde2
VS
300372010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30038
30039 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
30040 memory leak.
30041 Reported by: Seth Goldberg.
30042
2b8fa975
CW
300432010-02-24 Joey Korkames <joey+lists@kidfixit.com>
30044
30045 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
30046 duplicate declaration of `start'.
30047
618307dd
VS
300482010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30049
30050 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
30051 filename.
30052 Reported by: Georgy Buranov
30053
7dd05b96 300542010-02-20 Carles Pina i Estany <carles@pina.cat>
30055
30056 * util/grub-mkrawimage.c (usage): Change string formatting to
30057 improve gettext.
30058
d1484a42
MRA
300592010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
30060
30061 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
30062 backspace keys.
30063
42b1d186
VS
300642010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30065
30066 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
30067 Reported by: Michael Suchanek.
30068
300692010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
30070
30071 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
30072 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
30073
d9f31a41
VS
300742010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
30075
30076 Remove any reference to non-free fonts.
30077
30078 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
30079 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
30080 uses non-free components.
30081 * font/font.c (grub_font_get_name): Remove example name.
30082 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
30083 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
30084 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
30085 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
30086
2793c71e
GB
300872010-02-16 Georgy Buranov <gburanov@gmail.com>
30088
30089 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
30090
402e3779
VS
300912010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30092
30093 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
30094 Double divisor.
30095 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
30096 features.
30097 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
30098
0dd1e0dd
VS
300992010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30100
30101 * gensymlist.sh.in: Use TARGET_CC instead of CC.
30102
6fa7cfce
ST
301032010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30104
30105 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
30106 * docs/grub.texi (Command-line and menu entry commands): Document play
30107 command.
30108
37c8483b
ST
301092010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30110
30111 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
30112 parse arguments as inline tempo and notes. Move code for playing notes
30113 to...
30114 (play): ... new function.
30115
14da0fb7
ST
301162010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30117
30118 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
30119 grub_uint16_t instead of short.
30120 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
30121 disk from little endian to cpu endianness.
30122
04459e70
ST
301232010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
30124
30125 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
30126 GRUB_TICKS_PER_SECOND instead of 120.
30127
a0876943
VS
301282010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30129
30130 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
30131 escape sequence after \e.
30132
e29f95dc
VS
301332010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30134
30135 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
30136 non-ASCII characters.
30137
d27859b2
VS
301382010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30139
30140 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
30141 set root in single quotes to prevent \, from being unescaped.
30142
bc028f2f
VS
301432010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30144
30145 Prevent unknown commands from stopping menuentry execution.
30146
30147 * script/execute.c (grub_script_execute_cmdline): Print error after
30148 unknown command.
30149
095f5f82
VS
301502010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30151
30152 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
30153 Reported by: Pavel Pisa.
30154
8c717950
VS
301552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30156
30157 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
30158
904935c3
VS
301592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30160
30161 Merge grub_ieee1275_map_physical into grub_map and rename to
30162 grub_ieee1275_map
30163
30164 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
30165 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
30166 Remove.
30167 * kern/ieee1275/openfw.c (grub_map): Rename to ...
30168 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
30169 necessary.
30170 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
30171
5b59a4e3
VS
301722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30173
30174 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
30175 opening and not after.
30176
69e137e8
VS
301772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30178
30179 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
30180 constants.
30181
2c0fcc36
VS
301822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30183
30184 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
30185 (alloc_phys): Use ALIGN_UP instead of align_addr.
30186
8c6052ce
VS
301872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30188
30189 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
30190
17cec782
VS
301912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30192
30193 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
30194
e0128bbd
VS
301952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30196
30197 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
30198 verbose dprintf.
30199
ca62070b
VS
302002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30201
30202 Fix over-4GiB seek on sparc64.
30203
30204 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
30205 Replace pos_i and pos_lo with pos. All users updated.
30206 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30207 New constant.
30208 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30209 Likewise.
30210 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
30211 and pos_lo.
30212
bdca2607
VS
302132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30214
30215 * util/grub-mkrawimage.c (main): Call set_program_name.
30216
da278c4d
VS
302172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30218
30219 Properly align 64-bit targets.
30220
30221 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
30222 (generate_image): Use ALIGN_ADDR.
30223
b274d734
VS
302242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30225
30226 Properly create cross-endian images.
30227
30228 * include/grub/types.h (grub_host_to_target_addr): New macro
30229 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
30230
82da2062
VS
302312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30232
30233 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
30234
7cae4377
VS
302352010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30236
30237 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
30238
30239 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
30240 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
30241 (grub_linux_boot): Divide by 64K when on VESA.
30242
65a533e7
VS
302432010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30244
30245 Support GRUB_GFXPAYLOAD_LINUX.
30246
30247 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
30248 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
30249
dd01d397
VS
302502010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30251
30252 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
30253 to show messages instead of discarding them.
30254 Process errors after executing command and not before. Keep old method
30255 too as precaution.
30256
660960d6
VS
302572010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
30258
30259 * configure.ac: Check for ft2build.h.
30260
62509f04
VS
302612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30262
30263 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
30264
473df63d
VS
302652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30266
30267 * genkernsyms.sh.in: Use TARGET_CC.
30268
c98d2a13
CW
302692010-02-07 Colin Watson <cjwatson@ubuntu.com>
30270
30271 * NEWS: Update.
30272
6e14234c
VS
302732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30274
30275 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
30276 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
30277 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 30278
b255e9cf
YB
302792010-02-07 Yves Blusseau <blusseau@zetam.org>
30280
6e14234c 30281 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 30282
98e6959d
VS
302832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30284
30285 Fix warnings in grub-emu when compiling with maximum warning options.
30286
30287 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
30288 (grub_arch_modules_addr): Return 0 and not NULL.
30289 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 30290 (xstrdup): Use newstr instead of dup.
f88d801b
VS
30291 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
30292 of disk to dsk to avoid shadowing.
74e4934e
VS
30293 (find_free_slot): Fix prototype.
30294 * util/getroot.c (grub_util_is_dmraid): Make static.
30295 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
30296 Add missing prototype.
30297 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 30298
74e31b5c
VS
302992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30300
30301 * loader/i386/linux.c (grub_linux_setup_video): Handle error
30302 appropriately.
30303
6b2ad14b
VS
303042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30305
30306 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
30307 code out.
30308
8f891adc
VS
303092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30310
30311 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
30312 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
30313 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
30314 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
30315 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
30316 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
30317
74b45184
VS
303182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30319
30320 * include/grub/err.h (grub_err_printf): Don't export.
30321
a4bced77
VS
303222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30323
30324 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
30325
007d0695
VS
303262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30327
30328 * include/grub/i18n.h (grub_gettext_dummy): Removed.
30329 * kern/misc.c (grub_gettext_dummy): Make static.
30330
b6c0d9c2
VS
303312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30332
30333 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
30334 by non-valid ones.
30335 * kern/term.c (grub_putchar): Likewise.
30336
f51a90d0
VS
303372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30338
30339 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
30340 buggy hook call and memory leak.
30341
6846cec5
VS
303422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30343
30344 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
30345
468d69fe
VS
303462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30347
30348 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
30349
51906b8c
VS
303502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30351
30352 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
30353 modevar.
30354 Return grub_errno on allocation error.
30355
09706ce5
VS
303562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30357
30358 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
30359
911df80c
YB
303602010-02-06 Yves Blusseau <blusseau@zetam.org>
30361
30362 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
30363 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
30364
3746a6bc
VS
303652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30366
30367 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
30368 non-pxe disk.
30369 (grub_pxefs_open): Likewise.
30370
09706ce5
VS
303712010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30372
30373 * util/grub.d/10_hurd.in: Add --class information to menuentries.
30374 * util/grub.d/10_kfreebsd.in: Likewise.
30375 * util/grub.d/10_linux.in: Likewise.
30376
7cc192d9
VS
303772010-02-06 Colin D Bennett <colin@gibibit.com>
30378
30379 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
30380 (gfxmenu_mod_SOURCES): New variable.
30381 (gfxmenu_mod_CFLAGS): Likewise.
30382 (gfxmenu_mod_LDFLAGS): Likewise.
30383 * include/grub/term.h (grub_term_set_current_output): Declare
30384 argument as const.
30385 * docs/gfxmenu-theme-example.txt: New file.
30386 * gfxmenu/gfxmenu.c: Likewise.
30387 * gfxmenu/gui_box.c: Likewise.
30388 * gfxmenu/gui_canvas.c: Likewise.
30389 * gfxmenu/gui_circular_progress.c: Likewise.
30390 * gfxmenu/gui_image.c: Likewise.
30391 * gfxmenu/gui_label.c: Likewise.
30392 * gfxmenu/gui_list.c: Likewise.
30393 * gfxmenu/gui_progress_bar.c: Likewise.
30394 * gfxmenu/gui_string_util.c: Likewise.
30395 * gfxmenu/gui_util.c: Likewise.
30396 * gfxmenu/icon_manager.c: Likewise.
30397 * gfxmenu/model.c: Likewise.
30398 * gfxmenu/named_colors.c: Likewise.
30399 * gfxmenu/theme_loader.c: Likewise.
30400 * gfxmenu/view.c: Likewise.
30401 * gfxmenu/widget-box.c: Likewise.
30402 * include/grub/gfxmenu_model.h: Likewise.
30403 * include/grub/gfxmenu_view.h: Likewise.
30404 * include/grub/gfxwidgets.h: Likewise.
30405 * include/grub/gui.h: Likewise.
30406 * include/grub/gui_string_util.h: Likewise.
30407 * include/grub/icon_manager.h: Likewise.
30408
304092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30410
30411 Agglomerate scrolling in gfxterm.
30412
30413 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
30414 (grub_virtual_screen_setup): Initialise 'total_screen'.
30415 (write_char): Split to ...
30416 (paint_char): ... this ...
30417 (write_char): ... and this.
30418 (paint_char): Handle delayed scrolling.
30419 (draw_cursor): Likewise.
30420 (scroll_up): Split to ...
30421 (real_scroll): ... this ...
30422 (scroll_up): ... and this.
30423 (real_scroll): Handle multi-line scroll and draw below-the-bottom
30424 characters.
30425 (grub_gfxterm_refresh): Call real_scroll.
30426
304272010-02-06 Colin D Bennett <colin@gibibit.com>
30428
30429 * include/grub/misc.h (grub_iscntrl): New inline function.
30430 (grub_isalnum): Likewise.
30431 (grub_strtol): Likewise.
30432
304332010-02-06 Colin D Bennett <colin@gibibit.com>
30434
30435 * normal/menu_text.c (get_entry_number): Move from here ...
30436 * normal/menu.c (get_entry_number): ... moved here.
30437 * include/grub/menu.h (grub_menu_get_default_entry_index):
30438 New prototype.
30439 * normal/menu.c (grub_menu_get_default_entry_index): New function.
30440 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
30441 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
30442 (grub_menu_viewer_should_return): Likewise.
30443 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
30444 * normal/menu_text.c (run_menu): Enable menu switching.
30445 * normal/menu_viewer.c (should_return): New variable.
30446 (menu_viewer_changed): Likewise.
30447 (grub_menu_viewer_show_menu): Handle menu viewer changes.
30448 (grub_menu_viewer_should_return): New function.
30449 (menuviewer_write_hook): Likewise.
30450 (grub_menu_viewer_init): Likewise.
30451
304522010-02-06 Colin D Bennet <colin@gibibit.com>
304532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30454
30455 Support for gfxterm in a window.
30456
30457 * include/grub/gfxterm.h: New file.
30458 * include/grub/video.h (struct grub_video_rect): New declaration.
30459 (grub_video_rect_t): Likewise.
30460 * term/gfxterm.c (struct grub_gfxterm_window): New type.
30461 (refcount): New variable.
30462 (render_target): Likewise.
30463 (window): Likewise.
30464 (repaint_callback): Likewise.
30465 (grub_virtual_screen_setup): Use 'render_target'.
30466 (init_window): New function.
30467 (grub_gfxterm_init_window): Likewise.
30468 (grub_gfxterm_init): Check reference counter.
30469 Use init_window.
30470 (destroy_window): New function.
30471 (grub_gfxterm_destroy_window): Likewise.
30472 (grub_gfxterm_fini): Check reference counter.
30473 Use destroy_window.
30474 (redraw_screen_rect): Restore viewport.
30475 Use 'render_target' and 'window'.
30476 Call 'repaint_callback'.
30477 (write_char): Use 'render_target'.
30478 (draw_cursor): Likewise.
30479 (scroll_up): Restore viewport.
30480 Use 'render_target' and 'window'.
30481 Call 'repaint_callback'.
30482 (grub_gfxterm_cls): Likewise.
30483 (grub_gfxterm_refresh): Use 'window'.
30484 (grub_gfxterm_set_repaint_callback): New function.
30485 (grub_gfxterm_background_image_cmd): Use 'window'.
30486 (grub_gfxterm_get_term): New function.
30487 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
30488
304892010-02-06 Colin D Bennett <colin@gibibit.com>
30490
30491 Bitmap scaling support.
30492
30493 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
30494 (bitmap_scale_mod_SOURCES): New variable.
30495 (bitmap_scale_mod_CFLAGS): Likewise.
30496 (bitmap_scale_mod_LDFLAGS): Likewise.
30497 * include/grub/bitmap_scale.h: New file.
30498 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
30499 (background_image_cmd_options): New variable.
30500 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
30501 (cmd): Rename and change type to ...
30502 (background_image_cmd_handle): ... this. All users updated.
30503 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
30504 * video/bitmap_scale.c: New file.
30505
305062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30507
30508 SDL support.
30509
30510 * Makefile.in (LIBSDL): New variable.
30511 (enable_grub_emu_sdl): Likewise.
30512 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
30513 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
30514 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
30515 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
30516 * util/sdl.c: New file.
30517
305182010-02-06 Colin D Bennett <colin@gibibit.com>
305192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30520
30521 Double buffering support.
30522
30523 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
30524 * include/grub/video.h: Update comment.
30525 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
30526 New type.
30527 (grub_video_fb_doublebuf_blit_init): New prototype.
30528 * term/gfxterm.c (scroll_up): Support double buffering.
30529 (grub_gfxterm_refresh): Likewise.
30530 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
30531 (grub_video_fb_doublebuf_blit_init): Likewise.
30532 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
30533 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
30534 'displayed_page', 'render_page' and 'update_screen'.
30535 (grub_video_vbe_fini): Free offscreen buffer.
30536 (doublebuf_pageflipping_commit): New function.
30537 (doublebuf_pageflipping_update_screen): Likewise.
30538 (doublebuf_pageflipping_init): Likewise.
30539 (double_buffering_init): Likewise.
30540 (grub_video_vbe_setup): Enable doublebuffering.
30541 (grub_video_vbe_swap_buffers): Implement.
30542 (grub_video_vbe_set_active_render_target): Handle double buffering.
30543 (grub_video_vbe_get_active_render_target): Likewise.
30544 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
30545 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
30546 (grub_video_vbe_enable_double_buffering): Likewise.
30547 (grub_video_vbe_swap_buffers): Use update_screen.
30548 (grub_video_set_mode): Use double buffering.
30549
305502010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30551
30552 * maintainance/gentrigtables.py: Remove.
30553 * lib/trig.c: Likewise.
30554
30555 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
30556
30557 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
30558 `trigtables.c'.
30559 (trigtables.c): New rule.
30560 (gentrigtables): Likewise.
30561 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
30562
305632010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30564
30565 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
30566 integer constants.
30567
305682010-02-06 Colin D Bennet <colin@gibibit.com>
30569
30570 Trigonometry support.
30571
30572 * include/grub/trig.h: New file.
30573 * lib/trig.c: Likewise.
30574 * maintainance/gentrigtables.py: Likewise.
30575 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
30576 (trig_mod_SOURCES): New variable.
30577 (trig_mod_CFLAGS): Likewise.
30578 (trig_mod_LDFLAGS): Likewise.
30579
5562834e
VS
305802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30581
30582 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
30583 disk devices.
30584
4f8528fc
VS
305852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30586
30587 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
30588 error.
30589
2b4068e9
VS
305902010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30591
30592 * util/hostdisk.c (open_device): Don't use partition device when reading
30593 before the partition.
30594 (grub_util_biosdisk_read): Don't read from partition and before the
30595 partition in single operation.
30596 (grub_util_biosdisk_write): Don't write to partition and before the
30597 partition in single operation.
30598
399f6e4d
TL
305992010-02-03 Torsten Landschoff <torsten@debian.org>
30600
30601 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30602 last sectors.
30603
996649b0
VS
306042010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30605
30606 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
30607 CDROM reads.
30608 (grub_biosdisk_write): Refuse to write to CDROM.
30609
3b205d4d
VS
306102010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30611
30612 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
30613
61e89d9d
VS
306142010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30615
30616 * font/font.c (find_glyph): Check that bmp_idx is available before
30617 using it.
30618 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
30619 with (font == NULL).
30620
bf7fcba2
CS
306212010-01-28 Christian Schmitt <chris@ilovelinux.de>
30622
30623 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
30624
f45d2663
BC
306252010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
30626
30627 * include/grub/script_sh.h (sourcecode): Add const qualifier.
30628 * util/grub-script-check.c (getline): Fix empty lines case.
30629
ec1444e6
RM
306302010-01-28 Robert Millan <rmh.grub@aybabtu.com>
30631
30632 * Makefile.in (check): Exit with fail status when one of the tests
30633 fails.
30634 * tests/example_functional_test.c (example_test): Fix reversed assert.
30635 * tests/example_unit_test.c (example_test): Likewise.
30636
2e1cb9bb
CW
306372010-01-28 Colin Watson <cjwatson@ubuntu.com>
30638
30639 * util/grub.d/10_linux.in: This script does not use any of the
30640 contents of gettext.sh, only the external command `gettext', so stop
30641 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
30642 the same prefix as GRUB.)
30643 * util/grub.d/10_kfreebsd.in: Likewise.
30644
63533ab0
VS
306452010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30646
30647 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
30648 of the line.
30649
989e1f93
VS
306502010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30651
30652 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30653 last sectors.
30654
e709ebe2
VS
306552010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30656
30657 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
30658 having a 4KiB and not 32KiB buffer size.
30659
27dea7ed
RM
306602010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30661
30662 * util/hostfs.c: Include `<errno.h>'.
30663 (grub_hostfs_read): Handle errors from fseeko() and fread().
30664
67667b9c
RM
306652010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30666
30667 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
30668 loop when using read hooks on files whose size isn't sector-aligned.
30669
c294d9d8
RM
306702010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30671
30672 Remove unused parameter.
30673
30674 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
30675 (grub_iso9660_open): Remove initialization of `data->length'.
30676
af75a9f1
RM
306772010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30678
30679 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
30680 memleak conditions.
30681
254e2ce5 306822010-01-27 Carles Pina i Estany <carles@pina.cat>
30683
30684 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
30685 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
30686
b510928c 306872010-01-26 Carles Pina i Estany <carles@pina.cat>
30688
30689 * util/bin2h.c (usage): Fix warning (space after backslash).
30690
aa2f9dd2 306912010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 30692
30693 * font/font.c: Include `grub/fontformat.h.
30694 Remove font file format constants.
30695 (grub_font_load): Use the new macros.
30696 * include/grub/fontformat.h: New file.
30697 * util/grub-mkfont.c: Include `grub/fontformat.c'.
30698 (write_font_pf2): Use the new macros.
30699
94e7e712
RM
307002010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30701
30702 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
30703 does.
30704
3973a59a
RM
307052010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30706
30707 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
30708
30709 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
30710 (_start): Macroify `0x7F'.
30711
30712 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
30713 (make_install_device): Use "(pxe)" as fallback prefix when booting
30714 via PXE.
30715
42e0cba3
GS
307162010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
30717
30718 * configure.ac: Reset LIBS after check for libgcc symbols.
30719
847effd8
CW
307202010-01-25 Colin Watson <cjwatson@ubuntu.com>
30721
30722 * util/hostdisk.c (open_device): Add trailing newline to debug
30723 message.
30724
ea4a7e35
GS
307252010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
30726
30727 * configure.ac: Check for `limits.h'.
30728 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
30729
67951a53
RM
307302010-01-24 Robert Millan <rmh.grub@aybabtu.com>
30731
30732 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
30733 capitalize error strings.
30734
c273d4ce
ST
307352010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
30736
30737 * util/grub.d/10_hurd.in: Add a recovery mode.
30738
69be5b74
VS
307392010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
30740
30741 * configure.ac: Check for libgcc symbols with -nostdlib.
30742
fc9e5810
BC
307432010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
30744
30745 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
30746
4b358c0a
VS
307472010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30748
30749 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
30750 stack since heap may be unavailable at that point.
30751 (grub_ofconsole_gotoxy): Likewise.
30752
454fcd1c
VS
307532010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30754
30755 * configure.ac: Check for _restgpr_14_x.
30756 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
30757 and _savegpr_* prototypes.
30758
566863ca
RM
307592010-01-22 Robert Millan <rmh.grub@aybabtu.com>
30760
30761 Use generic grub_reboot() for i386-efi.
30762
30763 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
30764 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
30765 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
30766
bf86e59a
VS
307672010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30768
30769 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
30770 presence of "prefix" variable as it breaks when normal.mod is
30771 embedded.
30772
d645e0f8
VS
307732010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30774
30775 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
30776 stack since heap is unavailable at that point.
30777
f9ab2e25
VS
307782010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30779
30780 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
30781 (grub_freebsd_bootinfo): Rewritten.
30782 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
30783
01fc7054
VS
307842010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30785
30786 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
30787
caab4fd6
RM
307882010-01-21 Robert Millan <rmh.grub@aybabtu.com>
30789
30790 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
30791 domain now.
30792
67eb1427
FZ
307932010-01-20 Felix Zielcke <fzielcke@z-51.de>
30794
30795 * util/misc.c (make_system_path_relative_to_its_root): Change the work
30796 around for handling "/" to the correct fix. Fix a memory leak. Use
30797 xstrdup instead of strdup.
30798
a9ed4ff3
VS
307992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30800
30801 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
30802
308032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
30804
30805 Optimise glyph lookup by Basic Multilingual Plane lookup array.
30806
30807 * font/font.c (struct grub_font): New member 'bmp_idx'.
30808 (font_init): Initialise 'bmp_idx'.
30809 (load_font_index): Fill 'bmp_idx'.
30810 (find_glyph): Make inline. Use bmp_idx for BMP characters.
30811
48209f4f
VS
308122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30813
30814 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
30815 unnecessary calls.
30816
9f0a4bb7
VS
308172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30818
30819 Move context handling out of the kernel.
30820
30821 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
30822 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
30823 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
30824 * conf/i386-efi.rmk: Likewise.
30825 * conf/i386-ieee1275.rmk: Likewise.
30826 * conf/i386-pc.rmk: Likewise.
30827 * conf/powerpc-ieee1275.rmk: Likewise.
30828 * conf/sparc64-ieee1275.rmk: Likewise.
30829 * conf/x86_64-efi.rmk: Likewise.
30830 * include/grub/env.h: Include grub/menu.h.
30831 (grub_env_var_type): Removed.
30832 (grub_env_var): Replaced field 'type' with 'global'.
30833 (grub_env_find): New prototype.
30834 (grub_env_context_open): Remove EXPORT_FUNC.
30835 (grub_env_context_close): Likewise.
30836 (grub_env_export): Likewise.
30837 (grub_env_set_data_slot): Removed.
30838 (grub_env_get_data_slot): Likewise.
30839 (grub_env_unset_data_slot): Likewise.
30840 (grub_env_unset_menu): New prototype.
30841 (grub_env_set_menu): Likewise.
30842 (grub_env_get_menu): Likewise.
30843 * include/grub/env_private.h: New file.
30844 * include/grub/normal.h (grub_context_init): New prototype.
30845 (grub_context_fini): Likewise.
30846 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
30847 * normal/context.c (grub_cmd_export): ... to here.
30848 * kern/env.c: Include env_private.h.
30849 (HASHSZ): Moved to include/grub/env_private.h.
30850 (grub_env_context): Likewise.
30851 (grub_env_sorted_var): Likewise.
30852 (current_context): Renamed from this ...
30853 (grub_current_context): ...to this. 'static' removed. All users updated.
30854 (grub_env_find): Removed 'static'.
30855 (grub_env_context_open): Moved to normal/context.c.
30856 (grub_env_context_close): Likewise.
30857 (grub_env_export): Likewise.
30858 (mangle_data_slot_name): Removed.
30859 (grub_env_set_data_slot): Likewise.
30860 (grub_env_get_data_slot): Likewise.
30861 (grub_env_unset_data_slot): Likewise.
30862 * kern/main.c (grub_set_root_dev): Don't export root.
30863 It will be done later.
30864 (grub_main): Don't export prefix.
30865 It will be done later.
30866 * normal/context.c: New file.
30867 * normal/main.c (free_menu): Use grub_env_unset_menu.
30868 (grub_normal_add_menu_entry): Use grub_env_get_menu.
30869 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
30870 (GRUB_MOD_INIT(normal)): Call grub_context_init.
30871 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
30872
8dd35b8c
VS
308732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30874
30875 setpci support.
30876
30877 * commands/setpci.c: New file.
30878 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
30879 (setpci_mod_SOURCES): New variable.
30880 (setpci_mod_CFLAGS): Likewise.
30881 (setpci_mod_LDFLAGS): Likewise.
30882
449193d5
VS
308832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30884
30885 Byte-addressable PCI configuration space.
30886
30887 * bus/pci.c (grub_pci_make_address): Use byte address instead of
30888 dword address.
30889 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
30890 GRUB_PCI_REG_CACHELINE.
30891 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
30892 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
30893 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
30894 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
30895 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
30896 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
30897 grub_pci_make_address.
30898 (lock_rom_area): Likewise.
30899 * commands/lspci.c (grub_lspci_iter): Use macroses
30900 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
30901 of grub_pci_make_address.
30902 * disk/ata.c (grub_ata_pciinit): Likewise.
30903 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
30904 (GRUB_PCI_REG_VENDOR): Likewise.
30905 (GRUB_PCI_REG_DEVICE): Likewise.
30906 (GRUB_PCI_REG_COMMAND): Likewise.
30907 (GRUB_PCI_REG_STATUS): Likewise.
30908 (GRUB_PCI_REG_REVISION): Likewise.
30909 (GRUB_PCI_REG_CLASS): Likewise.
30910 (GRUB_PCI_REG_CACHELINE): Likewise.
30911 (GRUB_PCI_REG_LAT_TIMER): Likewise.
30912 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
30913 (GRUB_PCI_REG_BIST): Likewise.
30914 (GRUB_PCI_REG_ADDRESSES): Likewise.
30915 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30916 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30917 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30918 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30919 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30920 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30921 (GRUB_PCI_REG_CIS_POINTER): Likewise.
30922 (GRUB_PCI_REG_SUBVENDOR): Likewise.
30923 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
30924 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
30925 (GRUB_PCI_REG_CAP_POINTER): Likewise.
30926 (GRUB_PCI_REG_IRQ_LINE): Likewise.
30927 (GRUB_PCI_REG_IRQ_PIN): Likewise.
30928 (GRUB_PCI_REG_MIN_GNT): Likewise.
30929 (GRUB_PCI_REG_MAX_LAT): Likewise.
30930 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
30931 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
30932 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 30933 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
30934 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
30935 space.
30936
96d73208
RM
309372010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30938
30939 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
30940 can be reliably determined to be supported.
30941
d4484482
RM
309422010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30943
30944 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
30945 that VESA is supported.
30946 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
30947 supported.
30948
00308ecf
VS
309492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30950
30951 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
30952
f66924a4
RM
309532010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30954
30955 * util/misc.c (make_system_path_relative_to_its_root): Work around
30956 special-casing of "/", as previous incarnation of this routine did.
30957
cbca0ada
VS
309582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30959
30960 Fix any-emu compilation.
30961
30962 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
30963 * grub_bin2h_SOURCES: New variable.
30964
34a66d99
RM
309652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30966
30967 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
30968
94fabf58
RM
309692010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30970
30971 * util/grub.d/00_header.in: Fix handling of locale_dir.
30972
02cf98ca
VS
309732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30974
30975 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
30976 as possible unifont location (Gentoo).
30977 Reported by: Alexander Brüning
30978
327dbcd7
VS
309792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30980
30981 Don't try to generate lists for kernel.img.
30982
30983 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
30984 (pkglib_MODULES): Remove kernel.img.
30985 (kernel_img_EXPORTS): Removed.
30986 (kernel_img_RELOCATABLE): New variable.
30987 * conf/x86_64-efi.rmk: Likewise.
30988 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
30989
ca467290
VS
309902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30991
30992 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
30993 grub_xasprintf or grub_snprintf.
30994 (grub_vsprintf): Likewise.
30995 (grub_snprintf): New proto.
30996 (grub_vsnprintf): Likewise.
30997 (grub_xasprintf): Likewise.
30998 (grub_xvasprintf): Likewise.
30999 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
31000 (grub_sprintf): Removed.
31001 (grub_vsnprintf): New function.
31002 (grub_snprintf): Likewise.
31003 (grub_xvasprintf): Likewise.
31004 (grub_xasprintf): Likewise.
31005 (grub_vsprintf): Renamed to ...
31006 (grub_vsnprintf_real): ...this. New argument max_len.
31007
aca655fd
BC
310082010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
31009
31010 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
31011 fix grub-script-check warning.
31012
7ee92c32
VS
310132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31014
31015 * include/grub/font.h (grub_font_load): Fix prototype.
31016
f80927ca
VS
310172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31018
31019 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
31020
119c50ea
VS
310212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31022
31023 * include/grub/x86_64/at_keyboard.h: New file.
31024
47d5f3c1
VS
310252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31026
31027 * loader/mips/linux.c: Include missing grub/i18n.h.
31028
55ff5266
RM
310292009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31030
31031 * normal/menu.c (notify_execution_failure): Clarify error message.
31032
c893cc87
RM
310332009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31034
31035 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
31036 return value (and revert all return statements). Update users.
31037
917dd370
CW
310382010-01-20 Dan Merillat <debian@dan.merillat.org>
31039
31040 * kern/device.c (grub_device_iterate): Allocate new part_ent
31041 structure based on sizeof (*p) rather than sizeof (p->next), to
31042 account for structure padding.
31043
31044 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
31045 disk is NULL, which might happen for LVM physical volumes with no
31046 LVM signature.
31047
d4a4ee57
RM
310482009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31049
31050 * loader/mips/linux.c (grub_cmd_initrd)
31051 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
31052
310532009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31054
31055 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
31056 (grub_video_video_init, grub_video_bitmap_init)
31057 (grub_font_manager_init, grub_term_gfxterm_init)
31058 (grub_at_keyboard_init): New extern declarations.
31059 (grub_machine_init): Initialize gfxterm and at_keyboard.
31060
31061 * kern/main.c (grub_main): Revert grub_printf delay kludge.
31062
31063 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
31064 `gfxterm.mod' into core image.
31065
31066 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31067 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31068 (kernel_img_FORMAT): Copy to ...
31069
31070 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31071 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31072 (kernel_img_FORMAT): ... here, and ...
31073
31074 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31075 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31076 (kernel_img_FORMAT): ... here.
31077
31078 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
31079 and input (at_keyboard) terminals in kernel.
31080 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
31081
31082 (pkglib_MODULES): Remove `pci.mod'.
31083 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
31084 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
31085 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31086 (at_keyboard_mod_LDFLAGS): Remove variables.
31087
310882010-01-11 Felix Zielcke <fzielcke@z-51.de>
31089
31090 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
31091
310922009-12-10 Robert Millan <rmh.grub@aybabtu.com>
31093
31094 * include/grub/mips/libgcc.h: Only export symbols for functions
31095 that libgcc provides.
31096
310972009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
31098
31099 MIPS support.
31100
31101 * bus/bonito.c: New file.
31102 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
31103 GRUB_PCI_NUM_DEVICES.
31104 * term/i386/pc/serial.c: Move to ...
31105 * term/serial.c: ... here. All users updated.
31106 * util/i386/pc/grub-mkimage.c: Move to ...
31107 * util/grub-mkrawimage.c: ... here. All users updated.
31108 * term/i386/pc/at_keyboard.c: Move to ...
31109 * term/at_keyboard.c: ... here. All users updated.
31110 * conf/mips-qemu-mips.rmk: New file.
31111 * conf/mips-yeeloong.rmk: Likewise.
31112 * conf/mips.rmk: Likewise.
31113 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
31114 mipsel-qemu-mips.
31115 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
31116 to port addresses.
31117 (grub_ata_pciinit): Support CS5536.
31118 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
31119 * font/font_cmd.c (loadfont_command): Open file before passing it to
31120 grub_font_load.
31121 (pseudo_file_read): New function.
31122 (pseudo_file_close): Likewise.
31123 (pseudo_fs): New structure.
31124 (load_font_module): New function.
31125 (GRUB_MOD_INIT(font_manager)): Load embedded font.
31126 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
31127 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
31128 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
31129 * include/grub/i386/at_keyboard.h: Split into ...
31130 * include/grub/at_keyboard.h: ... this ...
31131 * include/grub/i386/at_keyboard.h: ... and this.
31132 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
31133 New prototype.
31134 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
31135 updated.
31136 (grub_elf64_size): Likewise.
31137 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
31138 filename.
31139 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
31140 * include/grub/i386/coreboot/serial.h: Rewritten.
31141 * include/grub/i386/ieee1275/serial.h: Include
31142 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
31143 * include/grub/i386/pc/serial.h: Moved from here ...
31144 * include/grub/serial.h: ... to here. All users updated.
31145 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
31146 (GRUB_PCI_NUM_BUS): Likewise.
31147 (GRUB_PCI_NUM_DEVICES): Likewise.
31148 (grub_pci_device_map_range): Add missing volatile keyword.
31149 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
31150 * include/grub/mips/at_keyboard.h: New file.
31151 * include/grub/mips/cache.h: Likewise.
31152 * include/grub/mips/io.h: Likewise.
31153 * include/grub/mips/kernel.h: Likewise.
31154 * include/grub/mips/libgcc.h: Likewise.
31155 * include/grub/mips/pci.h: Likewise.
31156 * include/grub/mips/qemu-mips/boot.h: Likewise.
31157 * include/grub/mips/qemu-mips/kernel.h: Likewise.
31158 * include/grub/mips/qemu-mips/loader.h: Likewise.
31159 * include/grub/mips/qemu-mips/memory.h: Likewise.
31160 * include/grub/mips/qemu-mips/serial.h: Likewise.
31161 * include/grub/mips/qemu-mips/time.h: Likewise.
31162 * include/grub/mips/relocator.h: Likewise.
31163 * include/grub/mips/time.h: Likewise.
31164 * include/grub/mips/types.h: Likewise.
31165 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
31166 * include/grub/mips/yeeloong/boot.h: Likewise.
31167 * include/grub/mips/yeeloong/kernel.h: Likewise.
31168 * include/grub/mips/yeeloong/loader.h: Likewise.
31169 * include/grub/mips/yeeloong/memory.h: Likewise.
31170 * include/grub/mips/yeeloong/pci.h: Likewise.
31171 * include/grub/mips/yeeloong/serial.h: Likewise.
31172 * include/grub/mips/yeeloong/time.h: Likewise.
31173 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
31174 * kern/elf.c (grub_elf32_size): New parameter. All users
31175 updated.
31176 (grub_elf64_size): Likewise.
31177 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
31178 Load modules before saying "Welcome to GRUB!".
31179 Call grub_refresh after saying "Welcome to GRUB!".
31180 * kern/mips/cache.S: New file.
31181 * kern/mips/cache_flush.S: Likewise.
31182 * kern/mips/dl.c: Likewise.
31183 * kern/mips/init.c: Likewise.
31184 * kern/mips/qemu-mips/init.c: Likewise.
31185 * kern/mips/startup.S: Likewise.
31186 * kern/mips/yeeloong/init.c: Likewise.
31187 * kern/term.c (grub_putcode): Handle NULL terminal.
31188 (grub_getcharwidth): Likewise.
31189 (grub_getkey): Likewise.
31190 (grub_checkkey): Likewise.
31191 (grub_getkeystatus): Likewise.
31192 (grub_getxy): Likewise.
31193 (grub_getwh): Likewise.
31194 (grub_gotoxy): Likewise.
31195 (grub_cls): Likewise.
31196 (grub_setcolorstate): Likewise.
31197 (grub_setcolor): Likewise.
31198 (grub_getcolor): Likewise.
31199 (grub_refresh): Likewise.
31200 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
31201 (write_jump): Add hatch nop.
31202 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
31203 * lib/mips/setjmp.S: New file.
31204 * loader/mips/linux.c: Likewise.
31205 * term/i386/pc/at_keyboard.c: Move from here ...
31206 * term/at_keyboard.c: ... to here.
31207 * term/i386/pc/serial.c: Moved from here ...
31208 * term/serial.c: ... to here. All users updated.
31209 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
31210 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
31211 (serial_translate_key_sequence): Avoid deadlock.
31212 (grub_serial_getkey): Handle backspace.
31213 (grub_serial_putchar): Fix newline handling.
31214 * util/i386/pc/grub-mkimage.c: Move from here ...
31215 * util/grub-mkrawimage.c: ... to here. All users updated.
31216 (generate_image): New parameters 'font_path' and 'format'.
31217 Support embedding font.
31218 Use grub_host_to_target* instead of grub_cpu_to_le*.
31219 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
31220 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
31221 (options): New option "--font".
31222 (usage): Likewise.
31223 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
31224 (main): Handle "--font".
31225 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
31226 (grub_virtual_screen_setup): Set bg_color_display.
31227 (redraw_screen_rect): Use bg_color_display instead of incorrect
31228 bg_color.
31229 (grub_gfxterm_cls): Likewise.
31230 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
31231 Support embedding config file.
31232 (add_segments): Likewise.
31233 (options): New option "--config".
31234 (main): Handle "--config".
31235 * video/sm712.c: New file.
31236
25c2b5b3
RM
312372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31238
31239 Fix parallel builds.
31240
31241 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
31242 font.c depend on ascii.h).
31243
312442010-01-12 Carles Pina i Estany <carles@pina.cat>
31245
31246 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
31247
312482010-01-11 Carles Pina i Estany <carles@pina.cat>
31249
31250 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
31251 By default: disabled.
31252 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
31253 parameter.
31254
312552010-01-10 Carles Pina i Estany <carles@pina.cat>
31256
31257 * font/font.c: Update copyright years.
31258 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
31259
312602010-01-10 Carles Pina i Estany <carles@pina.cat>
31261
31262 * font/font.c: Include `ascii.h'.
31263 (ASCII_BITMAP_SIZE): New macro.
31264 (ascii_font_glyph): Define.
31265 (ascii_glyph_lookup): New function.
31266 (grub_font_get_string_width): Change comment. If glyph not found, use
31267 ascii_glyph_lookup.
31268 (grub_font_get_glyph_with_fallback): If glyph not available returns
31269 ascii_glyph_lookup.
31270 * util/grub-mkfont.c (file_formats): New enum.
31271 (options): Add `ascii-bitmaps' new option.
31272 (usage): Add `asii-bitmaps' new option.
31273 (write_font_ascii_bitmap): New function.
31274 (write_font): Rename to ...
31275 (write_font_p2): ... this. Remove print_glyphs call.
31276 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
31277 used. Call print_glyphs.
31278 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
31279
312802010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31281
31282 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
31283 (grub_bin2h_SOURCES): New variable.
31284 * util/bin2h.c: New file.
31285
915fc1b8
VS
312862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31287
31288 * include/multiboot.h: Resynced with spec.
31289 * include/multiboot2.h: Likewise.
31290 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
31291 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
31292
9444b678
RM
312932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31294
31295 * include/grub/term.h (grub_term_register_input,
31296 grub_term_register_output): Check return of terminal init()
31297 routines, and abort if errors are raised.
31298
31299 * commands/terminal.c: Update copyright year.
31300
cba98e8d
RM
313012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31302
31303 * commands/terminal.c (grub_cmd_terminal_input)
31304 (grub_cmd_terminal_output): Check return of terminal init()
31305 routines, and abort if errors are raised.
31306
6f7db5d6
VS
313072010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31308
31309 * include/grub/i386/bsd.h: Fix include pathes.
31310
262bff8d
VS
313112010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31312
31313 Add missing *BSD copyright headers.
31314
31315 * include/grub/aout.h: Add BSD licence.
31316 * include/grub/i386/bsd.h: Parts under different licences moved to ...
31317 * include/grub/i386/freebsd_linker.h: ... here,
31318 * include/grub/i386/freebsd_reboot.h: ... here,
31319 * include/grub/i386/netbsd_bootinfo.h: ... here,
31320 * include/grub/i386/netbsd_reboot.h: ... here,
31321 * include/grub/i386/openbsd_bootarg.h: ... here,
31322 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
31323 licence to each file.
31324
b2cab848
RM
313252010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31326
31327 * acinclude.m4: Remove `nop' assembly instruction; it's not
31328 implemented by all architectures.
31329
2cb6be4b
RM
313302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31331
31332 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
31333 ELILO. This is no longer necessary.
31334
a2eaee15
BC
313352010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
31336
31337 Added new tool, grub-scrit-check to verify grub.cfg syntax.
31338
31339 * util/grub-script-check.c: grub-script-check tool.
31340 * conf/common.rmk: Make rules for grub-script-check.
31341
88d17012
RM
313422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31343
31344 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
31345 spotting it back in 2008. Shame on me for forgetting he did.
31346
31347 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
31348
8040619d
RM
313492010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31350
31351 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
31352 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
31353 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
31354 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
31355 (GRUB_VIDEO_TYPE_EFI): Rename to ...
31356 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
31357
a0c2a0f6
RM
313582010-01-17 Robert Millan <rmh.grub@aybabtu.com>
31359
31360 * include/grub/test.h: Add license header.
31361 * tests/example_functional_test.c: Likewise.
31362 * tests/example_unit_test.c: Likewise.
31363 * tests/lib/functional_test.c: Likewise.
31364 * tests/lib/test.c: Likewise.
31365 * tests/lib/unit_test.c: Likewise.
31366
b0b13907
VS
313672010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
31368
31369 Use flag-based instead of hook-based video mode selection and "auto"
31370 keyword.
31371
31372 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
31373 (grub_video_set_mode): Changed prototype. All users updated.
31374 (grub_video_check_mode_flag): New inline function.
31375 * video/video.c (parse_modespec): New function.
31376 (grub_video_set_mode): Parse flags and keywords.
31377
ea379330 313782010-01-17 Carles Pina i Estany <carles@pina.cat>
31379
31380 * util/misc.c (grub_util_info): Fix the order of the parameters in a
31381 fprintf call.
31382
e15c215e
FZ
313832010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
31384
31385 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
31386
409ae1c9 313872010-01-16 Carles Pina i Estany <carles@pina.cat>
31388
31389 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
31390 string.
31391 * util/grub-emu.c (usage): Likewise.
31392 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
31393 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31394 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31395 * util/i386/pc/grub-setup.c (usage): Likewise.
31396
70a14d3d 313972010-01-16 Carles Pina i Estany <carles@pina.cat>
31398
31399 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
31400 the message.
31401 (grub_util_info): Likewise.
31402 (grub_util_error): Likewise.
31403 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
31404 and/or new lines in `grub_util_warna', `grub_util_info',
31405 `grub_util_error' calls.
31406 * util/getroot.c: Likewise.
31407 * util/grub-editenv.c: Likewise.
31408 * util/grub-emu.c: Likewise.
31409 * util/grub-fstest.c: Likewise.
31410 * util/grub-mkdevicemap.c: Likewise.
31411 * util/grub-mkfont.c: Likewise.
31412 * util/grub-mkpasswd-pbkdf2.c: Likewise.
31413 * util/grub-mkrelpath.c: Likewise.
31414 * util/grub-pe2elf.c: Likewise.
31415 * util/grub-probe.c: Likewise.
31416 * util/hostdisk.c: Likewise.
31417 * util/i386/efi/grub-mkimage.c: Likewise.
31418 * util/i386/pc/grub-mkimage.c: Likewise.
31419 * util/i386/pc/grub-setup.c: Likewise.
31420 * util/ieee1275/ofpath.c: Likewise.
31421 * util/mkisofs/eltorito.c: Likewise.
31422 * util/mkisofs/rock.c: Likewise.
31423 * util/mkisofs/write.c: Likewise.
31424 * util/raid.c: Likewise.
31425 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31426 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31427
a0b766fc
VS
314282010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31429
31430 Enable multiboot on non-pc.
31431
31432 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
31433 multiboot.mod and multiboot2.mod to ...
31434 * conf/i386.rmk (pkglib_MODULES): ... here.
31435 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
31436 Moved to ...
31437 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
31438 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
31439 Moved to ...
31440 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
31441 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
31442 Moved to ...
31443 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
31444 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
31445 Moved to ...
31446 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
31447 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
31448 relocator.mod.
31449 (ata_mod_SOURCES): Removed.
31450 (ata_mod_CFLAGS): Likewise.
31451 (ata_mod_LDFLAGS): Likewise.
31452 (relocator_mod_SOURCES): Removed.
31453 (relocator_mod_CFLAGS): Likewise.
31454 (relocator_mod_ASFLAGS): Likewise.
31455 (relocator_mod_LDFLAGS): Likewise.
31456 Include i386.mk.
31457 * include/grub/x86_64/multiboot.h: New file.
31458 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
31459 Terminate EFI.
31460
884ade56
VS
314612010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31462
31463 Video multiboot support.
31464
31465 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
31466 New prototype.
31467 * include/multiboot.h: Resynced with multiboot specification.
31468 * include/multiboot2.h: Likewise.
31469 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
31470 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
31471 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
31472 (HAS_VGA_TEXT): Likewise.
31473 (accepts_video): New variable.
31474 (grub_multiboot_set_accepts_video): New function.
31475 (grub_multiboot_get_mbi_size): Account for video structures.
31476 (set_video_mode): New function.
31477 (retrieve_video_parameters): Likewise.
31478 (grub_multiboot_make_mbi): Fill video fields.
31479
0d90e8a6
VS
314802010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31481
31482 Video driver ids.
31483
31484 * include/grub/video.h (grub_video_driver_id): New type.
31485 (grub_video_adapter): New member 'id'. All users updated.
31486 (grub_video_get_driver_id): New proto.
31487 * video/video.c (grub_video_get_driver_id): New function.
31488
5c71db1b 314892010-01-14 Carles Pina i Estany <carles@pina.cat>
31490
31491 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
31492 `var=val'.
31493
cca15b52 314942010-01-14 Carles Pina i Estany <carles@pina.cat>
31495
31496 * normal/cmdline.c (print_completion): Gettextizze.
31497
c586fbb2 314982001-01-14 Carles Pina i Estany <carles@pina.cat>
31499
31500 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
31501
ba2f6848 315022010-01-14 Carles Pina i Estany <carles@pina.cat>
31503
31504 * gettext/gettext.c (grub_gettext_translate): Push and pop
31505 grub_errno.
31506 (grub_gettext_delete_list): Change comment style.
31507 * kern/err.c (grub_error): Gettextizze.
31508 (grub_fatal): Gettextizze.
31509
0a46429a
RM
315102010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31511
31512 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
31513 (grub_linux16_real_boot): ... this.
31514 * kern/i386/loader.S: Likewise.
31515 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
31516 (grub_linux16_boot): New function. Switches to text mode and calls
31517 grub_linux16_real_boot().
31518
31519 * loader/i386/bsd.c: Include `<grub/video.h>'.
31520 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
31521 text mode before calling grub_unix_real_boot().
31522
31523 * loader/i386/multiboot.c: Include `<grub/video.h>'.
31524 (grub_multiboot_boot): Switch to text mode before calling
31525 grub_relocator32_boot().
31526
31527 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
31528 (grub_chainloader_boot): Switch to text mode before calling
31529 grub_chainloader_real_boot().
31530
d6f93a66
RM
315312010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
315322010-01-05 Colin Watson <cjwatson@ubuntu.com>
31533
31534 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
31535 non-empty value.
31536
315372010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
315382010-01-05 Colin Watson <cjwatson@ubuntu.com>
31539
31540 * util/grub.d/00_header.in: Define a "savedefault" function for use
31541 in menu entries.
31542 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
31543
315442010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
315452010-01-05 Colin Watson <cjwatson@ubuntu.com>
31546
31547 * util/grub-mkconfig_lib.in (save_default_entry): Only set
31548 saved_entry if boot_once is unset.
31549 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
31550 previous saved entry (i.e. grub-reboot).
31551
315522009-12-08 Colin Watson <cjwatson@ubuntu.com>
31553
31554 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
31555
315562009-12-08 Colin Watson <cjwatson@ubuntu.com>
31557
31558 * util/grub.d/00_header.in: Use `set var=val' rather than plain
31559 `var=val'.
31560 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
31561
315622009-12-08 Colin Watson <cjwatson@ubuntu.com>
31563
31564 * util/grub-reboot.in: Fix --version output.
31565 * util/grub-set-default.in: Likewise.
31566
315672009-12-08 Colin Watson <cjwatson@ubuntu.com>
31568
31569 * util/grub.d/00_header.in: Silently ignore zero-sized environment
31570 blocks.
31571
315722009-12-08 Colin Watson <cjwatson@ubuntu.com>
31573
31574 * util/grub.d/00_header.in: Quote the value assigned to `default',
31575 in case it contains spaces.
31576
315772009-12-08 Colin Watson <cjwatson@ubuntu.com>
31578
31579 * util/grub.d/30_os-prober.in: Fix merge error that moved a
31580 `save_default_entry' call from the macosx case to the linux case.
31581
315822009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
315832009-10-25 Colin Watson <cjwatson@ubuntu.com>
31584
31585 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
31586 in `chosen' environment variable.
31587 * normal/menu_text.c (get_entry_number): Check if the variable
31588 matches the title of a menu entry.
31589 (run_menu): Pass menu to get_entry_number.
31590
31591 * util/grub-reboot.in: New file.
31592 * util/grub-set-default.in: New file.
31593 * conf/common.rmk (grub-reboot): New utility.
31594 (grub-set-default): New utility.
31595
31596 * util/grub-mkconfig_lib.in (save_default_entry): New function.
31597 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
31598 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
31599 move it to `saved_entry' for the next boot. Load environment on
31600 initialisation.
31601 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
31602 * util/grub.d/10_hurd.in: Likewise.
31603 * util/grub.d/10_linux.in (linux_entry): Likewise.
31604 * util/grub.d/10_windows.in: Likewise.
31605 * util/grub.d/30_os-prober.in: Likewise.
31606
31607 * util/grub-install.in: Create environment block.
31608 * util/i386/efi/grub-install.in: Likewise.
31609 * util/ieee1275/grub-install.in: Likewise.
31610 * util/sparc64/ieee1275/grub-install.in: Likewise.
31611
0934d184
BC
316122010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
31613
31614 Unit testing framework for GRUB.
31615
31616 * Makefile.in: Test framework build rules for 'make check'.
31617 * conf/tests.rmk: Build rules for individual tests and framework.
31618
31619 * include/grub/test.h: Header file for whitebox tests.
31620 * tests/lib/functional_test.c: Framework support for whitebox
31621 functional tests.
31622 * tests/lib/test.c: Common whitebox testing code for unit and
31623 functional tests.
31624 * tests/lib/unit_test.c: Framework support for whitebox unit
31625 tests.
31626
31627 * tests/util/grub-shell-tester.in: Support utility for grub-script
31628 tests.
31629 * tests/util/grub-shell.in: Utility to execute grub-script
31630 commands in a Qemu instance.
31631
31632 * tests/example_functional_test.c: Example whitebox functional
31633 test.
31634 * tests/example_grub_script_test.in: Example grub-script test.
31635 * tests/example_scripted_test.in: Example scripted test.
31636 * tests/example_unit_test.c: Example whitebox unit test.
31637
9c4ffeeb
VS
316382010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
31639
31640 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
31641 Add loader/i386/multiboot_mbi.c.
31642 (multiboot2_mod_SOURCES): Likewise.
31643 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
31644 (multiboot2_mod_SOURCES): Likewise.
31645 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
31646 (grub_multiboot_make_mbi): Likewise.
31647 (grub_multiboot_free_mbi): Likewise.
31648 (grub_multiboot_init_mbi): Likewise.
31649 (grub_multiboot_add_module): Likewise.
31650 (grub_multiboot_set_bootdev): Likewise.
31651 * loader/i386/multiboot.c (mbi): Removed.
31652 (mbi_dest): Likewise.
31653 (alloc_mbi): New variable.
31654 (grub_multiboot_payload_size): Removed. All users updated.
31655 (grub_multiboot_pure_size): New variable.
31656 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
31657 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
31658 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
31659 (grub_fill_multiboot_mmap): Likewise.
31660 (grub_multiboot_get_bootdev): Likewise.
31661 (grub_multiboot): Use multiboot_mbi functions.
31662 * loader/i386/multiboot_mbi.c: New file.
31663
17383dfe
VS
316642010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31665
31666 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
31667 it would result in module crash.
31668
c1f28820
VS
316692010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31670
31671 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
31672 (grub_ofconsole_getwh): Split to ...
31673 (grub_ofconsole_getwh): ... this.
31674 (grub_ofconsole_dimensions): ...and this.
31675 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
31676
58655a16
RM
316772010-01-13 Robert Millan <rmh.grub@aybabtu.com>
31678
31679 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
31680
10891398
VS
316812010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31682
31683 * loader/i386/pc/multiboot2.c: Removed stalled file.
31684
0b8a223c
VS
316852010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31686
31687 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
31688 Reported by: Grégoire Sutre
31689
92ab12b0
RM
316902010-01-11 Robert Millan <rmh.grub@aybabtu.com>
31691
31692 * util/misc.c (canonicalize_file_name): New function.
31693 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
31694 instead of realpath().
31695
a788afb6
CW
316962010-01-11 Colin Watson <cjwatson@ubuntu.com>
31697
31698 * util/grub-install.in (usage): Clarify meaning of --root-directory,
31699 and make it clearer that it's optional. Based on confusion
31700 witnessed on IRC.
31701
ffa8e3d2
VS
317022010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31703
31704 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
31705 in premature implicit newline.
31706
e9060a9d
VS
317072010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31708
31709 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
31710 which resulted in garbled command line at the end of screen.
31711
f0d0c0b7
RM
317122010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31713
31714 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
31715 initialization with similar approach as with other Linux loaders.
31716
0e60bae7
RM
317172010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31718
31719 Fix i386-ieee1275 build.
31720
31721 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
31722 and grub_term_height() for video_{width,height} initialization.
31723
317242010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
31725
31726 Fix grub-emu build.
31727
31728 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
31729
cdb3f378
RM
317302010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
317312010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31732
31733 Support for multiple terminals.
31734
31735 * Makefile.in (pkglib_DATA): terminal.lst.
31736 (terminal.lst): New target.
31737 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
31738 (GRUB_MOD_INIT(handler)): Likewise.
31739 (GRUB_MOD_FINI(handler)): Likewise.
31740 * commands/help.c (grub_cmd_help): Handle multiple terminals.
31741 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
31742 * commands/sleep.c (do_print): Use grub_term_restore_pos.
31743 (grub_cmd_sleep): Use grub_term_save_pos.
31744 * commands/terminal.c: New file.
31745 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
31746 commands/terminal.c and lib/charset.c.
31747 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
31748 (pkglib_MODULES): Add terminal.mod.
31749 (terminal_mod_SOURCES): New variable.
31750 (terminal_mod_CFLAGS): Likewise.
31751 (terminal_mod_LDFLAGS): Likewise.
31752 * genhandlerlist.sh: Don't handle terminals.
31753 * genmk.rb: Generate terminal-*.lst.
31754 * genterminallist.sh: New file.
31755 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
31756 (grub_is_valid_utf8): Likewise.
31757 (grub_utf8_to_ucs4_alloc): Likewise.
31758 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
31759 (grub_menu_register_viewer): Changed argument.
31760 (grub_menu_try_text): New proto.
31761 (grub_gfxmenu_try_hook): New declaration.
31762 * include/grub/normal.h (grub_normal_exit_level): New declaration.
31763 (grub_menu_init_page): Additional argument term.
31764 (grub_normal_init_page): Likewise.
31765 (grub_cmdline_get): Arguments simplified.
31766 (grub_utf8_to_ucs4_alloc): Removed.
31767 (grub_print_ucs4): Additional argument term.
31768 (grub_getstringwidth): Likewise.
31769 (grub_print_message_indented): Likewise.
31770 (grub_menu_text_register_instances): New proto.
31771 (grub_show_menu): Likewise.
31772 (read_terminal_list): Likewise.
31773 (grub_set_more): Likewise.
31774 * include/grub/parser.h: Include handler.h.
31775 * include/grub/reader.h: Rewritten.
31776 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
31777 (GRUB_TERM_WIDTH): Changed to function.
31778 (GRUB_TERM_HEIGHT): Likewise.
31779 (GRUB_TERM_BORDER_WIDTH): Likewise.
31780 (GRUB_TERM_BORDER_HEIGHT): Likewise.
31781 (GRUB_TERM_NUM_ENTRIES): Likewise.
31782 (GRUB_TERM_ENTRY_WIDTH): Likewise.
31783 (GRUB_TERM_CURSOR_X): Likewise.
31784 (grub_term_input_class): Likewise.
31785 (grub_term_output_class): Likewise.
31786 (grub_term_outputs_disabled): New declaration.
31787 (grub_term_inputs_disabled): Likewise.
31788 (grub_term_outputs): Likewise.
31789 (grub_term_inputs): Likewise.
31790 (grub_term_register_input): Rewritten.
31791 (grub_term_register_output): Likewise.
31792 (grub_term_unregister_input): Likewise.
31793 (grub_term_unregister_output): Likewise.
31794 (FOR_ACTIVE_TERM_INPUTS): New macro.
31795 (FOR_DISABLED_TERM_INPUTS): Likewise.
31796 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
31797 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
31798 * include/grub/terminfo.h: Add oterm argument to all protypes.
31799 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
31800 Use grub_rescue_run.
31801 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
31802 All users updated.
31803 * kern/reader.c: Removed. All users updated.
31804 * kern/rescue_reader.c (grub_rescue_init): Removed.
31805 (grub_rescue_reader): Likewise.
31806 (grub_register_rescue_reader): Likewise.
31807 (grub_rescue_run): New function based on kern/reader.c.
31808 * kern/term.c: Adapted for multiterm.
31809 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
31810 (grub_is_valid_utf8): Likewise.
31811 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
31812 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
31813 right terminal.
31814 * loader/i386/linux.c (grub_linux_boot): Likewise.
31815 * normal/auth.c (grub_username_get): New function.
31816 (grub_auth_check_authentication): Use grub_username_get.
31817 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
31818 * normal/color.c: Adapt for multiterm.
31819 * normal/main.c (read_config_file): Don't use grub_reader_loop.
31820 (grub_normal_init_page): Additional argument term.
31821 (read_lists): Call read_terminal_lists.
31822 (grub_enter_normal_mode): Call grub_cmdline_run.
31823 Handle grub_normal_exit_level.
31824 (grub_cmd_normal): Make reentrant.
31825 (grub_cmd_normal_exit): New function.
31826 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
31827 * normal/menu.c: Adapt for multiterm.
31828 * normal/menu_entry.c: Likewise.
31829 * normal/menu_text.c: Likewise.
31830 * normal/menu_viewer.c: Removed. All users updated.
31831 * normal/term.c: New file.
31832 * util/console.c: Change order of includes to workaround a bug in
31833 ncurses headers.
31834 * term/terminfo.c: New argument oterm on all exported functions.
31835 All users updated.
31836 * util/grub-editenv.c (grub_term_input_class): Removed.
31837 (grub_term_output_class): Likewise.
31838
1a064917
RM
318392010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31840
31841 Make loader output a bit more user-friendly.
31842
31843 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
31844 is being loaded. Likewise for the Hurd.
31845
31846 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
31847 that kernel of FreeBSD ${version} is being loaded.
31848
31849 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
31850 grub_dprintf().
31851 (grub_cmd_initrd): Likewise.
31852 * util/grub.d/10_linux.in (linux_entry): Print message indicating
31853 that Linux ${version} is being loaded. Likewise for initrd.
31854
5ce0a83a 318552010-01-09 Carles Pina i Estany <carles@pina.cat>
31856
31857 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
31858
809bbfeb 318592010-01-08 Carles Pina i Estany <carles@pina.cat>
31860
31861 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
31862 (GRUB_MOD_INIT): Gettextizze.
31863 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
31864 (GRUB_MOD_INIT): Gettextizze.
31865 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
31866 (grub_cmd_linux): Capitalise Linux.
31867 (GRUB_MOD_INIT): Gettextizze.
31868 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
31869 (grub_cmd_linux): Capitalise Linux.
31870 (GRUB_MOD_INIT): Gettextizze.
31871 * loader/i386/linux.c: Include `<grub/i18n.h>'.
31872 (grub_cmd_linux): Capitalise Linux.
31873 (GRUB_MOD_INIT): Gettextizze.
31874 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
31875 (GRUB_MOD_INIT): Gettextizze.
31876 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
31877 (grub_cmd_linux): Capitalise Linux.
31878 (GRUB_MOD_INIT): Gettextizze.
31879 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
31880 (grub_cpu_xnu_init): Gettextizze.
31881 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
31882 (GRUB_MOD_INIT): Gettextizze.
31883 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
31884 (GRUB_MOD_INIT): Gettextizze.
31885 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
31886 (grub_linux_load64): Capitalise Linux.
31887 (GRUB_MOD_INIT): Gettextizze.
31888 * loader/xnu.c: Include `<grub/i18n.h>'.
31889 (GRUB_MOD_INIT): Gettextizze.
31890 * po/POTFILES: Add `loader/efi/appleloader.c',
31891 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
31892 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
31893 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
31894 `loader/i386/xnu.c', `loader/multiboot_loader.c',
31895 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
31896 and `loader/xnu.c'.
31897
b394b2ca
RM
318982010-01-08 Robert Millan <rmh.grub@aybabtu.com>
31899
31900 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
31901
319022010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
31903
31904 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
31905 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
31906 * util/mkisofs/mkisofs.c (main): Readjust --version output.
31907
bc8b32b3
RM
319082010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31909
31910 Reset Multiboot 2 support. New loader implements the draft in
31911 /branches/multiboot2 and shares as much code as possible with the
31912 production Multiboot 1 implementation.
31913
31914 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
31915 * loader/multiboot2.c: Likewise.
31916 * loader/i386/multiboot_helper.S: Likewise.
31917 * include/multiboot2.h: Replace with latest version from the draft
31918 in /branches/multiboot2.
31919
31920 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
31921 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
31922 and `loader/multiboot2.c'.
31923 (pkglib_MODULES): Add `multiboot2.mod'.
31924 (multiboot2_mod_SOURCES): New variable.
31925 (multiboot2_mod_LDFLAGS): Likewise.
31926 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
31927
31928 * conf/i386-pc.rmk: Likewise.
31929
31930 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31931 (multiboot_mod_SOURCES): Remove variable.
31932 (multiboot_mod_LDFLAGS): Likewise.
31933 (multiboot_mod_CFLAGS): Likewise.
31934
31935 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
31936 `<multiboot2.h>' instead of `<multiboot.h>'.
31937 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
31938 (MULTIBOOT_HEADER_MAGIC): New macros.
31939
31940 * loader/multiboot_loader.c (module_version_status): Remove variable.
31941 (find_multi_boot2_header): Remove function.
31942 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
31943 logic. Always check for the Multiboot version we're compiling for.
31944 (grub_cmd_module_loader): Likewise.
31945 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
31946 command instead of `multiboot'.
31947
5d2c52b8
RM
319482010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31949
31950 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
31951 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
31952 all users.
31953
53108d92
RM
319542010-01-07 Robert Millan <rmh.grub@aybabtu.com>
319552010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31956
31957 Fix breakage introduced with previous commit.
31958
31959 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
31960 commands.
31961 * normal/handler.c (read_handler_list): Revert part of previous commit
31962 affecting this file.
31963 * normal/main.c (read_lists): Move read_handler_list() call back to ...
31964 (grub_normal_execute): ... here.
31965
e2e936b2
RM
319662010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31967
31968 Merge prefix-redefinition-fix branch.
31969
31970 * normal/autofs.c (read_fs_list): Make function capable of being
31971 run multiple times, gracefuly replacing the previous data
31972 structures.
31973 * normal/dyncmd.c (read_command_list): Likewise.
31974 * normal/handler.c (read_handler_list): Likewise.
31975 * normal/main.c (read_lists): New function. Calls all the
31976 list reading functions.
31977 (grub_normal_execute): Use read_lists() instead of calling all
31978 list reading functions explicitly. Register read_lists() as a
31979 variable hook attached to ${prefix}.
31980
607a3701
VS
319812010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31982
31983 Merge crypto branch.
31984
31985 * Makefile.in (pkglib_DATA): Add crypto.lst.
31986 (crypto.lst): New target.
31987 * commands/hashsum.c: New file.
31988 * commands/password.c (check_password): Use grub_crypto_memcmp.
31989 * commands/password_pbkdf2.c: New file.
31990 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
31991 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
31992 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
31993 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
31994 -I$(srcdir)/lib/libgcrypt_wrap.
31995 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
31996 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
31997 password_pbkdf2.mod.
31998 (crypto_mod_SOURCES): New variable.
31999 (crypto_mod_CFLAGS): Likewise.
32000 (crypto_mod_LDFLAGS): Likewise.
32001 (hashsum_mod_SOURCES): New variable.
32002 (hashsum_mod_CFLAGS): Likewise.
32003 (hashsum_mod_LDFLAGS): Likewise.
32004 (pbkdf2_mod_SOURCES): New variable.
32005 (pbkdf2_mod_CFLAGS): Likewise.
32006 (pbkdf2_mod_LDFLAGS): Likewise.
32007 (password_pbkdf2_mod_SOURCES): New variable.
32008 (password_pbkdf2_mod_CFLAGS): Likewise.
32009 (password_pbkdf2_mod_LDFLAGS): Likewise.
32010 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
32011 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
32012 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
32013 Include conf/gcry.rmk.
32014 * include/grub/auth.h: Rewritten.
32015 * include/grub/crypto.h: New file.
32016 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
32017 * include/grub/normal.h (read_crypto_list): New prototype.
32018 * lib/crypto.c: New file.
32019 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
32020 * lib/pbkdf2.c: Likewise.
32021 * normal/auth.c (grub_auth_strcmp): Removed.
32022 (grub_iswordseparator): Likewise.
32023 (grub_auth_strword): Likewise.
32024 (is_authenticated): Use grub_strword.
32025 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
32026 and grub_strword. Pass entered password to authentication callback.
32027 * normal/crypto.c: New file.
32028 * normal/main.c: Call read_crypto_list.
32029 * util/grub-mkpasswd-pbkdf2.c: New file.
32030 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
32031
42841caa
VS
320322010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
32033
32034 Fix descent and ascent calculation.
32035
32036 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
32037 (options): New option "asce".
32038 (usage): Likewise.
32039 (add_char): Ignore invalid glyphs for descent calculation.
32040 Calculate ascent from actual content.
32041 (print_glyphs): Use 'asce'.
32042 (write_font): Likewise. Allow ascent override.
32043 (main): Handle "asce" option.
32044
e7730de7 320452010-01-06 Carles Pina i Estany <carles@pina.cat>
32046
32047 * kern/err.c: Include `<grub/i18n.h>'.
32048 (grub_print_error): Add full stop. Gettextizze.
32049 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
32050 (grub_bsd_load_elf): Capitalise ELF.
32051 (grub_cmd_freebsd_loadenv): Add `s' in error string.
32052 (grub_cmd_freebsd_module): Likewise.
32053 (grub_cmd_freebsd_module_elf): Likewise.
32054 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
32055
40e3a41f 320562010-01-06 Carles Pina i Estany <carles@pina.cat>
32057
32058 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
32059 * commands/search_file.c (HELP_MESSAGE): New macro.
32060 * commands/search_label.c (HELP_MESSAGE): Likewise.
32061 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
32062 * po/POTFILES: Add `commands/search_file.c',
32063 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
32064 `commands/search.c'.
32065
83507e68
RM
320662010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32067
32068 * config.rpath: Update from Gnulib.
32069
465c787b
YB
320702010-01-05 Yves Blusseau <blusseau@zetam.org>
32071
32072 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
32073
6581dd3a
YB
320742010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
32075
32076 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
32077
3bff18c5
CW
320782010-01-05 Colin Watson <cjwatson@ubuntu.com>
32079
32080 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
32081 arguments to fread so that we get a return value in bytes, rather
32082 than something that will normally be rounded down to 0.
32083 Adjust error handling to avoid producing garbage when size_t is not
32084 the same size as long long.
32085
a1368118
CW
320862010-01-05 Colin Watson <cjwatson@ubuntu.com>
32087
32088 * util/mkisofs/write.c (padblock_write): Check return value of
32089 fread.
32090
7c302978
RM
320912010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32092
32093 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
32094 floppy images now.
32095
32096 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
32097
e33ace06
RM
320982010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32099
32100 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
32101 instead of manual alignment.
32102 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
32103 verbose). Avoid attempts to read past end of the device
32104 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
32105 but GRUB_DISK_CACHE_SIZE may exceed that).
32106
4b856776
RM
321072010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32108
32109 * commands/crc.c (grub_cmd_crc): Abort on read errors.
32110 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
32111 it to upper layer.
32112
52c2d97f
VS
321132010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32114
32115 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
32116 New constant.
32117 (grub_efi_piwg_device_path): New structure
32118 (grub_efi_piwg_device_path_t): New type.
32119 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
32120 (devpath_1): Transform to a structure. All users updated.
32121 (devpath_2): Likewise.
32122 (devpath_3): Likewise.
32123 (devpath_4): Likewise.
32124 (devpath_5): Likewise.
32125
98ff6a54
VS
321262010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32127
32128 * loader/efi/appleloader.c: Restored. Update all users.
32129
3a73dcb6
RM
321302010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32131
32132 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
32133
32134 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
32135 (struct boot_blocklist): Move from here ...
32136 * include/grub/i386/pc/boot.h [ASM_FILE]
32137 (struct grub_boot_blocklist): ... to here. Update all users.
32138 (setup): Only initialize `start' member of `first_block'
32139 structure. Add assert() calls to verify the other members.
32140
32141 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
32142 (generate_image): Fix broken blocklist length initialization.
32143 Add assert() call to verify blocklist `segment' field.
32144
ab0eeb0c
RM
321452010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32146
32147 * loader/efi/appleloader.c: Remove. Update all users.
32148
58bc8bd5
RM
321492010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32150
32151 * boot/i386/pc/boot.S: Update copyright year.
32152 * boot/i386/pc/cdboot.S: Likewise.
32153 * boot/i386/pc/diskboot.S: Likewise.
32154 * boot/i386/pc/lnxboot.S: Likewise.
32155 * boot/i386/pc/pxeboot.S: Likewise.
32156 * bus/pci.c: Likewise.
32157 * commands/cmp.c: Likewise.
32158 * commands/help.c: Likewise.
32159 * commands/hexdump.c: Likewise.
32160 * commands/i386/pc/halt.c: Likewise.
32161 * commands/i386/pc/play.c: Likewise.
32162 * commands/i386/pc/vbeinfo.c: Likewise.
32163 * commands/ls.c: Likewise.
32164 * commands/test.c: Likewise.
32165 * disk/dmraid_nvidia.c: Likewise.
32166 * disk/i386/pc/biosdisk.c: Likewise.
32167 * disk/ieee1275/nand.c: Likewise.
32168 * disk/ieee1275/ofdisk.c: Likewise.
32169 * disk/lvm.c: Likewise.
32170 * disk/raid.c: Likewise.
32171 * disk/raid6_recover.c: Likewise.
32172 * disk/scsi.c: Likewise.
32173 * fs/affs.c: Likewise.
32174 * fs/cpio.c: Likewise.
32175 * fs/ext2.c: Likewise.
32176 * fs/hfs.c: Likewise.
32177 * fs/iso9660.c: Likewise.
32178 * fs/ntfs.c: Likewise.
32179 * fs/sfs.c: Likewise.
32180 * fs/udf.c: Likewise.
32181 * fs/ufs.c: Likewise.
32182 * fs/xfs.c: Likewise.
32183 * gencmdlist.sh: Likewise.
32184 * genmk.rb: Likewise.
32185 * include/grub/disk.h: Likewise.
32186 * include/grub/efi/api.h: Likewise.
32187 * include/grub/efi/efi.h: Likewise.
32188 * include/grub/efi/pe32.h: Likewise.
32189 * include/grub/elf.h: Likewise.
32190 * include/grub/fs.h: Likewise.
32191 * include/grub/i386/at_keyboard.h: Likewise.
32192 * include/grub/i386/pc/memory.h: Likewise.
32193 * include/grub/i386/pc/vbe.h: Likewise.
32194 * include/grub/i386/pci.h: Likewise.
32195 * include/grub/i386/tsc.h: Likewise.
32196 * include/grub/ieee1275/ieee1275.h: Likewise.
32197 * include/grub/ntfs.h: Likewise.
32198 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32199 * include/grub/sparc64/libgcc.h: Likewise.
32200 * include/grub/symbol.h: Likewise.
32201 * include/grub/types.h: Likewise.
32202 * include/multiboot2.h: Likewise.
32203 * io/gzio.c: Likewise.
32204 * kern/device.c: Likewise.
32205 * kern/disk.c: Likewise.
32206 * kern/efi/efi.c: Likewise.
32207 * kern/efi/mm.c: Likewise.
32208 * kern/elf.c: Likewise.
32209 * kern/file.c: Likewise.
32210 * kern/i386/dl.c: Likewise.
32211 * kern/i386/pc/init.c: Likewise.
32212 * kern/i386/pc/startup.S: Likewise.
32213 * kern/ieee1275/ieee1275.c: Likewise.
32214 * kern/ieee1275/init.c: Likewise.
32215 * kern/main.c: Likewise.
32216 * kern/mm.c: Likewise.
32217 * kern/powerpc/dl.c: Likewise.
32218 * kern/sparc64/dl.c: Likewise.
32219 * kern/x86_64/dl.c: Likewise.
32220 * lib/hexdump.c: Likewise.
32221 * loader/efi/appleloader.c: Likewise.
32222 * loader/i386/ieee1275/linux.c: Likewise.
32223 * loader/i386/pc/chainloader.c: Likewise.
32224 * loader/i386/pc/linux.c: Likewise.
32225 * loader/i386/pc/multiboot2.c: Likewise.
32226 * loader/ieee1275/multiboot2.c: Likewise.
32227 * loader/multiboot2.c: Likewise.
32228 * loader/multiboot_loader.c: Likewise.
32229 * loader/powerpc/ieee1275/linux.c: Likewise.
32230 * normal/completion.c: Likewise.
32231 * normal/menu_entry.c: Likewise.
32232 * partmap/apple.c: Likewise.
32233 * util/grub.d/10_hurd.in: Likewise.
32234 * util/hostfs.c: Likewise.
32235 * video/readers/png.c: Likewise.
32236
e2d70b5c
CW
322372010-01-03 Colin Watson <cjwatson@ubuntu.com>
32238
32239 * include/grub/misc.h (GNUC_PREREQ): New macro.
32240 (ATTRIBUTE_ERROR): New macro.
32241 * include/grub/list.h (grub_bad_type_cast_real): Use
32242 ATTRIBUTE_ERROR.
32243
a173283f 322442010-01-03 Carles Pina i Estany <carles@pina.cat>
32245
32246 * normal/menu_text.c (print_message): Change messages.
32247
7fa7ff74 322482010-01-03 Carles Pina i Estany <carles@pina.cat>
32249
32250 * normal/menu_entry.c (store_completion): Gettextizze.
32251
136d24f6 322522010-01-03 Carles Pina i Estany <carles@pina.cat>
32253
32254 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
32255
f936862e 322562010-01-03 Carles Pina i Estany <carles@pina.cat>
32257
32258 * po/POTFILES: Sort correctly.
32259
29c44ad1 322602010-01-03 Carles Pina i Estany <carles@pina.cat>
32261
32262 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
32263 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
32264 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
32265 full stop.
32266 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
32267 summary. Gettextizze the strings.
32268 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
32269 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
32270 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
32271 full stop.
32272 (GRUB_MOD_INIT): Remove command name from summary.
32273 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
32274 summary.
32275 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
32276 * term/i386/pc/serial.c (options): Add full stops.
32277 (GRUB_MOD_INIT): Remove command name from the summary.
32278
77a79592 322792010-01-03 Carles Pina i Estany <carles@pina.cat>
32280
32281 * commands/acpi.c: Gettextizze help strings and/or options. Include
32282 `grub/i18n.h' if needed.
32283 * commands/blocklist.c: Likewise.
32284 * commands/boot.c: Likewise.
32285 * commands/cat.c: Likewise.
32286 * commands/cmp.c: Likewise.
32287 * commands/configfile.c: Likewise.
32288 * commands/crc.c: Likewise.
32289 * commands/date.c: Likewise.
32290 * commands/echo.c: Likewise.
32291 * commands/efi/fixvideo.c: Likewise.
32292 * commands/efi/loadbios.c: Likewise.
32293 * commands/gptsync.c: Likewise.
32294 * commands/halt.c: Likewise.
32295 * commands/handler.c: Likewise.
32296 * commands/hdparm.c: Likewise.
32297 * commands/hexdump.c: Likewise.
32298 * commands/i386/cpuid.c: Likewise.
32299 * commands/i386/pc/drivemap.c: Likewise.
32300 * commands/i386/pc/halt.c: Likewise.
32301 * commands/i386/pc/pxecmd.c: Likewise.
32302 * commands/i386/pc/vbeinfo.c: Likewise.
32303 * commands/i386/pc/vbetest.c: Likewise.
32304 * commands/ieee1275/suspend.c: Likewise.
32305 * commands/keystatus.c: Likewise.
32306 * commands/loadenv.c: Likewise.
32307 * commands/ls.c: Likewise.
32308 * commands/lsmmap.c: Likewise.
32309 * commands/lspci.c: Likewise.
32310 * commands/memrw.c: Likewise.
32311 * commands/minicmd.c: Likewise.
32312 * commands/parttool.c: Likewise.
32313 * commands/password.c: Likewise.
32314 * commands/probe.c: Likewise.
32315 * commands/read.c: Likewise.
32316 * commands/reboot.c: Likewise.
32317 * commands/search.c: Likewise.
32318 * commands/sleep.c: Likewise.
32319 * commands/test.c: Likewise.
32320 * commands/true.c: Likewise.
32321 * commands/usbtest.c: Likewise.
32322 * commands/videotest.c: Likewise.
32323 * commands/xnu_uuid.c: Likewise.
32324 * disk/loopback.c: Likewise.
32325 * hello/hello.c: Likewise.
32326 * loader/i386/bsd.c: Likewise.
32327 * term/i386/pc/serial.c: Likewise.
32328 * po/POTFILES: Add new files.
32329
da8d5c53
CW
323302010-01-02 Colin Watson <cjwatson@ubuntu.com>
32331
32332 * term/i386/pc/at_keyboard.c
32333 (keyboard_controller_wait_untill_ready): Rename to ...
32334 (keyboard_controller_wait_until_ready): ... this. Update all users.
32335
33937904 323362010-01-01 Carles Pina i Estany <carles@pina.cat>
32337
32338 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
32339 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
32340 string using string width.
32341 * normal/menu_text.c (grub_print_message_indented): Use
32342 grub_print_spaces and not print_spaces.
32343 (print_timeout): Likewise.
32344 (print_spaces): Move to...
32345 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
32346
3fd3b8d8
RM
323472010-01-01 Robert Millan <rmh.grub@aybabtu.com>
32348
32349 Import from Gnulib.
32350
32351 * gnulib/getdelim.c: New file.
32352 * gnulib/getline.c: Likewise.
32353
33433555
VS
323542009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
32355
32356 * include/grub/list.h (grub_assert_fail): Removed.
32357 (grub_bad_type_cast_real): New function.
32358 (grub_bad_type_cast): New macro.
32359 (GRUB_AS_LIST): Use grub_bad_type_cast.
32360 (GRUB_AS_LIST_P): Likewise.
e44721e8 32361 (GRUB_AS_NAMED_LIST): Likewise.
33433555 32362 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 32363 (GRUB_AS_PRIO_LIST): Likewise.
33433555 32364 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 32365 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 32366
f5a51306
VS
323672009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
32368
32369 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
32370 Fix syntax error.
32371
90d1e879
RM
323722009-12-29 Robert Millan <rmh.grub@aybabtu.com>
32373
32374 * configure.ac: Check for TARGET_CFLAGS initialization before we
32375 initialize it ourselves (sigh).
32376 Move a few modifications to TARGET_CFLAGS to be unconditional
32377 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
32378 eh_frame)
32379
32380 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
32381 * term/i386/pc/at_keyboard.c
32382 (keyboard_controller_wait_untill_ready): Likewise.
32383 (keyboard_controller_led): Rename `led_status' paramter to avoid
32384 name conflict.
32385
465b5a81 323862009-12-28 Carles Pina i Estany <carles@pina.cat>
32387
32388 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
32389 quotes.
32390
c181849b
VS
323912009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32392
32393 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
32394
9c8739a4
VS
323952009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32396
32397 * normal/menu_text.c (grub_print_message_indented): Prevent
32398 past-the-end-of-array dereference.
32399
3e74249c
VS
324002009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32401
32402 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
32403 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
32404
64fd18ed 324052009-12-27 Carles Pina i Estany <carles@pina.cat>
32406
32407 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
32408 * normal/main.c (grub_normal_read_line): Remove a space from the
32409 default prompt.
32410
714af9b9 324112009-12-27 Carles Pina i Estany <carles@pina.cat>
32412
32413 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
32414 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32415 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32416 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32417 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32418 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32419 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32420
82f3e412 324212009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 32422
32423 * video/readers/jpeg.c (cmd): Declare.
32424 (grub_cmd_jpegtest): Use `grub_command_t' type.
32425 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32426 Assign to `cmd'.
32427 (GRUB_MOD_FINI): Use `cmd' to unregister.
32428 * video/readers/png.c (cmd): Declare.
32429 (grub_cmd_pngtest): Use `grub_command_t' type.
32430 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32431 Assign to `cmd'.
32432 (GRUB_MOD_FINI): Use `cmd' to unregister.
32433 * video/readers/tga.c (cmd): Declare.
32434 (grub_cmd_tgatest): Use `grub_command_t' type.
32435 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32436 Assign to `cmd'.
32437 (GRUB_MOD_FINI): Use `cmd' to unregister.
32438
82f3e412 324392009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 32440
32441 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
32442 stops.
32443 * kern/corecmd.c (grub_register_core_commands): Likewise.
32444 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
32445 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32446 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
32447 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32448 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32449 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
32450 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32451 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
32452 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32453 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32454 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32455 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32456 * normal/handler.c (insert_handler): Likewise.
32457 * normal/main.c (GRUB_MOD_INIT): Likewise.
32458 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
32459
fdcdbb66 324602009-12-26 Carles Pina i Estany <carles@pina.cat>
32461
32462 * commands/help.c (grub_cmd_help): Print the command name before the
32463 summary.
32464 (GRUB_MOD_INIT): Remove command name from the summary.
32465 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 32466 string as summary.
fdcdbb66 32467 * lib/arg.c (find_long): Print the command name before the summary.
32468 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
32469 summary.
32470 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
32471 * commands/cat.c (GRUB_MOD_INIT): Likewise.
32472 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
32473 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32474 * commands/crc.c (GRUB_MOD_INIT): Likewise.
32475 * commands/date.c (GRUB_MOD_INIT): Likewise.
32476 * commands/echo.c (GRUB_MOD_INIT): Likewise.
32477 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
32478 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32479 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32480 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
32481 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
32482 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
32483 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
32484 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32485 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
32486 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
32487 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
32488 * commands/ls.c (GRUB_MOD_INIT): Likewise.
32489 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32490 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32491 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32492 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
32493 * commands/password.c (GRUB_MOD_INIT): Likewise.
32494 * commands/probe.c (GRUB_MOD_INIT): Likewise.
32495 * commands/read.c (GRUB_MOD_INIT): Likewise.
32496 * commands/search.c (GRUB_MOD_INIT): Likewise.
32497 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
32498 * commands/test.c (GRUB_MOD_INIT): Likewise.
32499 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
32500 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
32501 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
32502 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
32503 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
32504 * lib/arg.c (GRUB_MOD_INIT): Likewise.
32505 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
32506 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32507 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32508 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32509 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
32510 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
32511 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
32512 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
32513
9c288be2
VS
325142009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32515
32516 Use search command for preliminar UUID search.
32517
32518 * commands/search.c: Split into ...
32519 * commands/search_wrap.c: ...this
32520 * commands/search.c: ...and this.
32521 * commands/search_file.c: New file.
32522 * commands/search_label.c: New file.
32523 * commands/search_uuid.c: New file.
32524 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
32525 Add commands/search_wrap.c, commands/search_file.c,
32526 commands/search_label.c and commands/search_uuid.c.
32527 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
32528 (search_mod_SOURCES): Set to commands/search_wrap.c.
32529 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
32530 search_label.mod.
32531 (search_fs_file_mod_SOURCES): New variable.
32532 (search_fs_file_mod_CFLAGS): Likewise.
32533 (search_fs_file_mod_LDFLAGS): Likewise.
32534 (search_label_mod_SOURCES): Likewise.
32535 (search_label_mod_CFLAGS): Likewise.
32536 (search_label_mod_LDFLAGS): Likewise.
32537 (search_fs_uuid_mod_SOURCES): New variable.
32538 (search_fs_uuid_mod_CFLAGS): Likewise.
32539 (search_fs_uuid_mod_LDFLAGS): Likewise.
32540 (fs_file_mod_SOURCES): Removed.
32541 (fs_file_mod_CFLAGS): Likewise.
32542 (fs_file_mod_LDFLAGS): Likewise.
32543 (fs_uuid_mod_SOURCES): Removed.
32544 (fs_uuid_mod_CFLAGS): Likewise.
32545 (fs_uuid_mod_LDFLAGS): Likewise.
32546 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
32547 Set to util/grub-install.in.
32548 * disk/fs_file.c: Removed.
32549 * disk/fs_uuid.c: Likewise.
32550 * include/grub/search.h: New file.
32551 * util/grub-install.in: Handle sparc64.
32552 Create and use load.cfg.
32553 * util/sparc64/ieee1275/grub-install.in: Removed.
32554
db943399
VS
325552009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32556
32557 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
32558 Ignore return status if CF is cleared.
32559 (grub_biosdisk_get_diskinfo_standard): Likewise.
32560
3fdae612
RM
325612009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32562
32563 * term/i386/pc/at_keyboard.c
32564 (keyboard_controller_wait_untill_ready): New function.
32565 (grub_keyboard_controller_write, grub_keyboard_controller_read)
32566 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
32567 for keyboard polling, rather than duplicate the same loop. This
32568 saves a few bytes in code size.
32569
7ebaa2b4
VS
325702009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32571
32572 Support for (pxe[:server[:gateway]]) syntax and
32573 use environment variable for PXE.
32574
32575 * commands/i386/pc/pxecmd.c (options): Removed.
32576 (print_ip): Removed.
32577 (grub_cmd_pxe): Removed
32578 (grub_cmd_pxe_unload): New function.
32579 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
32580 (grub_pxe_your_ip): Made static.
32581 (grub_pxe_default_server_ip): Likewise.
32582 (grub_pxe_default_gateway_ip): Likewise.
32583 (grub_pxe_blksize): Likewise.
32584 (parse_ip): New function.
32585 (grub_pxe_open): Support server and gateway specification.
32586 (grub_pxe_close): Free disk->data.
32587 (grub_pxefs_open): Use disk->data.
32588 (grub_pxefs_read): Likewise.
32589 (grub_env_write_readonly): New function.
32590 (set_mac_env): Likewise.
32591 (set_env_limn_ro): Likewise.
32592 (parse_dhcp_vendor): Likewise.
32593 (grub_pxe_detect): Set the environment variables.
32594 (set_ip_env): New function.
32595 (write_ip_env): Likewise.
32596 (grub_env_write_pxe_default_server): Likewise.
32597 (grub_env_write_pxe_default_gateway): Likewise.
32598 (grub_env_write_pxe_blocksize): Likewise.
32599 (GRUB_MOD_INIT(pxe)): Set environment variables.
32600 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
32601 (grub_pxe_mac_addr_t): ... this. All users updated.
32602 (grub_pxe_your_ip): Removed.
32603 (grub_pxe_server_ip): Likewise.
32604 (grub_pxe_gateway_ip): Likewise.
32605 (grub_pxe_blksize): Likewise.
32606
ec5f98ab 326072009-12-25 Carles Pina i Estany <carles@pina.cat>
32608
32609 * commands/help.c: Include `<grub/i18n.h>'.
32610 (grub_cmd_help): Gettextizze.
32611 (GRUB_MOD_INIT): Likewise.
32612 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
32613 (GRUB_MOD_INIT): Gettextizze.
32614 * commands/search.c: Include `<grub/i18n.h>'.
32615 (options): Gettextizze.
32616 (GRUB_MOD_INIT): Gettextizze.
32617 * lib/arg.c: Include `<grub/i18n.h>'.
32618 (help_options): Gettextizze.
32619 (find_long): Likewise.
32620 (grub_arg_show_help): Likewise.
32621 * normal/dyncmd.c: Include `<grub/i18n.h>'.
32622 (read_command_list): Gettextizze.
32623 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 32624 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 32625
22815526
RM
326262009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32627
32628 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
32629 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
32630 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
32631 (led_status): New variable.
32632 (keyboard_controller_led): New function.
32633 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
32634 update led status for caps lock, num lock and scroll lock.
32635
0ad46fd7
FZ
326362009-12-25 Felix Zielcke <fzielcke@z-51.de>
32637
32638 * util/hostdisk.c (open_device): Fix a comment.
32639
d0e158c2
RM
326402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32641
32642 * util/grub-install.in (host_os): New variable.
32643 * util/i386/efi/grub-install.in (host_os): Likewise.
32644
401c0ad6
RM
326452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32646
32647 * util/mkisofs/write.c (padblock_write): Abort when given an
32648 excedingly large embed image, instead of silently truncating it.
32649
d14d3370
RM
326502009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32651
32652 * include/multiboot.h: Indentation fixes.
32653
eeed10b4
RM
326542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32655
32656 * include/multiboot.h (struct multiboot_aout_symbol_table)
32657 (struct multiboot_elf_section_header_table): New structure
32658 declarations (stolen from GRUB Legacy).
32659 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
32660 table information.
32661
32662 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
32663 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
32664 type aliases.
32665
681c70ab
RM
326662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32667
32668 * include/multiboot.h: Make comments src2texi-friendly.
32669
e4d47d8d
RM
326702009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32671
32672 For consistency with [multiboot]/docs/boot.S.
32673
32674 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
32675 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
32676 (MULTIBOOT_MAGIC2): Rename from this ...
32677 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
32678
a0b70bda
RM
326792009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32680
32681 * include/multiboot.h: Remove `<grub/types.h>'.
32682 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
32683 types. Update all users.
32684
61ba42be 326852009-12-25 Carles Pina i Estany <carles@pina.cat>
32686
32687 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
32688 `couldn't' and `can not' by `cannot'.
32689 * commands/i386/pc/drivemap.c: Likewise.
32690 * disk/ata.c: Likewise.
32691 * disk/ieee1275/nand.c: Likewise.
32692 * fs/affs.c: Likewise.
32693 * fs/fat.c: Likewise.
32694 * fs/hfs.c: Likewise.
32695 * fs/hfsplus.c: Likewise.
32696 * fs/iso9660.c: Likewise.
32697 * fs/jfs.c: Likewise.
32698 * fs/minix.c: Likewise.
32699 * fs/reiserfs.c: Likewise.
32700 * fs/sfs.c: Likewise.
32701 * fs/udf.c: Likewise.
32702 * fs/ufs.c: Likewise.
32703 * fs/xfs.c: Likewise.
32704 * loader/powerpc/ieee1275/linux.c: Likewise.
32705 * loader/sparc64/ieee1275/linux.c: Likewise.
32706 * util/grub-probe.c: Likewise.
32707 * util/misc.c: Likewise.
32708
7fd0baee 327092009-12-24 Carles Pina i Estany <carles@pina.cat>
32710
32711 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
32712 grub_errno calls.
32713 * commands/acpi.c: Likewise.
32714 * commands/blocklist.c: Likewise.
32715 * commands/efi/loadbios.c: Likewise.
32716 * commands/i386/pc/drivemap.c: Likewise.
32717 * commands/loadenv.c: Likewise.
32718 * commands/memrw.c: Likewise.
32719 * commands/password.c: Likewise.
32720 * commands/videotest.c: Likewise.
32721 * disk/ata.c: Likewise.
32722 * disk/ata_pthru.c: Likewise.
32723 * disk/dmraid_nvidia.c: Likewise.
32724 * disk/ieee1275/nand.c: Likewise.
32725 * disk/ieee1275/ofdisk.c: Likewise.
32726 * disk/loopback.c: Likewise.
32727 * disk/lvm.c: Likewise.
32728 * disk/mdraid_linux.c: Likewise.
32729 * disk/raid.c: Likewise.
32730 * disk/raid6_recover.c: Likewise.
32731 * disk/scsi.c: Likewise.
32732 * efiemu/main.c: Likewise.
32733 * efiemu/mm.c: Likewise.
32734 * efiemu/pnvram.c: Likewise.
32735 * efiemu/symbols.c: Likewise.
32736 * font/font.c: Likewise.
32737 * fs/cpio.c: Likewise.
32738 * fs/hfsplus.c: Likewise.
32739 * fs/iso9660.c: Likewise.
32740 * fs/jfs.c: Likewise.
32741 * fs/minix.c: Likewise.
32742 * fs/ntfs.c: Likewise.
32743 * fs/ntfscomp.c: Likewise.
32744 * fs/reiserfs.c: Likewise.
32745 * fs/ufs.c: Likewise.
32746 * fs/xfs.c: Likewise.
32747 * gettext/gettext.c: Likewise.
32748 * include/grub/auth.h: Likewise.
32749 * kern/elf.c: Likewise.
32750 * kern/file.c: Likewise.
32751 * kern/ieee1275/init.c: Likewise.
32752 * kern/ieee1275/mmap.c: Likewise.
32753 * kern/ieee1275/openfw.c: Likewise.
32754 * kern/powerpc/dl.c: Likewise.
32755 * kern/sparc64/dl.c: Likewise.
32756 * lib/arg.c: Likewise.
32757 * loader/i386/bsd.c: Likewise.
32758 * loader/i386/bsdXX.c: Likewise.
32759 * loader/i386/efi/linux.c: Likewise.
32760 * loader/i386/efi/xnu.c: Likewise.
32761 * loader/i386/ieee1275/linux.c: Likewise.
32762 * loader/i386/linux.c: Likewise.
32763 * loader/i386/multiboot.c: Likewise.
32764 * loader/i386/pc/linux.c: Likewise.
32765 * loader/i386/pc/multiboot2.c: Likewise.
32766 * loader/i386/xnu.c: Likewise.
32767 * loader/ieee1275/multiboot2.c: Likewise.
32768 * loader/macho.c: Likewise.
32769 * loader/machoXX.c: Likewise.
32770 * loader/multiboot2.c: Likewise.
32771 * loader/multiboot_loader.c: Likewise.
32772 * loader/powerpc/ieee1275/linux.c: Likewise.
32773 * loader/sparc64/ieee1275/linux.c: Likewise.
32774 * loader/xnu.c: Likewise.
32775 * loader/xnu_resume.c: Likewise.
32776 * mmap/i386/pc/mmap.c: Likewise.
32777 * normal/menu_viewer.c: Likewise.
32778 * partmap/acorn.c: Likewise.
32779 * partmap/amiga.c: Likewise.
32780 * partmap/apple.c: Likewise.
32781 * script/lexer.c: Likewise.
32782 * term/gfxterm.c: Likewise.
32783 * term/i386/pc/serial.c: Likewise.
32784 * term/i386/pc/vga.c: Likewise.
32785 * term/ieee1275/ofconsole.c: Likewise.
32786 * term/terminfo.c: Likewise.
32787 * video/bitmap.c: Likewise.
32788 * video/efi_gop.c: Likewise.
32789 * video/efi_uga.c: Likewise.
32790 * video/fb/video_fb.c: Likewise.
32791 * video/i386/pc/vbe.c: Likewise.
32792 * video/readers/tga.c: Likewise.
32793 * video/video.c: Likewise.
32794
0ad46fd7 327952009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
32796
32797 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
32798 * commands/lspci.c: Likewise.
32799 * commands/probe.c: Likewise.
32800 * commands/xnu_uuid.c: Likewise.
32801 * conf/i386-coreboot.rmk: Likewise.
32802 * conf/i386-efi.rmk: Likewise.
32803 * conf/i386-ieee1275.rmk: Likewise.
32804 * conf/i386-pc.rmk: Likewise.
32805 * conf/powerpc-ieee1275.rmk: Likewise.
32806 * conf/sparc64-ieee1275.rmk: Likewise.
32807 * conf/x86_64-efi.rmk: Likewise.
32808 * fs/i386/pc/pxe.c: Likewise.
32809 * gettext/gettext.c: Likewise.
32810 * include/grub/efi/graphics_output.h: Likewise.
32811 * include/grub/i386/pc/memory.h: Likewise.
32812 * kern/env.c: Likewise.
32813 * kern/i386/qemu/startup.S: Likewise.
32814 * lib/i386/pc/biosnum.c: Likewise.
32815 * lib/i386/relocator.c: Likewise.
32816 * lib/i386/relocator_asm.S: Likewise.
32817 * lib/relocator.c: Likewise.
32818 * loader/i386/bsd.c: Likewise.
32819 * loader/i386/multiboot.c: Likewise.
32820 * loader/i386/pc/chainloader.c: Likewise.
32821 * loader/i386/xnu.c: Likewise.
32822 * loader/xnu.c: Likewise.
32823 * normal/main.c: Likewise.
32824 * normal/menu_text.c: Likewise.
32825 * util/getroot.c: Likewise.
32826 * util/grub-mkconfig_lib.in: Likewise.
32827 * util/grub.d/00_header.in: Likewise.
32828 * util/i386/pc/grub-mkimage.c: Likewise.
32829 * util/mkisofs/eltorito.c: Likewise.
32830 * util/mkisofs/exclude.h: Likewise.
32831 * util/mkisofs/hash.c: Likewise.
32832 * util/mkisofs/iso9660.h: Likewise.
32833 * util/mkisofs/joliet.c: Likewise.
32834 * util/mkisofs/mkisofs.c: Likewise.
32835 * util/mkisofs/mkisofs.h: Likewise.
32836 * util/mkisofs/multi.c: Likewise.
32837 * util/mkisofs/name.c: Likewise.
32838 * util/mkisofs/rock.c: Likewise.
32839 * util/mkisofs/tree.c: Likewise.
32840 * util/mkisofs/write.c: Likewise.
32841 * video/efi_gop.c: Likewise.
32842
009ec743
VS
328432009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
32844
32845 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
32846 size counting.
32847
0ad46fd7 328482009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
32849
32850 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
32851 * genmk.rb (class SCRIPT): Modify the target file instead of source.
32852
d3d30ea0
VS
328532009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32854
32855 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
32856 (GRUB_MOD_INIT(memrw)): Update help line.
32857
a34f5c70
VS
328582009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32859
32860 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
32861 Use grub_extcmd_t. All users updated.
32862 (options): New variable.
32863 (grub_cmd_read): Restructure for readability. Support "-v" option.
32864 (grub_cmd_write): Restructure for readability.
32865
0ad46fd7 328662009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
32867
32868 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
32869
0ad46fd7 328702009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
32871
32872 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
32873 with the actual contents of the correspondending make variable.
32874 * util/grub-mkrescue.in (pkglib_DATA): New variable.
32875 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
32876 specifying `*.lst' and `efiemu??.o'
32877
0ad46fd7 328782009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
32879
32880 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
32881 after function name.
32882 Noticed by Rene Engelhard <rene@debian.org>.
32883
dc77a799
VS
328842009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32885
32886 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
32887 (options): New variable.
32888 (iospace): Likewise.
32889 (grub_lspci_iter): List IO spaces if "-i" was given.
32890 (grub_cmd_lspci): Parse options.
32891 (GRUB_MOD_INIT(lspci)): Use extcmd.
32892 (GRUB_MOD_FINI(lspci)): Likewise.
32893
0ad46fd7 328942009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
32895
32896 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
32897 `function' keyword.
32898 Patch by Tony Mancill <tmancill@debian.org>.
32899
b5d5993b
VS
329002009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32901
32902 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
32903 (grub_uhci_portstatus): Likewise.
32904 (grub_uhci_portstatus): Add necessary delay.
11d18281 32905 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 32906
941903f2 329072009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 32908
941903f2 32909 * commands/acpi.c (options): Fix capitalizations and/or full stops.
32910 (GRUB_MOD_INIT): Likewise.
32911 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 32912 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
32913 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 32914 * commands/efi/loadbios.c (enable_rom_area): Likewise.
32915 (enable_rom_area): Likewise.
32916 (GRUB_MOD_INIT): Likewise.
32917 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32918 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
32919 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32920 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
32921 * commands/hexdump.c (options): Likewise.
32922 * commands/i386/cpuid.c (options): Likewise.
32923 (GRUB_MOD_INIT): Likewise.
32924 * commands/i386/pc/drivemap.c (options): Likewise.
32925 (GRUB_MOD_INIT): Likewise.
32926 * commands/i386/pc/halt (options): Likewise.
32927 (GRUB_MOD_INIT): Likewise.
32928 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32929 * commands/i386/pc/pxecmd.c (options): Likewise.
32930 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
32931 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
32932 * commands/keystatus.c (options): Likewise.
32933 (GRUB_MOD_INIT): Likewise.
32934 * commands/loadenv.c (options): Likewise.
32935 * commands/ls.c (options): Likewise.
32936 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32937 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32938 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32939 * commands/parttool.c (helpmsg): Likewise.
32940 * commands/probe.c (options): Likewise.
32941 * commands/read.c (GRUB_MOD_INIT): Likewise.
32942 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
32943 * commands/search.c (options): Likewise.
32944 * commands/sleep.c (options): Likewise.
32945 * commands/test.c (GRUB_MOD_INIT): Likewise.
32946 * commands/true.c (GRUB_MOD_INIT): Likewise.
32947 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
32948 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
32949 * lib/arg.c (help_options): Likewise.
e9bbb4e7 32950 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
32951 `$(XGETTEXT)'.
98a50553 32952 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 32953
0ad46fd7 329542009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 32955
ef3c2c3a 32956 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
32957 instead of specifying them explicit.
32958
7922f68b
RM
329592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32960
32961 * NEWS: Add grub-probe support for GNU/Hurd.
32962
537ce47f
RM
329632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32964
32965 * NEWS: gettext was added after 1.97.
32966
9b214e3a
RM
329672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32968
32969 * util/mkisofs/msdos_partition.h: New file (based on
32970 include/grub/msdos_partition.h).
32971 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
32972 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
32973 (ld_options, main): Recognize --protective-msdos-label.
32974 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
32975 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
32976 (padblock_write): If `use_protective_msdos_label' is set, patch a
32977 protective DOS-style label in the output image.
32978
32979 * util/grub-mkrescue.in: Use --protective-msdos-label.
32980
e9309813
RM
329812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32982
32983 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
32984 boot.
32985
0ae56929
RM
329862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32987
32988 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
32989 variables.
32990 (ld_options, main): Recognize `--embedded-boot'.
32991 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
32992 declarations.
32993 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
32994 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
32995 (padblock_write): Likewise. Rewrite to support embedded boot image.
32996
32997 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
32998 for BIOS-based disk boot instead of only ElTorito.
32999
b15937b1
RM
330002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33001
33002 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
33003 build (not needed for bootstrap).
33004
52cc3ce0
RM
330052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33006
33007 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
33008 from i386-pc build (not needed for bootstrap).
33009 Rewrite a pair of strings.
33010
36f5ff04
RM
330112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33012
33013 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
33014
973c6c85 330152009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
33016
33017 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
33018
05d21547
AB
330192009-12-21 Andreas Born <futur.andy@googlemail.com>
33020
33021 * kern/env.c (grub_env_context_open): Mark exported variable for
33022 reexport.
33023
0175d51f
AB
330242009-12-21 Andreas Born <futur.andy@googlemail.com>
33025
33026 * kern/env.c (grub_env_export): Create nonexistent variables before
33027 exporting.
33028
7f39d92f 330292009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 33030
7f39d92f 33031 * include/grub/auth.h: Include `<grub/i18n.h>'.
33032 (GRUB_GET_PASSWORD): Gettextizze string.
33033 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
33034 menu_text.c.
33035 (grub_utf8_to_ucs4_alloc): Fix indentation.
33036 (grub_print_ucs4): Likewise.
33037 (grub_getstringwidth): Likewise.
33038 (print_message_indented): New declaration.
33039 * normal/auth.c: Include `<grub/i18n.h>'.
33040 (grub_auth_check_authentication): Gettexttize string.
33041 * normal/cmdline.c: Include `<grub/i18n.h>'.
33042 (grub_cmdline_get): Gettextizze.
33043 * normal/color.c: Include `<grub/i18n.h>'.
33044 (grub_parse_color_name_pair): Gettexttize strings.
33045 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
33046 string (use `print_message_indented').
33047 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
33048 `include/grub/normal.h'.
33049 (print_message_indented): Renamed to ...
33050 (grub_print_message_indented): ... this. Remove `static' qualifer (now
33051 used in normal/main.c).
33052 (print_message): Use `grub_print_message_indented' instead of
33053 `print_message_indented'.
33054 (print_timeout): Likewise.
33055 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
33056 (grub_normal_print_device_info): Gettexttize strings.
33057 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
33058
3041d898
VS
330592009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33060
33061 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
33062 of arguments. Return number of tokens and not arguments. All users
33063 updated.
33064
de15bf8e
VS
330652009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33066
33067 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
33068 non-MSDOS paritions.
33069
e0a6ca52
VS
330702009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
33071
33072 * include/grub/types.h (UNUSED): Removed since it conflicts with
33073 NetBSD headers. All users changed to direct __attribute__ ((unused)).
33074 Reported by Grégoire Sutre.
33075
b99518d1 330762009-12-19 Carles Pina i Estany <carles@pina.cat>
33077
33078 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
33079 (grub_print_ucs4_alloc): Likewise.
33080 (grub_getstringwidth): Likewise.
33081 * normal/main.c (grub_normal_init_page): Gettextize version string.
33082 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
33083 (getstringwidth): Renamed to ...
33084 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
33085 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
33086 (grub_print_ucs4): Remove `static' qualifer (now used in
33087 normal/main.c).
33088 * po/POTFILES: Add normal/main.c.
33089
bfd5e52b 330902009-12-19 Carles Pina i Estany <carles@pina.cat>
33091
33092 * normal/menu_text.c (STANDARD_MARGIN): New macro.
33093 (print_message_indented): Add `margin_left' and `margin_right'
33094 parameters.
33095 (print_message): Update `print_message_indented' calls. Adds '\n' to the
33096 strings.
33097 (print_timeout): Use `print_message_indented' to print the message.
33098 Deletes `second_stage' parameter.
33099 (run_menu): Update `print_timeout' calls.
33100
5a1ad2b9
VS
331012009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33102
33103 Fix console palette on OpenFirmware.
33104
33105 * term/ieee1275/ofconsole.c (MAX): Removed.
33106 (colors): Redone based on VGA palette.
33107 (grub_ofconsole_setcolor): Discard brightness bit since only 8
33108 colors are supported.
33109 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
33110
b045f00a
VS
331112009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33112
33113 Fix potential EfiEmu double prepare.
33114
33115 * efiemu/main.c (prepared): New variable
33116 (grub_efiemu_unload): Set prepare to '0'.
33117 (grub_efiemu_prepare): Return if already prepared. Set prepared.
33118
33119 set_virtual_address_map support.
33120
33121 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
33122 prototype.
33123 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
33124 prototype.
33125 (grub_efiemu_crc32): Likewise.
33126 (grub_efiemu_crc64): Likewise.
33127 (grub_efiemu_set_virtual_address_map): Likewise.
33128 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
33129 New definition.
33130 (grub_autoefi_set_virtual_address_map): Likewise.
33131 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
33132 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
33133 Restructure flow to accomodate it.
33134 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
33135 (grub_efiemu_crc): Recompute CRC32.
33136 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
33137 (efiemu_ptv_relocated): ... this. Made global. All users updated.
33138 * efiemu/symbols.c (relocated_handle): New variable.
33139 (grub_efiemu_free_syms): Free relocated_handle.
33140 (grub_efiemu_alloc_syms): Allocate relocated_handle.
33141 (grub_efiemu_write_sym_markers): New function.
33142 (grub_efiemu_set_virtual_address_map): Likewise.
33143
33144 Newer XNU parameters.
33145
33146 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
33147 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
33148 (grub_xnu_fill_devicetree): New prototype.
33149 (grub_xnu_heap_real_start): New variable.
33150 * loader/xnu.c (get_name_ptr): New function.
33151 (grub_xnu_load_driver): Fill namelen and name.
33152
33153 64-bit xnu support.
33154
33155 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
33156 and 'loader/macho64.c'.
33157 * conf/i386-pc.rmk: Likewise.
33158 * conf/x86_64-efi.rmk: Likewise.
33159 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
33160 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
33161 * include/grub/macho.h (grub_macho_segment64): New structure.
33162 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
33163 (grub_macho_size32): ... to this.
33164 (grub_macho32_get_entry_point): Renamed from ...
33165 (grub_macho_get_entry_point32): ... to this.
33166 (grub_macho_contains_macho64): New prototype.
33167 (grub_macho_size64): Likewise.
33168 (grub_macho_get_entry_point64): Likewise.
33169 (grub_macho32_load): Renamed from ...
33170 (grub_macho_load32): ... to this.
33171 (grub_macho32_filesize): Renamed from ...
33172 (grub_macho_filesize32): ... to this.
33173 (grub_macho32_readfile): Renamed from ...
33174 (grub_macho_readfile32): ... to this.
33175 (grub_macho_filesize64): New prototype.
33176 (grub_macho_readfile64): Likewise.
33177 (grub_macho_parse32): Likewise.
33178 (grub_macho_parse64): Likewise.
33179 * loader/macho.c: Split into ...
33180 * loader/machoXX.c: ... and this. Replace 32 with XX.
33181 * loader/macho32.c: New file.
33182 * loader/macho64.c: Likewise.
33183 * loader/xnu.c (grub_xnu_is_64bit): New variable.
33184 (grub_cmd_xnu_kernel): Make 32-bit only.
33185 (grub_cmd_xnu_kernel64): New function.
33186 (grub_xnu_load_driver): Support Mach-O 64.
33187 (grub_cmd_xnu_mkext): Likewise.
33188 * util/grub.d/30_os-prober.in (osx_entry): New function.
33189 Generate entries for 64-bit boot too.
33190
33191 Eliminate ad-hoc tree format in XNU and EfiEmu.
33192
33193 * efiemu/main.c (grub_efiemu_prepare): Update comment.
33194 * efiemu/pnvram.c: Rewritten to use environment variables.
33195 All users updated.
33196
33197 Inline utf16_to_utf8.
33198
33199 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
33200 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
33201 All users updated.
33202 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
33203
33204 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
33205 * commands/usbtest.c (grub_usb_get_string): ... move here.
33206 (usb_print_str): Fix error handling.
33207 * include/grub/usb.h (grub_usb_get_string): Remove.
33208
33209 UTF-8 to UTF-16 transformation.
33210
33211 * conf/common.rmk (pkglib_MODULES): Add charset.mod
33212 (charset_mod_SOURCES): New variable.
33213 (charset_mod_CFLAGS): Likewise.
33214 (charset_mod_LDFLAGS): Likewise.
33215 * include/grub/utf.h: New file.
33216 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
33217
33218 Support for device properties.
33219
33220 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
33221 (grub_xnu_devprop_device_header): Likewise.
33222 (grub_xnu_devprop_device_descriptor): Likewise.
33223 (grub_xnu_devprop_add_device): New prototype.
33224 (grub_xnu_devprop_remove_device): Likewise.
33225 (grub_xnu_devprop_remove_property): Likewise.
33226 (grub_xnu_devprop_add_property_utf8): Likewise.
33227 (grub_xnu_devprop_add_property_utf16): Likewise.
33228 (grub_cpu_xnu_init): Likewise.
33229 (grub_cpu_xnu_fini): Likewise.
33230 (grub_cpu_xnu_unload): Likewise.
33231 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
33232 (property_descriptor): Likewise.
33233 (devices): New variable.
33234 (grub_xnu_devprop_remove_property): New function.
33235 (grub_xnu_devprop_add_device): Likewise.
33236 (grub_xnu_devprop_remove_device): Likewise.
33237 (grub_xnu_devprop_add_property): Likewise.
33238 (grub_xnu_devprop_add_property_utf8): Likewise.
33239 (grub_xnu_devprop_add_property_utf16): Likewise.
33240 (hextoval): Likewise.
33241 (grub_cpu_xnu_fill_devprop): Likewise.
33242 (grub_cmd_devprop_load): Likewise.
33243 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
33244 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
33245 (cmd_devprop_load): New variable.
33246 (grub_cpu_xnu_init): New function.
33247 (grub_cpu_xnu_fini): Likewise.
33248 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
33249 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
33250 (grub_cmd_xnu_devtree): Likewise.
33251 (hextoval): New function.
33252 (unescape): Likewise.
33253 (grub_xnu_fill_devicetree): Likewise.
33254
33255 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
33256 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
33257
0945f181
VS
332582009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33259
33260 Workaround for broken ATI VBE.
33261
33262 * video/i386/pc/vbe.c (last_set_mode): New variable.
33263 (grub_vbe_set_video_mode): Set 'last_set_mode'.
33264 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
33265 (grub_video_vbe_setup): Don't check for reserved flag.
33266
0ad46fd7 332672009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
33268
33269 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
33270 the `find' command.
33271
c179ebe4
VS
332722009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
33273
33274 UUID support for HFS.
33275
33276 * fs/hfs.c (grub_hfs_uuid): New function.
33277 (grub_hfs_fs): New value .uuid.
33278 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
33279
0ad46fd7 332802009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
33281
33282 Fix a segfault with parsing unknown long options.
33283
33284 * util/grub-mkrelpath.c (options): Zero terminate it.
33285
c4a3e41a
CPE
332862009-12-13 Carles Pina i Estany <carles@pina.cat>
33287
33288 * include/grub/misc.h (grub_puts): New declaration.
33289 (grub_puts_): Likewise.
a22008a6 33290 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
33291 (grub_puts_): Likewise.
33292
2e8a7602
RM
332932009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33294
33295 * util/grub-probe.c (probe): Improve error message.
33296
b50b77b9
RM
332972009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33298
33299 * loader/i386/multiboot_elfxx.c
33300 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
33301 initialization.
33302
333032009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33304
33305 Relocator framework
33306
33307 * loader/i386/xnu_helper.S: Removed. All users updated.
33308 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
33309 (relocator_mod_SOURCES): New variable.
33310 (relocator_mod_CFLAGS): Likewise.
33311 (relocator_mod_LDFLAGS): Likewise.
33312 (relocator_mod_ASFLAGS): Likewise.
33313 * conf/x86_64.rmk: Likewise.
33314 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
33315 (grub_multiboot_payload_entry_offset): Likewise.
33316 (grub_multiboot_forward_relocator): Likewise.
33317 (grub_multiboot_forward_relocator_end): Likewise.
33318 (grub_multiboot_backward_relocator): Likewise.
33319 (grub_multiboot_backward_relocator_end): Likewise.
33320 (grub_multiboot_payload_eip): New variable.
33321 (grub_multiboot_payload_orig): Likewise.
33322 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
33323 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
33324 * include/grub/i386/memory.h
33325 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
33326 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
33327 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
33328 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
33329 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
33330 * include/grub/i386/relocator.h: New file.
33331 * include/grub/x86_64/relocator.h: Likewise.
33332 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
33333 (XNU_RELOCATOR): New macro.
33334 (grub_xnu_launcher_start): Remove.
33335 (grub_xnu_launcher_end): Likewise.
33336 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
33337 (grub_xnu_heap_real_start): Remove.
33338 (grub_xnu_heap_start): Change to void *. All users updated.
33339 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
33340 * lib/i386/relocator.c: New file.
33341 * lib/i386/relocator_asm.S: Likewise.
33342 * lib/i386/relocator_backward.S: Likewise.
33343 * lib/mips/relocator.c: Likewise.
33344 * lib/mips/relocator_asm.S: Likewise.
33345 * lib/relocator.c: Likewise.
33346 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
33347 (entry): Removed.
33348 (playground): Likewise.
33349 (grub_multiboot_payload_orig): New variable.
33350 (grub_multiboot_payload_dest): Likewise.
33351 (grub_multiboot_payload_size): Likewise.
33352 (grub_multiboot_payload_eip): Likewise.
33353 (grub_multiboot_payload_esp): Likewise.
33354 (grub_multiboot_boot): Use grub_relocator32_boot.
33355 (grub_multiboot_unload): Free relocators.
33356 (grub_multiboot): Setup stack. Use relocators.
33357 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
33358 (grub_multiboot_load_elfXX): Use relocators.
33359 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
33360 (grub_multiboot_payload_size): Likewise.
33361 (grub_multiboot_payload_dest): Likewise.
33362 (grub_multiboot_payload_entry_offset): Likewise.
33363 (grub_multiboot_forward_relocator): Likewise.
33364 (grub_multiboot_backward_relocator): Likewise.
33365 (grub_multiboot_real_boot): Likewise.
33366 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
33367 (grub_xnu_entry_point): Likewise.
33368 (grub_xnu_arg1): Likewise.
33369 (grub_xnu_stack): Likewise.
33370 (grub_xnu_launch): Removed.
33371 (grub_xnu_boot_resume): New function.
33372 (grub_xnu_boot): Use relocators.
33373 * loader/i386/xnu_helper.S: Removed.
33374 * loader/xnu.c (grub_xnu_heap_start): New variable.
33375 (grub_xnu_heap_size): Likewise.
33376 (grub_xnu_heap_malloc): Use relocators.
33377 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
33378
29eb90c6
VS
333792009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33380
33381 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
33382 anything.
33383
31027430
CPE
333842009-12-13 Carles Pina i Estany <carles@pina.cat>
33385
33386 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
33387 GRUB_ERR_NONE before calling grub_env_set.
33388
dc0c71d9
RM
333892009-12-12 Robert Millan <rmh@aybabtu.com>
33390
33391 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
33392 * genmk.rb (video): New variable.
33393 (CLEANFILES, VIDEOFILES): Add #{video}.
33394 (#{video}): New target rule.
33395 * genvideolist.sh: New file.
33396 * Makefile.in (pkglib_DATA): Add video.lst.
33397 (video.lst): New target rule.
33398 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
33399 `video.lst'.
33400 * util/grub.d/30_os-prober.in: Replace `vbe' with
33401 ${GRUB_VIDEO_BACKEND}.
33402
2a4bfcf0
RM
334032009-12-11 Robert Millan <rmh.grub@aybabtu.com>
33404
33405 * THANKS: Add David Miller.
33406
2a3aa4d5
RM
334072009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
33408
33409 libpciaccess support.
33410
33411 * Makefile.in (LIBPCIACCESS): New variable.
33412 (enable_grub_emu_pci): Likewise.
33413 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
33414 util/pci.c and commands/lspci.c.
33415 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
33416 * configure.ac (grub-emu-pci): New option.
33417 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
33418 (grub_pci_device_unmap_range): Likewise.
33419 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
33420 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
33421 (grub_pci_address_t) [!GRUB_UTIL]: New type.
33422 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
33423 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
33424 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
33425 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
33426 * include/grub/pciutils.h: New file.
33427 * util/pci.c: Likewise.
33428
0ad46fd7 334292009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
33430
33431 * util/misc.c: Don't include <errno.h> twice.
33432
0ad46fd7 334332009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
33434
33435 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
33436 name in an error message.
33437 (grub_biosdisk_rw): Likewise.
33438
2e59983c
VS
334392009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33440
33441 Eliminate NTFS 4Gib barrier.
33442
33443 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
33444 (read_run_data): Likewise.
33445 (grub_ntfs_read_run_list): Likewise.
33446 (grub_ntfs_read_block): Likewise.
33447 (grub_ntfs_iterate_dir): Likewise.
33448 (read_mft): Likewise.
33449 (read_data): Likewise.
33450 Use COM_LOG_LEN.
33451 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
33452 to avoid 64-bit division
33453 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
33454 (grub_ntfs_rlst): Use grub_disk_addr_t.
33455
71ee178a
VS
334562009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33457
33458 Eliminate grub-fstest 4Gib barrier.
33459
33460 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
33461 (read_file): Fix error reporting.
33462
2520d4b8
VS
334632009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33464
33465 Eliminate hexdump 4Gib barrier.
33466
33467 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
33468 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
33469
e1f27065
VS
334702009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33471
33472 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
33473 Fixes amarsh bug.
33474
1a0f7f45
RM
334752009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
33476
33477 Remove miscellaneous files in distclean target.
33478
33479 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
33480
c631d9fb
CW
334812009-12-09 Colin Watson <cjwatson@ubuntu.com>
33482
33483 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
33484 if they're already set. This resolves the conflict between my
33485 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
33486 fixing the --grub-probe option again.
33487 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
33488 change on 2009-10-06, so that we now once again source
33489 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33490
7c7b6106
RM
334912009-12-08 Robert Millan <rmh.grub@aybabtu.com>
33492
33493 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
33494 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
33495 `util/devicemap.c'.
33496
e3069ec1
CPE
334972009-12-08 Carles Pina i Estany <carles@pina.cat>
33498
33499 * include/grub/misc.h (grub_printf_): New declaration.
33500 * kern/misc.c (grub_printf_): New definition.
33501 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33502 instead of `grub_printf' and `_'.
33503 * normal/menu_entry.c (store_completion): Likewise.
33504 (run): Likewise.
33505 (grub_menu_entry_run): Likewise.
33506 * normal/menu_text.c (grub_wait_after_message): Likewise.
33507 (notify_booting): Likewise.
33508 (notify_fallback): Likewise.
33509 (notify_execution_failure): Likewise.
33510
d6ceebf1
CW
335112009-12-07 Colin Watson <cjwatson@ubuntu.com>
33512
33513 * configure.ac: Check for vasprintf.
33514 * util/misc.c (asprintf): Move allocation from here ...
33515 (vasprintf): ... to here. New function.
33516 (xasprintf): New function.
33517 * include/grub/util/misc.h (vasprintf, xasprintf): Add
33518 prototypes.
33519 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
33520 * util/grub-mkfont.c (write_font): Likewise.
33521 * util/grub-probe.c (probe): Likewise.
33522 * util/hostdisk.c (make_device_name): Likewise.
33523
de6daa8b
DM
335242009-12-06 David S. Miller <davem@sunset.davemloft.net>
33525
33526 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
33527 anything even prefixed with 'cdrom' as a cdrom.
33528
0ad46fd7 335292009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
33530
33531 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
33532 mount points.
33533
98d3dc02
CPE
335342009-12-05 Carles Pina i Estany <carles@pina.cat>
33535
33536 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
33537 grub_gettext_msg_list.
33538 (grub_gettext_gettranslation_from_position): Return const char *
33539 and not char *.
a2c1332b 33540 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
33541 returns from the list if existing there.
33542 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
33543 (grub_gettext_delete_list): Delete the list.
33544 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
33545 lang environment variable is changed.
33546 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
33547
b283f108
VS
335482009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33549
33550 Rename kernel.mod to kernel.img.
33551
33552 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
33553 (kernel_mod_EXPORTS): Rename to ...
33554 (kernel_img_EXPORTS): ... this.
33555 (kernel_mod_SOURCES): Rename to ...
33556 (kernel_img_SOURCES): ... this.
33557 (kernel_mod_HEADERS): Rename to ...
33558 (kernel_img_HEADERS): ... this. All users updated.
33559 (kernel_mod_CFLAGS): Rename to ...
33560 (kernel_img_CFLAGS): ... this.
33561 (kernel_mod_ASFLAGS): Rename to ...
33562 (kernel_img_ASFLAGS): ... this.
33563 (kernel_mod_LDFLAGS): Rename to ...
33564 (kernel_img_LDFLAGS): ... this.
33565 * conf/x86_64-efi.rmk: Likewise.
33566 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
33567 (read_kernel_image): ... this. All users updated.
33568 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
33569
69055f8a
CPE
335702009-12-05 Carles Pina i Estany <carles@pina.cat>
33571
33572 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
33573 (print_spaces): New function.
33574 (grub_print_ucs4): New function.
33575 (getstringwidth): New function.
33576 (print_message_indented): New function.
33577 (print_message): Gettexttize strings using print_message_indented.
33578 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
33579 width.
33580 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 33581 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
33582 Gettextize.
33583 * normal/menu_entry.c (store_completion): Cleanup the gettextized
33584 string.
33585 (run): Likewise.
33586 (grub_menu_entry_run): Likewise.
33587 * PO/POTFILES: Add normal/menu_entry.c.
33588
f616f51c
VS
335892009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33590
33591 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
33592
57bbe3be
CPE
335932009-12-05 Carles Pina i Estany <carles@pina.cat>
33594
33595 * util/grub-install.in: Install gettext .mo files.
33596 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
33597
013d67a1
CPE
335982009-12-05 Carles Pina i Estany <carles@pina.cat>
33599
33600 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
33601 grub_dprintf.
33602
fb954db0
RM
336032009-12-05 Robert Millan <rmh.grub@aybabtu.com>
33604
33605 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
33606 non-firmware-dependant one in realmode.S takes precedence.
33607
6b8474f8
RM
336082009-12-04 Robert Millan <rmh.grub@aybabtu.com>
33609
33610 * commands/halt.c: Replace misc arch-specific headers with
33611 `<grub/misc.h>'.
33612 * commands/reboot.c: Likewise.
33613 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
33614 `<grub/misc.h>'.
33615 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
33616 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
33617 (kernel_img_SOURCES): ... to here.
33618
33619 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
33620 * include/grub/i386/pc/init.h: Likewise.
33621 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33622 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33623
33624 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
33625
33626 * include/grub/i386/halt.h: Remove.
33627 * include/grub/i386/reboot.h: Likewise.
33628
33629 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
33630
4b2e6ca2
DM
336312009-12-03 David S. Miller <davem@sunset.davemloft.net>
33632
33633 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
33634 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
33635 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
33636 "progname.h"
33637 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33638 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33639 (usage): Add missing comma in printf.
33640
5239348f
RM
336412009-12-02 Robert Millan <rmh.grub@aybabtu.com>
33642
33643 Use the same reboot approach on i386 coreboot and qemu as we do on
33644 BIOS.
33645
33646 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
33647 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
33648 * kern/i386/reboot.c: Remove.
33649 * include/grub/i386/reboot.h (grub_reboot): Export function.
33650 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
33651 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
33652 0xf000:0xfff0 instead of 0xffff:0x0000.
33653 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
33654 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
33655
ef34cbd4
RM
336562009-11-30 Robert Millan <rmh.grub@aybabtu.com>
33657
33658 Fix $srcdir != $objdir build.
33659
33660 * Makefile.in (po/%.po): Rewrite as ...
33661 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
33662
dc9837ea
ST
336632009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
33664
33665 Fix GNU/Hurd grub-install crash.
33666 * util/grub-probe.c (probe): Try to access `path' only when it is not
33667 NULL.
33668
2f857f98
VS
336692009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33670
33671 Correct module naming.
33672
33673 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33674 (GRUB_MOD_INIT(efi_uga)): ... to this
33675 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33676 (GRUB_MOD_FINI(efi_uga)): ... to this
33677 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33678 (GRUB_MOD_INIT(efi_gop)): ... to this
33679 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33680 (GRUB_MOD_FINI(efi_gop)): ... to this
33681
c5448046
RM
336822009-11-28 Robert Millan <rmh.grub@aybabtu.com>
33683
33684 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
33685 translatable.
33686 (usage): Translate `arg' strings using gettext().
33687 Thanks to Jordi Mallach for the suggestion.
33688
c85184ad
VS
336892009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33690
33691 GOP support. Based on patch from Bean
33692 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33693
33694 * video/efi_gop.c: New file.
33695 * include/grub/efi/graphics_output.h: Likewise.
33696 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
33697 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33698 variables.
33699 * conf/x86_64-efi.rmk: Likewise.
33700
8a4c48d8
VS
337012009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33702
33703 Rename efi_fb to efi_uga.
33704
33705 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33706 'efi_uga.mod'.
33707 (efi_fb_mod_SOURCES): Rename this ...
33708 (efi_uga_mod_SOURCES): ... to this.
33709 (efi_fb_mod_CFLAGS): Rename this ...
33710 (efi_uga_mod_CFLAGS): ... to this.
33711 (efi_fb_mod_LDFLAGS): Rename this ...
33712 (efi_uga_mod_LDFLAGS): ... to this.
33713 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33714 'efi_uga.mod'.
33715 (efi_fb_mod_SOURCES): Rename this ...
33716 (efi_uga_mod_SOURCES): ... to this.
33717 (efi_fb_mod_CFLAGS): Rename this ...
33718 (efi_uga_mod_CFLAGS): ... to this.
33719 (efi_fb_mod_LDFLAGS): Rename this ...
33720 (efi_uga_mod_LDFLAGS): ... to this.
33721 * video/efi_fb.c: Move this ...
33722 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
33723
fb6c1a7b
RM
337242009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33725
33726 * po/README: New file. Explain our PO file workflow.
33727
3bc7896c
RM
337282009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33729
33730 * po/ChangeLog: Remove. Move relevant entries back to ...
33731 * ChangeLog: ... here.
33732 * po/ca.po: Remove (now handled by TLP).
33733 * po/id.po: Likewise.
33734 * po/zh_CN.po: Likewise.
33735 * Makefile.in (LINGUAS): Initialize in a way that supports
33736 empty set.
33737
9ed4841d
RM
337382009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33739
33740 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
33741 reliing on po/LINGUAS.
33742 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
33743 (po/%.po): ... this.
33744
0ad46fd7 337452009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
33746
33747 * util/i386/efi/grub-mkimage.c: Include "progname.h".
33748 (main): Use `program_name' instead of nonexistent `progname'.
33749
e30dd392
FZ
337502009-11-26 Felix Zielcke <fzielcke@z-51.de>
33751
33752 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33753 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
33754
7656de4f
RM
337552009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33756
33757 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
33758 commit.
33759 * conf/i386-efi.rmk: Likewise.
33760 * conf/i386-ieee1275.rmk: Likewise.
33761 * conf/powerpc-ieee1275.rmk: Likewise.
33762 * conf/sparc64-ieee1275.rmk: Likewise.
33763 * conf/x86_64-efi.rmk: Likewise.
33764
db77c4d4
FZ
337652009-11-26 Felix Zielcke <fzielcke@z-51.de>
33766
33767 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
33768
a755bb04
FZ
337692009-11-26 Felix Zielcke <fzielcke@z-51.de>
33770
33771 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
33772
8a4c07fd
RM
337732009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33774
33775 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
33776 (grub_mkdevicemap_SOURCES): New variable.
33777 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
33778 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
33779 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
33780 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
33781 (grub_mkdevicemap_SOURCES): Remove.
33782 * conf/i386-efi.rmk: Likewise.
33783 * conf/i386-ieee1275.rmk: Likewise.
33784 * conf/i386-pc.rmk: Likewise.
33785 * conf/powerpc-ieee1275.rmk: Likewise.
33786 * conf/sparc64-ieee1275.rmk: Likewise.
33787 * conf/x86_64-efi.rmk: Likewise.
33788 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
33789 (usage): Fix strings to use `program_name'.
33790 (main): Initialize gettext.
33791 * util/grub-editenv.c: Likewise.
33792 * util/grub-emu.c: Likewise.
33793 * util/grub-fstest.c: Likewise.
33794 * util/grub-mkdevicemap.c: Likewise.
33795 * util/grub-mkfont.c: Likewise.
33796 * util/grub-mkrelpath.c: Likewise.
33797 * util/grub-pe2elf.c: Likewise.
33798 * util/grub-probe.c: Likewise.
33799 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
33800 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33801 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33802
33803 * util/misc.c: Include `"progname.h"'.
33804 (progname): Remove variable.
33805 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
33806
6f61ed55
FZ
338072009-11-25 Felix Zielcke <fzielcke@z-51.de>
33808
33809 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
33810 printf and print a newline after the menuentry header line.
33811 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33812
f022876b
FZ
338132009-11-25 Felix Zielcke <fzielcke@z-51.de>
33814
33815 autoconf >= 2.60 support $(localedir).
33816
33817 * INSTALL: Note that autoconf 2.60 is required.
33818 * configure.ac (AC_PREREQ): Bump to 2.60.
33819 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
33820 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
33821
6717926e
YB
338222009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
33823
33824 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
33825 aclocal is run.
33826
08806a54
RM
338272009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33828
33829 * normal/main.c (grub_normal_read_line): Fix off-by-one
33830 buffer overflow.
33831
13b33fba
RM
338322009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33833
33834 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
33835 "parser.grub" in grub_command_execute() call.
33836
4a8572e9
CPE
338372009-11-24 Carles Pina i Estany <carles@pina.cat>
33838
33839 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
33840 * conf/i386-efi.rmk: Likewise.
33841 * conf/i386-ieee1275.rmk: Likewise.
33842 * conf/i386-pc.rmk: Likewise.
33843 * conf/powerpc-ieee1275.rmk: Likewise.
33844 * conf/sparc64-ieee1275.rmk: Likewise.
33845 * conf/x86_64-efi.rmk: Likewise.
33846 * gettext/gettex.c: Include <grub/i18n.h>.
33847 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
33848 here ...
33849 * include/grub/i18n.h: ... to here
33850 * include/grub/i18n.h: ... to here.
33851 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 33852 (grub_gettext_dummy): Move above user.
4a8572e9 33853
bee48093
FZ
338542009-11-24 Felix Zielcke <fzielcke@z-51.de>
33855
33856 * util/Makefile.in (install-local): Convert a `for' into a normal
33857 shell expansion.
33858
a031e91c
RM
338592009-11-24 Robert Millan <rmh.grub@aybabtu.com>
33860
33861 * autogen.sh: Add automake call.
33862 * config.guess: Remove.
33863 * config.sub: Likewise.
33864 * install-sh: Likewise.
33865
26bec39d
FZ
338662009-11-24 Felix Zielcke <fzielcke@z-51.de>
33867
33868 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
33869
8e2532fd
FZ
338702009-11-24 Felix Zielcke <fzielcke@z-51.de>
33871
33872 * util/Makefile.in (install-local): Convert a make `$(foreach)'
33873 function to a normal shell `for'.
33874
fefa1b7d
FZ
338752009-11-24 Felix Zielcke <fzielcke@z-51.de>
33876
33877 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33878
4501250b
FZ
338792009-11-24 Felix Zielcke <fzielcke@z-51.de>
33880
33881 * util/grub-mkrelpath.c: New file.
33882 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
33883 (grub_mkrelpath_SOURCES): New variable.
33884 * include/grub/util/misc.h: New function prototype.
33885 * util/misc.c (make_system_path_relative_to_its_root): New function.
33886
33887 * util/grub-mkconfig_lib.in (bindir): New variable.
33888 (grub_mkrelpath): Likewise.
33889 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
33890
33891 * util/probe.c (probe): Make the file path relative to its root.
33892 Change a info message to use the GRUB path. Enable again the
33893 check if we can read the file with GRUB facilities.
33894
33895 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
33896 to its root.
33897
11d9778b
FZ
338982009-11-24 Felix Zielcke <fzielcke@z-51.de>
33899
33900 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
33901 platform.
33902
4465287d
FZ
339032009-11-24 Felix Zielcke <fzielcke@z-51.de>
33904
33905 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
33906 strncmp().
33907
62b47f22
FZ
339082009-11-24 Felix Zielcke <fzielcke@z-51.de>
33909
33910 * util/getroot.c (grub_util_is_dmraid): New function.
33911 (grub_util_get_dev_abstraction): Treat dmraid and multipath
33912 devices as normal ones, not as LVM.
33913
1eafb9b9 339142009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
33915
33916 * conf/common.rmk: Add grub-gettext_lib target and updates
33917 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
33918 LDFLAGS.
33919 * gettext/gettext.c: New file. (Reads mo files).
33920 * include/grub/file.h (grub_file_pread): New prototype.
33921 * include/grub/i18n.h (_): New prototype.
33922 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
33923 prototypes.
33924 * kern/misc.c (grub_gettext_dummy): New function.
33925 * normal/menu_text.c: Include <grub/i18n.h>.
33926 * normal/menu_text.c (print_timeout): Gettexttize string.
33927 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
33928 * po/POTFILES: Add `normal/menu_text.c'.
33929 * po/ca.po: Add new translations.
c3ea6bd4
CPE
33930 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
33931 gettext module and defines locale_dir and lang in grub.cfg.
33932 * NEWS: Add gettext support.
33933
0fdb2568
RM
339342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33935
33936 * util/hostdisk.c: Include `<grub/i18n.h>'.
33937 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
33938 (make_device_name): Rewrite using asprintf.
33939 (convert_system_partition_to_system_disk): Replace 0 with NULL.
33940 (find_system_device): If a device is not found, generate one just
33941 by reusing the OS path name.
33942 (read_device_map): Make it permissible for device.map not to exist.
33943
f515aa62
RM
339442009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33945
33946 * script/sh/execute.c: Move from here ...
33947 * script/execute.c: ... to here. Update all users.
33948 * script/sh/function.c: Move from here ...
33949 * script/function.c: ... to here. Update all users.
33950 * script/sh/lexer.c: Move from here ...
33951 * script/lexer.c: ... to here. Update all users.
33952 * script/sh/main.c: Move from here ...
33953 * script/main.c: ... to here. Update all users.
33954 * script/sh/parser.y: Move from here ...
33955 * script/parser.y: ... to here. Update all users.
33956 * script/sh/script.c: Move from here ...
33957 * script/script.c: ... to here. Update all users.
33958
f84b481b
RM
339592009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33960
33961 * configure.ac: Detect all `emu' platforms. Define
33962 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
33963 --enable-grub-emu logic. Disable include/grub/machine
33964 symlink on `emu' platforms.
33965
33966 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
33967 * gensymlist.sh.in: Likewise.
33968
33969 * include/grub/i386/coreboot/machine.h: Remove file.
33970 * include/grub/i386/efi/machine.h: Likewise.
33971 * include/grub/i386/ieee1275/machine.h: Likewise.
33972 * include/grub/i386/pc/machine.h: Likewise.
33973 * include/grub/i386/qemu/machine.h: Likewise.
33974 * include/grub/powerpc/ieee1275/machine.h: Likewise.
33975 * include/grub/sparc64/ieee1275/machine.h: Likewise.
33976 * include/grub/x86_64/efi/machine.h: Likewise.
33977
33978 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
33979 * commands/halt.c: Likewise.
33980 * commands/reboot.c: Likewise.
33981 * include/grub/autoefi.h: Likewise.
33982 * include/grub/i386/at_keyboard.h: Likewise.
33983 * include/grub/i386/kernel.h: Likewise.
33984 * include/grub/i386/loader.h: Likewise.
33985 * include/grub/i386/pc/memory.h: Likewise.
33986 * kern/dl.c: Likewise.
33987 * kern/i386/coreboot/init.c: Likewise.
33988 * loader/i386/bsd.c: Likewise.
33989 * loader/i386/linux.c: Likewise.
33990 * loader/multiboot_loader.c: Likewise.
33991 * term/i386/pc/serial.c: Likewise.
33992 * term/usb_keyboard.c: Likewise.
33993
33994 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
33995 `<grub/machine/machine.h>'
33996 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
33997 * util/misc.c: Remove `<grub/machine/machine.h>' and
33998 `<grub/machine/time.h>'.
33999
34000 * Makefile.in (enable_grub_emu): Remove variable.
34001 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
34002
34003 * conf/any-emu.rmk: New file.
34004 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
34005 (grub_emu_init.c): Move from here ...
34006 * conf/any-emu.rmk: ... to here.
34007
34008 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
34009 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
34010 * conf/any-emu.rmk: ... to here.
34011
4efeab03
RM
340122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34013
34014 * include/grub/parser.h (grub_parser_register): Document need
34015 of `name' parameter.
34016 * normal/main.c (grub_normal_read_line): Simplify prompt string.
34017 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
34018 "sh" to "grub".
34019
ea1dd8bf
RM
340202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34021
34022 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
34023 `$(XGETTEXT)'.
34024 * include/grub/i18n.h (N_): New macro.
34025 * util/mkisofs/mkisofs.h: Likewise.
34026 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
34027 around N_().
34028 (usage): Use gettext() to translate help strings when printing them.
34029
0c140626
RM
340302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34031
34032 Based on patch from Bean
34033 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
34034
34035 * video/efi_fb.c: New file.
34036 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
34037 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
34038 variables.
34039 * conf/x86_64-efi.rmk: Likewise.
34040
87d58298
RM
340412009-11-22 Robert Millan <rmh.grub@aybabtu.com>
34042
34043 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
34044 * util/i386/pc/grub-setup.c: Likewise.
34045
994cc3a3
ST
340462009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
34047
34048 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
34049 <hurd/fs.h>
34050 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
34051 file_get_storage_info to implement grub_guess_root_device.
34052
26a61d6a
FZ
340532009-11-21 Felix Zielcke <fzielcke@z-51.de>
34054
34055 * Makefile.in (target): Use make's builtin $(shell) function
34056 instead of calling directly $(SHELL) to create the locale directories,
34057 inside the $(foreach) function.
34058
74ff1dd5
FZ
340592009-11-21 Felix Zielcke <fzielcke@z-51.de>
34060
34061 * util/grub-mkrescue.in: Print an error and usage if output option
34062 has not been given.
34063
0b787d0e
FZ
340642009-11-21 Felix Zielcke <fzielcke@z-51.de>
34065
34066 Patch from Loïc Minier <loic.minier@ubuntu.com>.
34067 * util/grub.d/30_os-prober.in: Cope with Linux entries where
34068 root and /boot are on different devices.
34069
1164b270
RM
340702009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34071
34072 Fix build for srcdir != objdir.
34073
34074 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
34075 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
34076 $(srcdir).
34077 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
34078 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
34079 reference for input.
34080
13774a2f
RM
340812009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34082
34083 * util/grub-mkrescue.in: Use source directory direcly (without copiing
34084 or hardlinking it). Remove -J option, Joliet is not compatible with
34085 multiple source directories.
34086
efda854e
RM
340872009-11-21 Carles Pina i Estany <carles@pina.cat>
340882009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34089
34090 * util/grub-mkrescue.in: Recognize `--override-directory' option.
34091 (process_input_dir): New function. Process an arbitrary input
34092 directory.
34093 Misc adjustments to support both "override mode" and system-wide mode.
34094
6c09890c
FZ
340952009-11-20 Felix Zielcke <fzielcke@z-51.de>
34096
34097 * configure.ac (UNIFONT_BDF): Rename to ...
34098 (FONT_SOURCE): ... this. Update all users.
34099
a797824f
FZ
341002009-11-20 Felix Zielcke <fzielcke@z-51.de>
34101
34102 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
34103 to the list of unifont files to look for.
34104
cd4f42b0
RM
341052009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34106
34107 Patch from Joe Auricchio <jauricchio@gmail.com>
34108 * commands/minicmd.c (grub_mini_cmd_clear): New function.
34109 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
34110 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
34111
393c783d
FZ
341122009-11-19 Felix Zielcke <fzielcke@z-51.de>
34113
34114 * Makefile.in (install-local): Add a missing backslash.
34115
b2f1e327
FZ
341162009-11-19 Felix Zielcke <fzielcke@z-51.de>
34117
34118 * include/grub/x86_64/io.h: New file.
34119
f577f7a0
RM
341202009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34121
34122 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
34123 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
34124 Include `"progname.h"'.
34125 (main): Initialize gettext.
34126 * util/i386/pc/grub-setup.c: Gettexttize.
34127 * util/i386/pc/grub-mkimage.c: Likewise.
34128
34129 * Makefile.in (po/*.po): Redefine as ...
34130 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
34131
3bc7896c
RM
34132 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
34133
c37943b6
RM
341342009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34135
34136 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
34137 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
34138 (program_name): Remove.
34139 (main): Initialize gettext support.
6323f705
RM
34140 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
34141 Include `<libintl.h>'.
34142 (_): New macro.
c37943b6
RM
34143
34144 * util/mkisofs/eltorito.c: Gettexttize.
34145 * util/mkisofs/joliet.c: Likewise.
34146 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
34147 * util/mkisofs/multi.c: Likewise.
34148 * util/mkisofs/rock.c: Likewise.
34149 * util/mkisofs/tree.c: Likewise.
34150 * util/mkisofs/write.c: Likewise.
34151
3bc7896c
RM
34152 * po/POTFILES: Update with new files.
34153
5ce77c6e
RM
341542009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34155
34156 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
34157 * util/mkisofs/iso9660.h: Likewise.
34158 * util/mkisofs/joliet.c: Likewise.
34159 * util/mkisofs/mkisofs.c: Likewise.
34160 * util/mkisofs/mkisofs.h: Likewise.
34161 * util/mkisofs/rock.c: Likewise.
34162 * util/mkisofs/tree.c: Likewise.
34163 * util/mkisofs/write.c: Likewise.
34164
34165 * util/mkisofs/eltorito.c (rcsid): Remove.
34166 * util/mkisofs/hash.c: Likewise.
34167 * util/mkisofs/joliet.c: Likewise.
34168 * util/mkisofs/name.c: Likewise.
34169 * util/mkisofs/rock.c: Likewise.
34170 * util/mkisofs/tree.c: Likewise.
34171 * util/mkisofs/write.c: Likewise.
34172
1dabbc77
RM
341732009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34174
34175 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
34176 instead of static allocation.
34177 * util/mkisofs/match.h: Likewise.
34178
633877cb
RM
341792009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34180
3bc7896c
RM
34181 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
34182 and `util/grub.d/10_linux.in'.
633877cb
RM
34183 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
34184 translatable Shell files.
34185
af1c0c85
RM
341862009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34187
34188 * Makefile.in ($(srcdir)/aclocal.m4): New target.
34189
769ae37b
RM
341902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34191
34192 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 34193 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
34194 * util/grub.d/10_kfreebsd.in (bindir): New variable.
34195 Add gettext initialization.
34196 (kfreebsd_entry): Make menuentry output translatable.
34197
341982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34199
34200 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
34201 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
34202 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
34203 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
34204 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 34205 * po/LINGUAS: New file.
769ae37b
RM
34206
342072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34208
34209 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
34210 other things).
34211 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
34212 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
34213 bindtextdomain() calls for gettext initialization.
34214
342152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34216
34217 * gnulib/progname.c: New file (imported from Gnulib).
34218 * gnulib/progname.h: Likewise.
34219 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34220 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
34221 (usage): Replace `progname' with `program_name'.
34222 (main): Use set_program_name() for program name initialization.
34223
342242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34225
34226 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
34227 from here ...
34228 * Makefile.in (CPPFLAGS): ... to here.
34229
342302009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34231
34232 * aclocal.m4: Move from here ...
34233 * acinclude.m4: ... to here.
34234 * autogen.sh: Add call to `aclocal'.
34235 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
34236
342372009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34238
34239 * Makefile.in (CLEANFILES): Add `po/*.mo'.
34240 (LINGUAS): New variable.
34241 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
34242 (install-local): Install MO files.
34243 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
34244 * include/grub/i18n.h: New file.
3bc7896c
RM
34245 * po/POTFILES: New file.
34246 * po/ca.po: New file.
769ae37b
RM
34247 * util/grub.d/10_linux.in (bindir): New variable.
34248 Add gettext initialization.
34249 (linux_entry): Make menuentry output translatable.
34250 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
34251 (usage): Make --help output translatable.
34252 (main): Initialize gettext.
34253
02c0a6ad
RM
342542009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34255
34256 * import_gcry.py: New file (written by Vladimir with minor
34257 adjustments).
34258 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
34259 ciphers.
34260 * INSTALL: Document that Python is required for bootstrap.
34261
342622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34263
34264 Import ciphers from libgcrypt 1.4.4.
34265
34266 * lib/libgcrypt/cipher/ChangeLog
34267 * lib/libgcrypt/cipher/ac.c
34268 * lib/libgcrypt/cipher/arcfour.c
34269 * lib/libgcrypt/cipher/bithelp.h
34270 * lib/libgcrypt/cipher/blowfish.c
34271 * lib/libgcrypt/cipher/camellia-glue.c
34272 * lib/libgcrypt/cipher/camellia.c
34273 * lib/libgcrypt/cipher/camellia.h
34274 * lib/libgcrypt/cipher/cast5.c
34275 * lib/libgcrypt/cipher/cipher.c
34276 * lib/libgcrypt/cipher/crc.c
34277 * lib/libgcrypt/cipher/des.c
34278 * lib/libgcrypt/cipher/dsa.c
34279 * lib/libgcrypt/cipher/ecc.c
34280 * lib/libgcrypt/cipher/elgamal.c
34281 * lib/libgcrypt/cipher/hash-common.c
34282 * lib/libgcrypt/cipher/hash-common.h
34283 * lib/libgcrypt/cipher/hmac-tests.c
34284 * lib/libgcrypt/cipher/md.c
34285 * lib/libgcrypt/cipher/md4.c
34286 * lib/libgcrypt/cipher/md5.c
34287 * lib/libgcrypt/cipher/primegen.c
34288 * lib/libgcrypt/cipher/pubkey.c
34289 * lib/libgcrypt/cipher/rfc2268.c
34290 * lib/libgcrypt/cipher/rijndael-tables.h
34291 * lib/libgcrypt/cipher/rijndael.c
34292 * lib/libgcrypt/cipher/rmd.h
34293 * lib/libgcrypt/cipher/rmd160.c
34294 * lib/libgcrypt/cipher/rsa.c
34295 * lib/libgcrypt/cipher/seed.c
34296 * lib/libgcrypt/cipher/serpent.c
34297 * lib/libgcrypt/cipher/sha1.c
34298 * lib/libgcrypt/cipher/sha256.c
34299 * lib/libgcrypt/cipher/sha512.c
34300 * lib/libgcrypt/cipher/tiger.c
34301 * lib/libgcrypt/cipher/twofish.c
34302 * lib/libgcrypt/cipher/whirlpool.c
34303
af2f93ac
RM
343042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34305
34306 Fix build for systems without error().
34307
34308 * gnulib/error.c: New file (imported from Gnulib).
34309 * gnulib/error.h: Likewise.
34310 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
34311 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
34312 (this variable is now used by error()).
34313
73fb3dd5
FZ
343142009-11-16 Felix Zielcke <fzielcke@z-51.de>
34315
814f5e96
FZ
34316 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
34317 instead of relying that char is signed.
73fb3dd5 34318
a691ca33
VS
343192009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
34320
34321 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
34322 blocksize different from specified.
34323 (grub_pxefs_read): Likewise.
34324
2af8f0f4
FZ
343252009-11-16 Felix Zielcke <fzielcke@z-51.de>
34326
34327 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
34328
34329 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
34330 (grub_ata_readwrite): Likewise. Update 2 format strings.
34331 (grub_atapi_read): Likewise.
34332
34333 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
34334 * conf/i386.rmk (pkglib_MODULES): ... to here ...
34335 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
34336 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
34337 (ata_mod_LDFLAGS): Move from here ...
34338 * conf/i386.rmk: ... to here ...
34339 * conf/x86_64-efi.rmk: ... and here.
34340 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
34341 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
34342
83bdecaf
RM
343432009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34344
34345 Relicense multiboot.h, with RMS' blessing.
34346
34347 * include/multiboot.h: Change to X11 license.
34348
fd6fd3d7
RM
343492009-11-15 Robert Millan <rmh.grub@aybabtu.com>
34350
34351 Support --version in grub-mkisofs.
34352
34353 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
34354 (OPTION_VERSION): New macro.
34355 (ld_options): Recognize --version.
34356 (usage): Move `program_name' from here ...
34357 (program_name): ... to here. Add `static' qualifier.
34358 (main): Recognize `OPTION_VERSION'.
34359
16a88c49
FZ
343602009-11-15 Felix Zielcke <fzielcke@z-51.de>
34361
34362 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
34363 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
34364
a4158476
RM
343652009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34366
34367 Fix help2man generation for mkisofs.
34368
34369 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
34370 (usage): Send output to stdout (rather than stderr).
34371
fc2208b0
RM
343722009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34373
34374 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
34375 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34376 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
34377 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34378 (bin_SCRIPTS): Add `grub-mkfloppy'.
34379 (grub_mkfloppy_SOURCES): New variable.
34380
34381 * util/grub-mkrescue.in: New file.
34382 * util/i386/pc/grub-mkfloppy.in: New file.
34383
34384 * util/i386/coreboot/grub-mkrescue.in: Remove.
34385 * util/i386/pc/grub-mkrescue.in: Remove.
34386
8d0edf4a
RM
343872009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34388
34389 * include/grub/multiboot.h (struct grub_multiboot_header): Move
34390 from here ...
34391 * include/multiboot.h (struct multiboot_header): ... to here. Update
34392 all users.
34393 * include/grub/multiboot.h (struct grub_multiboot_info): Move
34394 from here ...
34395 * include/multiboot.h (struct multiboot_info): ... to here. Update
34396 all users.
34397 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
34398 from here ...
34399 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
34400 Update all users.
34401 * include/grub/multiboot.h (struct grub_mod_list): Move
34402 from here ...
34403 * include/multiboot.h (struct multiboot_mod_list): ... to here.
34404 Update all users.
34405
a73f5969
RM
344062009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34407
34408 * include/multiboot2.h (multiboot_word): Rename from this ...
34409 (multiboot2_word): ... to this. Update all users.
34410 (multiboot_header): Rename from this ...
34411 (multiboot2_header): ... to this. Update all users.
34412 (multiboot_tag_header): Rename from this ...
34413 (multiboot2_tag_header): ... to this. Update all users.
34414 (multiboot_tag_start): Rename from this ...
34415 (multiboot2_tag_start): ... to this. Update all users.
34416 (multiboot_tag_name): Rename from this ...
34417 (multiboot2_tag_name): ... to this. Update all users.
34418 (multiboot_tag_module): Rename from this ...
34419 (multiboot2_tag_module): ... to this. Update all users.
34420 (multiboot_tag_memory): Rename from this ...
34421 (multiboot2_tag_memory): ... to this. Update all users.
34422 (multiboot_tag_unused): Rename from this ...
34423 (multiboot2_tag_unused): ... to this. Update all users.
34424 (multiboot_tag_end): Rename from this ...
34425 (multiboot2_tag_end): ... to this. Update all users.
34426
1c8927f0
RM
344272009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34428
34429 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
34430 this platform we should support Multiboot1 first.
34431
34432 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
34433 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
34434 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
34435
6e1e0d89
RM
344362009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34437
34438 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
34439 of write calls (converting them to fwrite() if they aren't already).
34440 (get_torito_desc): Likewise.
34441 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
34442
7f2b34d8
RM
344432009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34444
34445 * util/i386/pc/grub-install.in: Move from here ...
34446 * util/grub-install.in: ... to here. Update all users.
34447
c0ef3311
CW
344482009-11-11 Colin Watson <cjwatson@ubuntu.com>
34449
34450 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
34451
e1f240ff
RM
344522009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34453
34454 Support for El Torito without floppy emulation.
34455
34456 * util/mkisofs/eltorito.c: Include `<errno.h>'.
34457 (init_boot_catalog): Improve error handling.
34458 (get_torito_desc): Don't use floppy emulation unless requested by
34459 user. Patch boot information table when requested via
34460 `-boot-info-table'.
34461 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
34462 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
34463 (use_boot_info_table): New variables.
34464 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
34465 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
34466 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
34467 `--eltorito-emul-floppy'.
34468 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
34469 and `OPTION_ELTORITO_EMUL_FLOPPY'.
34470 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
34471 (use_boot_info_table, get_731): New prototypes.
34472 * util/mkisofs/write.c (get_731): New function.
34473
af7d4de5
FZ
344742009-11-11 Felix Zielcke <fzielcke@z-51.de>
34475
34476 Fix the generation of the man page.
34477
34478 * util/pc/i386/grub-install.in: Source
34479 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
34480
2c55dbc0
RM
344812009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34482
34483 Large file support for grub-mkisofs.
34484
34485 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
34486 * util/mkisofs/mkisofs.c (next_extent, last_extent)
34487 (session_start): Upgrade type to `uint64_t'. Update all users.
34488 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
34489 (struct directory_entry): Upgrade type of `starting_block' and
34490 `size' to `uint64_t'. Update all users.
34491 (struct deferred): Remove unused structure.
34492 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
34493 Update all users.
34494 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
34495 file is larger than `UINT32_MAX'.
34496 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
34497 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
34498 return value.
34499 (struct deferred_write): Upgrade type of `extent' and `size' to
34500 `uint64_t'. Update all users.
34501 (last_extent_written): Upgrade type to `uint64_t'. Update all
34502 users.
34503 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
34504 Update all users. Upgrade type of `remain' to `int64_t' and
34505 `use' to `size_t'. Use error() to handle fread() errors.
34506 (write_files): Rely on write_one_file() rather than calling
34507 xfwrite() directly.
34508
6a9cead5
FZ
345092009-11-09 Felix Zielcke <fzielcke@z-51.de>
34510
34511 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
34512
4825d790
RM
345132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34514
34515 * util/mkisofs/fnmatch.c: Remove.
34516 * util/mkisofs/getopt1.c: Likewise.
34517 * util/mkisofs/getopt.c: Likewise.
34518 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
34519 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
34520 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
34521 `gnulib/getopt1.c' and `gnulib/getopt.c'.
34522 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
34523
34524 * configure.ac: Detect `mingw32msvc' host_os.
34525 Check for lstat(), getuid() and getgid().
34526
34527 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
34528 instances of `u_char' with `uint8_t'.
34529
34530 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
34531 [!HAVE_GETUID] (getuid): New function (stub).
34532 [!HAVE_GETGID] (getgid): Likewise.
34533 [!HAVE_LSTAT] (lstat): Likewise.
34534 [!S_IROTH] (S_IROTH): New macro (dummy).
34535 [!S_IRGRP] (S_IRGRP): Likewise.
34536
84b860d8
RM
345372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34538
34539 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
34540 conditional expression).
34541
66e9b712
RM
345422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34543
34544 Import from Gnulib.
34545
34546 * gnulib/fnmatch.c: New file.
34547 * gnulib/fnmatch.h: Likewise.
34548 * gnulib/fnmatch_loop.c: Likewise.
34549 * gnulib/getopt.c: Likewise.
34550 * gnulib/getopt.h: Likewise.
34551 * gnulib/getopt1.c: Likewise.
34552 * gnulib/getopt_int.h: Likewise.
34553 * gnulib/gettext.h: Likewise.
34554
34f4a5b0
RM
345552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34556
34557 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
34558 * normal/handler.c (read_handler_list): Likewise.
34559
ac451143
RM
345602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34561
34562 Misc cleanup.
34563
34564 * kern/command.c (grub_register_command_prio): Use
34565 grub_zalloc() instead of explicitly zeroing data.
34566 * kern/list.c: Include `<grub/mm.h>'.
34567 (grub_named_list_find): Replace `0' with `NULL'.
34568 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
34569 (fs_module_list): Change type to `grub_named_list_t'. Update all
34570 users.
34571 * normal/dyncmd.c (read_command_list): Add space between function
34572 call and parenthesis.
34573 * normal/handler.c (read_handler_list): Likewise.
34574
4089b167
RM
345752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34576
34577 * normal/auth.c (punishment_delay): Moved from here ...
34578 (grub_auth_strcmp): ... to here (inside function).
34579
325f5037
RM
345802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34581
34582 * include/grub/list.h (struct grub_named_list): Remove `const'
34583 qualifier from `name'.
34584 (struct grub_prio_list): Likewise.
34585
7aea29a3
RM
345862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34587
34588 * normal/auth.c: Include `<grub/time.h>'.
34589 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
34590
3fd6f044
RM
345912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34592
34593 * normal/auth.c (punishment_delay): New variable.
34594 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
34595 (grub_auth_check_authentication): Punish failed login attempts with
34596 an incremental (2^N) delay.
34597
a4cd68e4
RM
345982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34599
34600 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
34601 path with $(srcdir).
34602
7ad12f43
VS
346032009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34604
34605 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
34606
c1129f03
RM
346072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34608
34609 * util/i386/coreboot/grub-mkrescue.in: New file.
34610 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
34611 variables.
34612
34613 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
34614 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
34615 * configure.ac: Add header and function checks to satisfy grub-mkisofs
34616 requirements.
34617 * util/mkisofs/defaults.h: New file.
34618 * util/mkisofs/eltorito.c: Likewise.
34619 * util/mkisofs/exclude.h: Likewise.
34620 * util/mkisofs/fnmatch.c: Likewise.
34621 * util/mkisofs/getopt.c: Likewise.
34622 * util/mkisofs/getopt1.c: Likewise.
34623 * util/mkisofs/hash.c: Likewise.
34624 * util/mkisofs/include/fctldefs.h: Likewise.
34625 * util/mkisofs/include/mconfig.h: Likewise.
34626 * util/mkisofs/include/prototyp.h: Likewise.
34627 * util/mkisofs/include/statdefs.h: Likewise.
34628 * util/mkisofs/iso9660.h: Likewise.
34629 * util/mkisofs/joliet.c: Likewise.
34630 * util/mkisofs/match.c: Likewise.
34631 * util/mkisofs/match.h: Likewise.
34632 * util/mkisofs/mkisofs.c: Likewise.
34633 * util/mkisofs/mkisofs.h: Likewise.
34634 * util/mkisofs/multi.c: Likewise.
34635 * util/mkisofs/name.c: Likewise.
34636 * util/mkisofs/rock.c: Likewise.
34637 * util/mkisofs/tree.c: Likewise.
34638 * util/mkisofs/write.c: Likewise.
34639
ec8bb77d
VS
346402009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34641
34642 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
34643 being insecure.
34644
3716b12c
RM
346452009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34646
34647 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
34648 `grub-mkimage' (and use $0 when possible).
34649
b97b7b91
RM
346502009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34651
34652 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
34653 error message for excessively large memory map.
34654
04114812
RM
346552009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34656
34657 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
34658 executable bit.
34659
e4eb2373
RM
346602009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34661
34662 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
34663 message for coreboot users.
34664
c926e1d5 346652009-11-07 Robert Millan <rmh.grub@aybabtu.com>
34666
34667 Fix build with GNU gold.
34668
34669 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
34670 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
34671 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
34672 link addresses.
34673 * aclocal.m4: Likewise.
34674
86e5b1db 346752009-11-04 Felix Zielcke <fzielcke@z-51.de>
34676
34677 * configure.ac (AC_PREREQ): Bump to 2.59d.
34678 * INSTALL: Make it more clear when Autoconf and Ruby are
34679 needed and when to run `./autogen.sh'.
34680
246cd78f 346812009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
34682
34683 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
34684 OSes.
34685
4f9dfb37 346862009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34687
34688 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
34689
b82bd5e1 346902009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34691
34692 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34693 giving it to GNU Mach.
34694
ff1a9bca 346952009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34696
34697 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
34698 GNU partition number to get internal GRUB partition number.
34699
61697d9c 347002009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34701
34702 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
34703 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
34704
a50569e1 347052009-11-01 Robert Millan <rmh.grub@aybabtu.com>
34706
34707 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
34708 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
34709 case.
34710
5b153867 347112009-11-01 Felix Zielcke <fzielcke@z-51.de>
34712
34713 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
34714
d9e2cd70 347152009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34716
34717 Fix build problem.
34718
34719 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
34720 `-isystem=$(srcdir)/include'.
34721
805111a4 347222009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34723
34724 * util/i386/pc/grub-install.in: Remove hint that device.map should be
34725 checked (grub-install doesn't currently rely on it).
34726
fa6e945f 347272009-10-29 Robert Millan <rmh.grub@aybabtu.com>
34728
34729 Revert SVN r2660.
34730
34731 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
34732 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34733 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
34734 * conf/i386-ieee1275.rmk: Likewise.
34735 * conf/i386-pc.rmk: Likewise.
34736 * conf/powerpc-ieee1275.rmk: Likewise.
34737 * conf/sparc64-ieee1275.rmk: Likewise.
34738 * conf/x86_64-efi.rmk: Likewise.
34739
cee15086 347402009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34741
34742 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
34743
95b9239e 347442009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34745
34746 * include/grub/misc.h: Stop checking for APPLE_CC.
34747
2ed19dfd 347482009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34749
34750 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
34751 doesn't cause an infinite call loop.
34752
fdcdde19 347532009-10-28 Felix Zielcke <fzielcke@z-51.de>
34754
34755 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
34756 strings.
34757
cefabfe1 347582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34759
34760 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
34761 variable.
34762 * Makefile.in: Likewise.
34763
ed96ab6d 347642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34765
34766 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
34767
0579b753 347682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34769
34770 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
34771
478df409 347722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34773
34774 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
34775
083d1679 347762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34777
34778 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
34779 from here ...
34780 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
34781
5947ae32 347822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34783
34784 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
34785 in $(MAKEINFO) invocation. This makes it clear in output that
34786 errors are being ignored.
34787
94180ff6 347882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34789
34790 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
34791 from here ...
34792 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34793 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
34794 * conf/i386-ieee1275.rmk: Likewise.
34795 * conf/i386-pc.rmk: Likewise.
34796 * conf/powerpc-ieee1275.rmk: Likewise.
34797 * conf/sparc64-ieee1275.rmk: Likewise.
34798 * conf/x86_64-efi.rmk: Likewise.
34799
9031b03a 348002009-10-26 Colin Watson <cjwatson@ubuntu.com>
34801
34802 * util/grub-editenv.c (main): If only a command is given, use
34803 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
34804 (usage): FILENAME is now optional and has a default.
34805
e4f6809b 348062009-10-26 Colin Watson <cjwatson@ubuntu.com>
34807
34808 Improve grub-mkconfig performance when there are several menu
34809 entries on a single filesystem.
34810
34811 * util/grub.d/10_linux.in (linux_entry): Cache the output of
34812 prepare_grub_to_access_device.
34813 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34814 * util/grub.d/30_os-prober.in: Likewise.
34815
67937d4d 348162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34817
34818 * util/grub.d/10_freebsd.in: Remove.
34819 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
34820 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
34821
ee3756cc 348222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34823
5c35048e 34824 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 34825
4dea1c6f 348262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34827
34828 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
34829 grub_util_error() call.
34830
042484d7 348312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34832
34833 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
34834 `reserved_first_sector' member.
34835 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
34836 `reserved_first_sector' to 1.
34837 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
34838 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
34839 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
34840 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
34841 filesystems which begin at first sector.
34842 (options): New option --skip-fs-probe.
34843 (main): Handle --skip-fs-probe and pass it to setup().
34844
d64448a7 348452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34846
34847 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
34848 (memset): Fix function prototype.
34849
508d42ec 348502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
348512009-10-25 Vasily Averin <vvs@parallels.com>
34852
34853 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
34854 `dirent.direntlen == 0'.
34855
b240e30c 348562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34857
34858 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
34859 `cpio'.
34860 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
34861
346e7fbe 348622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34863
34864 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
34865 `__trampoline_setup' and `__ucmpdi2'.
34866 * include/grub/powerpc/libgcc.h: Only export symbols for functions
34867 that libgcc provides.
34868
cdb308b0 348692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34870
34871 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
34872 * include/grub/sparc64/libgcc.h (memset): Likewise.
34873 * include/grub/misc.h (memset, memcmp): New function prototypes.
34874
fb26abc2 348752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34876
34877 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
34878 `cpio'.
34879 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
34880
f6693890 348812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34882
34883 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
34884 * docs/grub.cfg: Compensate for recent change in multiboot
34885 loader (since 2009-08-14 it won't pass filename to payload).
34886 * util/grub.d/10_hurd.in: Likewise.
34887
0933cdc0 348882009-10-21 Felix Zielcke <fzielcke@z-51.de>
34889
34890 * config.guess: Update to latest version from config git
34891 repository.
34892 * config.sub: Likewise.
34893
3b2fe8c2 348942009-10-20 Robert Millan <rmh.grub@aybabtu.com>
34895
34896 Fix build on sparc64.
34897
34898 * configure.ac: Perform checks for libgcc symbols before
34899 adding `-nostdlib' to LDFLAGS.
34900
46695a62 349012009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34902
34903 Let user specify OpenBSD root device.
34904
34905 * loader/i386/bsd.c (openbsd_root): New variable.
34906 (openbsd_opts): New option 'root'.
34907 (OPENBSD_ROOT_ARG): New macro.
34908 (grub_openbsd_boot): Use 'openbsd_root'.
34909 (grub_cmd_openbsd): Fill 'openbsd_root'.
34910
d2b6b7fc 349112009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34912
34913 * NEWS: Misc adjustments.
34914
421bd7ac 349152009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34916
34917 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
34918
f1d29d87 349192009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34920
34921 * configure.ac: Bump version to 1.97.
34922
6f3cd880 349232009-10-16 Colin Watson <cjwatson@ubuntu.com>
34924
34925 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
34926 -mno-3dnow on x86 architectures. Some toolchains enable these
34927 features by default, but they rely on registers that aren't enabled
34928 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
34929
035f7122 349302009-10-15 Robert Millan <rmh.grub@aybabtu.com>
34931
34932 Make entry text a bit more readable.
34933
34934 * util/grub.d/10_linux.in: Add `with' before `Linux'.
34935
44998e58 349362009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34937
34938 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
34939
cd2851b3 349402009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34941
34942 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
34943 operations.
34944
c6f3b249 349452009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34946
34947 * configure.ac: Add missing dollar.
34948
6b5886ba 349492009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34950
34951 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
34952
34953 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
34954 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
34955 exports.
34956 * include/grub/sparc64/libgcc.h: Likewise. Use
34957 preprocessor conditionals.
34958
e9d66f6d 349592009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34960
34961 * conf/common.rmk (grub-dumpbios): Remove rule.
34962 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
34963 * util/grub-dumpbios.in: Remove file.
34964
9155bc17 349652009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34966
34967 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
34968 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
34969
34970 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
34971 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
34972 users.
34973
34974 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
34975 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
34976 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
34977 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
34978 users.
34979
bf7f7a18 349802009-10-12 Robert Millan <rmh.grub@aybabtu.com>
34981
34982 * term/tparm.c: Switch to GPLv3.
34983
86564c26 349842009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34985
34986 * include/grub/i386/cpuid.h: Add header protection.
34987
5c936493 349882009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34989
34990 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
34991
34992 * include/grub/i386/cpuid.h: New file.
34993 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
34994 (has_longmode): Rename to ...
34995 (grub_cpuid_has_longmode): ... this. Update all users. Remove
34996 `static' attribute.
34997 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
34998 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
34999 on a CPU that doesn't implement AMD64 instruction set.
35000
186e7cf2 350012009-10-06 Colin Watson <cjwatson@ubuntu.com>
35002
35003 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
35004 that version.texi is rebuilt on version number changes.
35005
83b65c4a 350062009-10-06 Colin Watson <cjwatson@ubuntu.com>
35007
35008 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
35009 Fixes bug #27602.
35010
d244281c 350112009-10-06 Colin Watson <cjwatson@ubuntu.com>
35012
35013 * util/i386/pc/grub-install.in: Source
35014 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
35015 that the --grub-probe option will work.
35016 * util/sparc64/ieee1275/grub-install.in: Likewise.
35017
da25306d 350182009-10-05 Robert Millan <rmh.grub@aybabtu.com>
35019
35020 * configure.ac: Bump version to 1.97~beta4.
35021
e8ee83c0 350222009-10-03 Robert Millan <rmh.grub@aybabtu.com>
35023
35024 Resync grub-mkdevicemap in x86_64-efi.
35025
35026 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
35027 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
35028 `util/devicemap.c'.
35029
50dcabcf 350302009-10-01 Colin Watson <cjwatson@ubuntu.com>
35031
35032 * util/grub-editenv.c (create_envblk_file): Write new block with a
35033 .new suffix and then rename it into place, to ensure atomic
35034 creation.
35035
0e51c3a7 350362009-09-28 Robert Millan <rmh.grub@aybabtu.com>
35037
35038 Do not automatically install headers.
35039
35040 * Makefile.in (include_DATA): Remove. Update all users.
35041
31299a95 350422009-09-26 Robert Millan <rmh.grub@aybabtu.com>
35043
35044 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
35045 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
35046
35047 * util/osdetect.lua: Remove.
35048 * script/lua/lauxlib.c: Likewise.
35049 * script/lua/ldebug.c: Likewise.
35050 * script/lua/grub_main.c: Likewise.
35051 * script/lua/lauxlib.h: Likewise.
35052 * script/lua/ldebug.h: Likewise.
35053 * script/lua/ltablib.c: Likewise.
35054 * script/lua/liolib.c: Likewise.
35055 * script/lua/lstrlib.c: Likewise.
35056 * script/lua/lualib.h: Likewise.
35057 * script/lua/ldo.c: Likewise.
35058 * script/lua/ldump.c: Likewise.
35059 * script/lua/ldo.h: Likewise.
35060 * script/lua/loslib.c: Likewise.
35061 * script/lua/lundump.c: Likewise.
35062 * script/lua/grub_lib.c: Likewise.
35063 * script/lua/ldblib.c: Likewise.
35064 * script/lua/lundump.h: Likewise.
35065 * script/lua/lmem.c: Likewise.
35066 * script/lua/grub_lib.h: Likewise.
35067 * script/lua/lmathlib.c: Likewise.
35068 * script/lua/lstate.c: Likewise.
35069 * script/lua/ltm.c: Likewise.
35070 * script/lua/lvm.c: Likewise.
35071 * script/lua/lmem.h: Likewise.
35072 * script/lua/lstate.h: Likewise.
35073 * script/lua/ltm.h: Likewise.
35074 * script/lua/ltable.c: Likewise.
35075 * script/lua/lvm.h: Likewise.
35076 * script/lua/llex.c: Likewise.
35077 * script/lua/lgc.c: Likewise.
35078 * script/lua/grub_lua.h: Likewise.
35079 * script/lua/loadlib.c: Likewise.
35080 * script/lua/lfunc.c: Likewise.
35081 * script/lua/lopcodes.c: Likewise.
35082 * script/lua/lparser.c: Likewise.
35083 * script/lua/ltable.h: Likewise.
35084 * script/lua/llex.h: Likewise.
35085 * script/lua/lgc.h: Likewise.
35086 * script/lua/lfunc.h: Likewise.
35087 * script/lua/lbaselib.c: Likewise.
35088 * script/lua/lopcodes.h: Likewise.
35089 * script/lua/lparser.h: Likewise.
35090 * script/lua/lzio.c: Likewise.
35091 * script/lua/linit.c: Likewise.
35092 * script/lua/lobject.c: Likewise.
35093 * script/lua/llimits.h: Likewise.
35094 * script/lua/lstring.c: Likewise.
35095 * script/lua/lzio.h: Likewise.
35096 * script/lua/lapi.c: Likewise.
35097 * script/lua/lcode.c: Likewise.
35098 * script/lua/lua.h: Likewise.
35099 * script/lua/lobject.h: Likewise.
35100 * script/lua/lstring.h: Likewise.
35101 * script/lua/lapi.h: Likewise.
35102 * script/lua/lcode.h: Likewise.
35103 * script/lua/luaconf.h: Likewise.
35104
cb8a2c38 351052009-09-26 Colin Watson <cjwatson@ubuntu.com>
35106
35107 * docs/grub.texi (Command-line and menu entry commands): Document
35108 date and echo commands.
35109
6b9b6276 351102009-09-24 Pavel Roskin <proski@gnu.org>
35111
35112 * include/grub/kernel.h (struct grub_module_header): Remove
35113 `grub_module_header_types'. Make `type' unsigned. Make `size'
35114 32-bit on all platforms.
35115 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
35116 8-bit field. Use grub_host_to_target32() for `size'.
35117 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
35118 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
35119 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
35120
4e5a02a7 351212009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35122
35123 Fix "lost keypress" bug in at_keyboard.
35124
35125 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
35126 Checks for readyness of input buffer (without flushing it).
35127 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
35128 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
35129
c6dcedf6 351302009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35131
35132 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
35133 size check within GRUB_MACHINE_PCBIOS section.
35134
74c958b1 351352009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35136
35137 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
35138 return value.
35139 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
35140 KEYBOARD_ISREADY check.
35141 (grub_at_keyboard_checkkey): Rename to ...
35142 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
35143 Remove gratuitous cast.
35144
ff420223 351452009-09-23 Colin Watson <cjwatson@ubuntu.com>
35146
35147 * configure.ac: Call AC_PROG_MKDIR_P.
35148 * Makefile.in (docs/stamp-vti): Create docs directory. Create
35149 version.texi in $(builddir) rather than $(srcdir).
35150 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
35151 to makeinfo's @include search path.
35152
d96875df 351532009-09-23 Felix Zielcke <fzielcke@z-51.de>
35154
35155 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
35156
9b3f8365 351572009-09-23 Felix Zielcke <fzielcke@z-51.de>
35158
35159 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
35160 for `*.dpkg-new'.
35161
c44c90db 351622009-09-21 Colin Watson <cjwatson@ubuntu.com>
35163
35164 Build info documentation. Some code borrowed from Automake.
35165
35166 * configure.ac: Check for makeinfo.
35167 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
35168 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
35169 docs/version.texi.
35170 (MOSTLYCLEANFILES): Add vti.tmp.
35171 (docs/version.texi, docs/stamp-vti): Update automatically.
35172 (docs/grub.info): Build info documentation. Use --force and ignore
35173 errors for now.
35174 (all-local): Add $(INFOS).
35175 (install-local): Install info files.
35176 (uninstall): Uninstall info files.
35177 * docs/version.texi: Remove from revision control. This file is
35178 automatically generated on build now.
35179 * gendistlist.sh: Add `*.info'.
35180
e0b37bb5 351812009-09-21 Felix Zielcke <fzielcke@z-51.de>
35182
35183 * kern/term.c: Fix indentation.
35184
5a78865b 351852009-09-21 Felix Zielcke <fzielcke@z-51.de>
35186
35187 * util/hostdisk.c: Fix a comment.
35188
dace7e8a 351892009-09-20 Robert Millan <rmh.grub@aybabtu.com>
35190
35191 Fix regression introduced in r2539.
35192
35193 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
35194 to 0xA1.
35195
a83d079b 351962009-09-19 Colin Watson <cjwatson@ubuntu.com>
35197
35198 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 35199 os-prober. Under normal operation, it does not print anything to
35200 stderr; if it does, we need to debug it, and throwing away stderr
35201 makes that excessively difficult.
a83d079b 35202
be94a509 352032009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
35204
35205 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
35206
63f745e8 352072009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35208
35209 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
35210 AC_LANG_PROGRAM from autoconf.
35211 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
35212 prototypes (fixes warning).
35213
35214 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
35215 `--disable-werror' was used.
35216
bbb2a70f 352172009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35218
35219 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
35220 uninitialized `lastaddr'.
35221
77c24f1d 352222009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
35223
0f0b8c87 35224 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 35225
07197f23 352262009-09-14 Colin Watson <cjwatson@ubuntu.com>
35227
35228 * commands/test.c (get_fileinfo): Return immediately if
35229 grub_fs_probe fails.
35230
dabf1798 352312009-09-14 José Martínez <xosemp@gmail.com>
35232
35233 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
35234
d52109a7 352352009-09-14 Colin Watson <cjwatson@ubuntu.com>
35236
35237 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
35238 output.
35239
56532179 352402009-09-13 Robert Millan <rmh.grub@aybabtu.com>
35241
35242 * configure.ac: Remove --enable-grub-pe2elf. Only build
35243 grub-pe2elf when needed by the build system itself.
35244 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
35245
8ef070f5 352462009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35247
35248 * configure.ac: Bump version to 1.97~beta3.
35249 * docs/version.texi: Likewise.
35250
61229557 352512009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35252
35253 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
35254 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
35255 from here ...
35256 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
35257 (grub_linux_setup_video): ... to here (with some adjustments).
35258
5c9f8d84 352592009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35260
35261 Fix memory corruption issue (spotted by Colin Watson).
35262
35263 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
35264 causing returned size to be stored in an incorrect memory location.
35265 Fix use of uninitialized value when storing the returned size.
35266
e8f5d6e9 352672009-09-12 Yves Blusseau <blusseau@zetam.org>
35268
35269 Change clean rules to properly remove files
35270
35271 * genmk.rb: add new clean rules
35272 * Makefile.in (clean): add the new targets
35273 (mostlyclean): likewise
35274
cda2a409 352752009-09-11 Colin Watson <cjwatson@ubuntu.com>
35276
35277 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
35278 to grub_uint64_t.
35279 * fs/ntfs.c (init_file): Understand 64-bit sizes for
35280 non-resident files.
35281
86695375 352822009-09-11 Colin Watson <cjwatson@ubuntu.com>
35283
35284 * configure.ac: Don't look for help2man when cross-compiling. Fixes
35285 part of bug #27349.
35286
8aa1541a 352872009-09-10 Felix Zielcke <fzielcke@z-51.de>
35288
35289 * util/grub-mkconfig.in: Make the created config mode 400 and
35290 print a warning if it fails.
35291
48d9bb0a 352922009-09-10 Robert Millan <rmh.grub@aybabtu.com>
35293
35294 * util/grub.d/40_custom.in: Ask user to type custom entries below
35295 comment, rather than below 'exec tail' line.
35296
3b0521be 352972009-09-10 Colin Watson <cjwatson@ubuntu.com>
35298
35299 * util/grub.d/40_custom.in: Make sure that the explanatory text is
35300 visible in grub.cfg.
35301
50051d55 353022009-09-10 Colin Watson <cjwatson@ubuntu.com>
35303
35304 * util/grub.d/40_custom.in: Make it a little clearer how to use this
35305 file.
35306
c0d34387 353072009-09-10 Felix Zielcke <fzielcke@z-51.de>
35308
35309 * docs/grub.cfg: Add an example menu entry for memtest86+.
35310
80a608f3 353112009-09-09 Felix Zielcke <fzielcke@z-51.de>
35312
a2094832 35313 * config.guess: Update to latest version from config git.
80a608f3 35314 * config.sub: Likewise.
35315
99423078 353162009-09-08 Colin Watson <cjwatson@ubuntu.com>
35317
35318 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
35319 unknown-command case. Fixes bug #27320.
35320
44454e4c 353212009-09-08 Felix Zielcke <fzielcke@z-51.de>
35322
35323 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
35324 `help' if the command exists.
35325
e30d87ad 353262009-09-06 Robert Millan <rmh.grub@aybabtu.com>
35327
35328 * INSTALL: Require GCC 4.1.3 or later.
35329
9a86f1ec 353302009-09-06 Yves Blusseau <blusseau@zetam.org>
35331
35332 * Makefile.in (RMKFILES): add i386-qemu.rmk
35333 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
35334 $(srcdir)/stamp-h.in
35335
7f26d466 353362009-09-05 Robert Millan <rmh.grub@aybabtu.com>
35337
35338 * util/grub-probe.c (probe): Comment out buggy codepath, which
35339 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
35340 should be re-enabled after 1.97.
35341
3a613259 353422009-09-05 Felix Zielcke <fzielcke@z-51.de>
35343
35344 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
35345 find searches for.
35346
197f76c7 353472009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
35348
35349 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
35350 unnecessary calls to grub_error.
35351
70ba68ce 353522009-09-04 Colin Watson <cjwatson@ubuntu.com>
35353
35354 * NEWS: Mention `keystatus' and Unicode fonts.
35355
4ff0d7a4 353562009-09-04 Robert Millan <rmh.grub@aybabtu.com>
35357
35358 * configure.ac: Bump version to 1.97~beta2.
35359 * docs/version.texi: Likewise.
35360
77c55a87 353612009-09-03 Colin Watson <cjwatson@ubuntu.com>
35362
35363 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
35364 containing unwind information in some cases where it previously did
35365 not. Use -fno-dwarf2-cfi-asm if available to restore the old
35366 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
35367 discussion.
35368
f79572cd 353692009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
35370
35371 Embedding loadenv module into grub-emu
35372
35373 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
35374 commands/loadenv.c
35375 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
35376 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
35377 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
35378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
35379 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
35380 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
35381
93a81088 353822009-09-03 Magnus Granberg <zorry@ume.nu>
35383
35384 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
35385 include -fPIE in the default specs.
35386 * configure.ac: Check if pie_possible is yes and add -fno-PIE
35387 to TARGET_CFLAGS.
35388
160034b2 353892009-09-03 Felix Zielcke <fzielcke@z-51.de>
35390
35391 * INSTALL: Note that GNU Bison 2.3 or later is required.
35392
087c07c4 353932009-09-03 Colin Watson <cjwatson@ubuntu.com>
35394
35395 * kern/i386/pc/startup.S: Fix typo.
35396
cbf978c0 353972009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
35398
35399 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
35400 according to GCS.
35401
354022009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 35403
35404 * docs/grub.texi (Naming convention): Describe one-based partition
35405 numbering.
35406 (Device syntax): Likewise.
35407 (File name syntax): Likewise.
35408 (Block list syntax): Likewise.
35409 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
35410 menu.lst.
35411 (File name syntax): Likewise.
35412 (Command-line and menu entry commands): Document acpi, blocklist,
35413 crc, export, insmod, keystatus, ls, set, and unset commands.
35414
f3e8cdfd 354152009-09-02 Colin Watson <cjwatson@ubuntu.com>
35416
35417 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
35418 to avoid implying that only one of --shift, --ctrl, or --alt may be
35419 used.
35420
c0bc232b 354212009-09-02 Colin Watson <cjwatson@ubuntu.com>
35422
35423 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
35424 rather than comparing against S_IFREG, which will almost never work.
35425
aa0f752d 354262009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
35427
35428 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
35429 (write_blocklists): Likewise.
35430
ecb3166a 354312009-09-01 Colin Watson <cjwatson@ubuntu.com>
35432
35433 * script/lua/grub_lua.h (fputs): Supply a format string as the first
35434 argument to grub_printf.
35435
c403a125 354362009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 35437
35438 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 35439 non GNU test.
31aba781 35440
b5e7312c 354412009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35442
35443 * kern/file.c (grub_file_read): Spelling fix
35444
fe00f472 354452009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35446
35447 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
35448 loading of headers in some cases.
35449
cc55302e 354502009-08-30 Robert Millan <rmh.grub@aybabtu.com>
35451
35452 * configure.ac: Bump version to 1.97~beta1.
35453 * docs/version.texi: Likewise.
35454
5c90cdd2 354552009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 35456
35457 * include/grub/i386/xnu.h: Add license header.
35458 include grub/err.h explicitly.
35459
c90edae4 354602009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35461
35462 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
35463 to `ufs' in the vfs.root.mountfrom kernel parameter.
35464
d8888b5c 354652009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35466
35467 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
35468
35469 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
35470 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
35471
35472 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
35473 `ARRAY_SIZE' macro.
35474
6f07b921 354752009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35476
35477 * kern/file.c (grub_file_read): Check offset.
35478 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
35479 * fs/jfs.c (grub_jfs_read_file): Likewise.
35480 * fs/ntfs.c (grub_ntfs_read): Likewise.
35481 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
35482 * fs/minix.c (grub_minix_read_file): Correct offset check.
35483 * fs/ufs.c (grub_ufs_read_file): Likewise.
35484
b4f34077 354852009-08-28 Colin Watson <cjwatson@ubuntu.com>
35486
35487 * term/i386/pc/console.c (bios_data_area): Cast
35488 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
35489
e7c69859 354902009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35491
35492 1-bit optimised blitters.
35493
35494 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
35495 prototype.
35496 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35497 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35498 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35499 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35500 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35501 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35502 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
35503 function.
35504 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35505 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35506 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35507 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35508 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35509 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35510 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
35511 when possible.
35512 * video/video.c (grub_video_get_blit_format): Return
35513 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
35514
a57da43f 355152009-08-28 Colin Watson <cjwatson@ubuntu.com>
35516
35517 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
35518 the first argument to grub_printf.
35519
4cbe67e5 355202009-08-28 Colin Watson <cjwatson@ubuntu.com>
355212009-08-28 Robert Millan <rmh.grub@aybabtu.com>
35522
35523 Add `getkeystatus' terminal method. Add a new `keystatus' command
35524 to query it.
35525
35526 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
35527 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
35528 modifier key bitmasks.
35529 (struct grub_term_input): Add `getkeystatus' member.
35530 (grub_getkeystatus): Add prototype.
35531 * kern/term.c (grub_getkeystatus): New function.
35532
35533 * include/grub/i386/pc/memory.h
35534 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
35535 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
35536 Data Area layout.
35537 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
35538 (grub_console_term_input): Set `getkeystatus' member.
35539 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
35540 constants.
35541 (grub_usb_keyboard_getreport): Likewise.
35542 (grub_usb_keyboard_checkkey): Likewise.
35543 (grub_usb_keyboard_getkeystatus): New function.
35544 (grub_usb_keyboard_term): Set `getkeystatus' member.
35545
35546 * commands/keystatus.c: New file.
35547 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
35548 (keystatus_mod_SOURCES): New variable.
35549 (keystatus_mod_CFLAGS): Likewise.
35550 (keystatus_mod_LDFLAGS): Likewise.
35551 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
35552 commands/keystatus.c.
35553 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35554 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35555 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35556 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35557 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35558 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 35559
6e2a9085 355602009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35561
35562 Split befs.mod and afs.mod into *_be.mod and *.mod
35563
35564 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
35565 (grub_fstest_SOURCES): Likewise.
35566 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
35567 (afs_be_mod_SOURCES): New variable.
35568 (afs_be_mod_CFLAGS): Likewise.
35569 (afs_be_mod_LDFLAGS): Likewise.
35570 (befs_be_mod_SOURCES): Likewise.
35571 (befs_be_mod_CFLAGS): Likewise.
35572 (befs_be_mod_LDFLAGS): Likewise.
35573 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
35574 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35575 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35576 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35577 (grub_emu_SOURCES): Likewise.
35578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35579 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35580 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35581 * fs/afs_be.c: New file.
35582 * fs/befs_be.c: New file.
35583 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
35584 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
35585 (U16): Replaced with ...
35586 (grub_afs_to_cpu16): ...this. All users updated.
35587 (U32): Replaced with ...
35588 (grub_afs_to_cpu32): ...this. All users updated.
35589 (U64): Replaced with ...
35590 (grub_afs_to_cpu64): ...this. All users updated.
35591 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
35592 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 35593 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 35594 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35595 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35596 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35597 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35598 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35599 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35600 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35601 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35602
32a71655 356032009-08-26 Bean <bean123ch@gmail.com>
35604
35605 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
35606 64-bit number.
35607 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
35608 (grub_xfs_inode_block): Change return type to grub_uint64_t.
35609 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
35610
552bf6c5 356112009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35612
35613 NetBSD memory map support.
35614
35615 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
35616 (grub_netbsd_btinfo_mmap_header): New structure.
35617 (grub_netbsd_btinfo_mmap_entry): Likewise.
35618 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
35619
1ae2078c 356202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35621
35622 Enable bsd.mod on coreboot.
35623
35624 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
35625 (bsd_mod_SOURCES): New variable.
35626 (bsd_mod_CFLAGS): Likewise.
35627 (bsd_mod_LDFLAGS): Likewise.
35628 (bsd_mod_ASFLAGS): Likewise.
35629 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
35630 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
35631
beefc598 356322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35633
35634 Cleanup NetBSD root support.
35635
35636 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
35637 grub_bsd_get_device.
35638 Fix typo.
35639
3b76e68b 356402009-08-25 Felix Zielcke <fzielcke@z-51.de>
35641
35642 * util/grub.d/00_header.in: Move check for the video backend of
35643 gfxterm from here ...
35644 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
35645 a suitable video backend.
35646
aea664ea 356472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35648
35649 Fix breakage in grub-setup.
35650
35651 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
35652 "msdos_partition_map".
35653
ff747d50 356542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35655
35656 Fix breakage in normal/auth.c.
35657
35658 * normal/auth.c (grub_iswordseparator): New function.
35659
e7e1f93f 356602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35661
35662 Authentication support.
35663
35664 * commands/password.c: New file.
35665 * conf/common.rmk (pkglib_MODULES): Add password.mod.
35666 (password_mod_SOURCES): New variable.
35667 (password_mod_CFLAGS): Likewise.
35668 (password_mod_LDFLAGS): Likewise.
35669 (normal_mod_SOURCES): Add normal/auth.c.
35670 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
35671 normal/auth.c.
35672 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35673 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35674 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35676 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35677 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35678 * include/grub/auth.h: New file.
35679 * include/grub/err.h (grub_err_t): New enum value
35680 GRUB_ERR_ACCESS_DENIED.
35681 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
35682 'users'.
35683 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
35684 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
35685 users updated.
35686 * normal/auth.c: New file.
35687 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
35688 (grub_cmdline_run): Don't allow to go to command line without
35689 authentication.
35690 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
35691 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
35692 menuentry without superuser rights.
35693 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
35694 user isn't a superuser.
35695
70f1161d 356962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35697
35698 Save space by inlining misc.c functions.
35699
35700 * kern/misc.c (grub_iswordseparator): Made static.
35701 * kern/misc.c (grub_strcat): Moved from here ...
35702 * include/grub/misc.h (grub_strcat): ... here. Inlined.
35703 * kern/misc.c (grub_strncat): Moved from here ...
35704 * include/grub/misc.h (grub_strncat): ... here. Inlined.
35705 * kern/misc.c (grub_strcasecmp): Moved from here ...
35706 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
35707 * kern/misc.c (grub_strncasecmp): Moved from here ...
35708 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
35709 * kern/misc.c (grub_isalpha): Moved from here ...
35710 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
35711 * kern/misc.c (grub_isdigit): Moved from here ...
35712 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
35713 * kern/misc.c (grub_isgraph): Moved from here ...
35714 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
35715 * kern/misc.c (grub_tolower): Moved from here ...
35716 * include/grub/misc.h (grub_tolower): ... here. Inlined.
35717
48e40bff 357182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35719
35720 * script/sh/function.c (grub_script_function_find): Cut error message
35721 not to flood terminal.
35722 * script/sh/lexer.c (grub_script_yylex): Remove command line length
35723 limit.
35724 * script/sh/script.c (grub_script_arg_add): Duplicate string.
35725
c385bfc3 357262009-08-24 Colin Watson <cjwatson@ubuntu.com>
35727
35728 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
35729 `report' grub_uint8_t *.
35730 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
35731 Use a 50-millisecond timeout rather than just repeating
35732 grub_usb_keyboard_getreport 50 times.
35733 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
35734
2d21e3e8 357352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35736
35737 Rename *_partition_map to part_*
35738
35739 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
35740 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
35741 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
35742 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
35743 All users updated.
35744 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
35745 All users updated.
35746 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
35747 * util/grub-probe.c (probe_partmap): Don't transform partition name
35748 to get module name.
35749
dd103c4e 357502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35751
35752 Fix OpenBSD and NetBSD support.
35753
35754 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
35755 memory address conflict.
35756 (OPENBSD_MMAP_ACPI): New definition.
35757 (OPENBSD_MMAP_NVS): Likewise.
35758 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
35759 and OPENBSD_MMAP_NVS.
35760 Add memory map terminator
35761 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 35762 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 35763
16c84d74 357642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35765
35766 Let user specify NetBSD root device.
35767
35768 * loader/i386/bsd.c (netbsd_root): New variable.
35769 (netbsd_opts): New option 'root'.
35770 (NETBSD_ROOT_ARG): New macro.
35771 (grub_netbsd_boot): Use 'netbsd_root'.
35772 (grub_bsd_unload): Free 'netbsd_root'.
35773 (grub_cmd_netbsd): Fill 'netbsd_root'.
35774
adb29902 357752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35776
35777 Support for 64-bit NetBSD.
35778
35779 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
35780 point when booting non-FreeBSD.
35781
f5ae9f74 357822009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35783
35784 Support --no-smp and --no-acpi for NetBSD.
35785
35786 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
35787 (NETBSD_AB_NOACPI): Likewise.
35788 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
35789 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
35790
de74f136 357912009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35792
35793 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
35794 errors.
35795 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
35796 errors. Call grub_error when needed.
35797
e9a925da 357982009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35799
35800 * commands/search.c (search_fs): Try searching without autoload first.
35801 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
35802 filesystem module explicitly for faster booting.
35803
5174302b 358042009-08-23 Colin Watson <cjwatson@ubuntu.com>
35805
35806 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
35807
c8c80635 358082009-08-23 Colin Watson <cjwatson@ubuntu.com>
35809
35810 * util/grub.d/30_os-prober.in: Disable os-prober if
35811 `GRUB_DISABLE_OS_PROBER' was set to true.
35812
71acf5e5 358132009-08-23 Robert Millan <rmh.grub@aybabtu.com>
35814
35815 * partmap/pc.c: Rename to ...
35816 * partmap/msdos.c: ... this. Update all users.
35817 (grub_pc_partition_map): Rename to ...
35818 (grub_msdos_partition_map): ... this. Update all users.
35819
35820 * parttool/pcpart.c: Rename to ...
35821 * parttool/msdospart.c: ... this. Update all users.
35822
35823 * include/grub/pc_partition.h: Rename to ...
35824 * include/grub/msdos_partition.h: ... this. Update all users.
35825 (grub_pc_partition_bsd_entry): Rename to ...
35826 (grub_msdos_partition_bsd_entry): ... this. Update all users.
35827 (grub_pc_partition_disk_label): Rename to ...
35828 (grub_msdos_partition_disk_label): ... this. Update all users.
35829 (grub_pc_partition_entry): Rename to ...
35830 (grub_msdos_partition_entry): ... this. Update all users.
35831 (grub_pc_partition_mbr): Rename to ...
35832 (grub_msdos_partition_mbr): ... this. Update all users.
35833 (grub_pc_partition): Rename to ...
35834 (grub_msdos_partition): ... this. Update all users.
35835 (grub_pc_partition_is_empty): Rename to ...
35836 (grub_msdos_partition_is_empty): ... this. Update all users.
35837 (grub_pc_partition_is_extended): Rename to ...
35838 (grub_msdos_partition_is_extended): ... this. Update all users.
35839 (grub_pc_partition_is_bsd): Rename to ...
35840 (grub_msdos_partition_is_bsd): ... this. Update all users.
35841
35842 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
35843 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
35844 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
35845 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
35846 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
35847 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
35848 (gpt_mod_LDFLAGS): Rename to ...
35849 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
35850 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
35851 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
35852 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
35853 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
35854 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
35855 (part_gpt_mod_LDFLAGS): ... this.
35856 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
35857 `pcpart.mod' to `msdospart.mod'.
35858 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
35859 to ...
35860 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
35861 (msdospart_mod_LDFLAGS): ... this.
35862
c11fded5 358632009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35864
35865 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
35866 (openbsd_opts): Likewise.
35867 (netbsd_opts): Likewise.
35868 (freebsd_flags): Added 0 terminator.
35869 (openbsd_flags): Likewise.
35870 (netbsd_flags): Likewise.
35871 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
35872 (grub_cmd_freebsd): Transformed into extended command.
35873 (grub_cmd_openbsd): Likewise.
35874 (grub_cmd_netbsd): Likewise.
35875 (cmd_freebsd): Changed type to grub_extcmd_t.
35876 (cmd_openbsd): Likewise.
35877 (cmd_netbsd): Likewise.
35878 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
35879 grub_cmd_openbsd as extended commands.
35880 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
35881 cmd_netbsd and cmd_openbsd
35882
11d1c769 358832009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
35884
35885 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
35886
7a9094e5 358872009-08-21 Pavel Roskin <proski@gnu.org>
35888
5496c37e 35889 * Makefile.in (install-local): When checking if a file is in the
35890 build directory, use "test -e" to detect symlinks.
35891
7a9094e5 35892 * Makefile.in (install-local): Remove all files in
35893 $(DESTDIR)$(pkglibdir) before installing new files there.
35894
e53cea11 358952009-08-18 Felix Zielcke <fzielcke@z-51.de>
35896
35897 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
35898 grub-mkelfimage.
35899
9aced544 359002009-08-18 Felix Zielcke <fzielcke@z-51.de>
35901
35902 * util/grub-mkconfig.in: Don't use gfxterm by default if not
35903 explicitly specified by the user.
35904
b7da6bab 359052009-08-18 Pavel Roskin <proski@gnu.org>
35906
35907 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
35908 grub_uint8_t pointer for data.
35909 * include/grub/fbutil.h (struct grub_video_fbblit_info):
35910 Likewise.
35911 * video/fb/fbutil.c: Remove unnecessary casts.
35912
19f1b335 359132009-08-17 Michal Suchanek <hramrach@centrum.cz>
35914
35915 VBE cleanup.
35916
35917 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
35918 (grub_vbe_set_video_mode): Save active mode info
35919 only after setting the mode.
35920 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
35921 second argument.
35922
2f467aa9 359232009-08-17 Michal Suchanek <hramrach@centrum.cz>
35924
35925 Rename variables for clarity.
35926
35927 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
35928 (active_vbe_mode_info): ... this. All users updated.
35929 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
35930 All users updated.
35931 (initial_mode): Rename to ...
35932 (initial_vbe_mode): ... this. All users updated.
35933 (mode_in_use): Rename to ..
35934 (vbe_mode_in_use): ... this. All users updated.
35935 (mode_list): Rename to ..
35936 (vbe_mode_list): ... this. All users updated.
35937 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
35938 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
35939 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
35940 'mode_list_size' to 'vbe_mode_list_size'.
35941 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
35942 'best_mode_info' to 'best_vbe_mode_info' and
35943 'best_mode' to 'best_vbe_mode'
35944
6025fcd7 359452009-08-17 Michal Suchanek <hramrach@centrum.cz>
35946
35947 Remove duplicate grub_video_fb_get_video_ptr.
35948
35949 * include/grub/fbutil.h (get_data_ptr): Rename to ...
35950 (grub_video_fb_get_video_ptr): ... this.
35951 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
35952 * video/fb/fbutil.c: Add comment about addressing.
35953 (get_data_ptr): Rename to ...
35954 (grub_video_fb_get_video_ptr): ... this. All users updated.
35955 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
35956
cc8c6faf 359572009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35958
35959 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
35960 grub_dprintf() that was just added.
35961
08aa61f0 359622009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35963
35964 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
35965 (DEFAULT_VIDEO_MODE): Remove macros.
35966 (grub_linux_boot): Remove assumption that Linux has FB support,
35967 and use "text" as default video mode.
35968
7cef4f75 359692009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
35970
35971 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
35972 grub_dprintf.
35973 * fs/fat.c (grub_fat_read_data): Likewise.
35974
e1f39873 359752009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35976
35977 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
35978 payload.
35979 (grub_module): Likewise.
35980
c166d79e 359812009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35982
35983 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
35984 mbi->cmdline but free playground.
35985
c60cee8e 359862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35987
35988 Handle group offset on UFS1.
35989
35990 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
35991 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
35992
c0d8b5d4 359932009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35994
35995 Split ufs.mod into ufs1.mod and ufs2.mod.
35996
35997 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
35998 (grub_fstest_SOURCES): Likewise.
35999 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
36000 (ufs_mod_SOURCES): Remove.
36001 (ufs_mod_CFLAGS): Likewise.
36002 (ufs_mod_LDFLAGS): Likewise.
36003 (ufs1_mod_SOURCES): New variable.
36004 (ufs1_mod_CFLAGS): Likewise.
36005 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 36006 (ufs2_mod_SOURCES): New variable.
36007 (ufs2_mod_CFLAGS): Likewise.
36008 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 36009 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
36010 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36011 Likewise.
36012 (grub_emu_SOURCES): Likewise.
36013 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36014 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36015 (grub_setup_SOURCES): Likewise.
36016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36017 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
36018 (grub_setup_SOURCES): Likewise.
36019 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36020 Likewise.
36021 * fs/ufs2.c: New file.
36022 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
36023
d3539132 360242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36025
36026 Framebuffer split.
36027
36028 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
36029 subsystem at the end.
36030 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
36031 (video_fb_mod_SOURCES): New variable.
36032 (video_fb_mod_CFLAGS): Likewise.
36033 (video_fb_mod_LDFLAGS): Likewise.
36034 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
36035 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
36036 * video/i386/pc/vbeblit.c: Moved from here ...
36037 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
36038 * video/i386/pc/vbefill.c: Moved from here ...
36039 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
36040 * video/i386/pc/vbeutil.c: Moved from here ...
36041 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
36042 * include/grub/i386/pc/vbeblit.h: Moved from here ...
36043 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
36044 * include/grub/i386/pc/vbefill.h: Moved from here ...
36045 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
36046 * include/grub/i386/pc/vbeutil.h: Moved from here ...
36047 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
36048 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
36049 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
36050 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
36051 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
36052 (grub_video_adapter): Added 'get_info_and_fini'.
36053 (grub_video_get_info_and_fini): New prototype.
36054 (grub_video_set_mode): make modestring const char *.
36055 * loader/i386/linux.c (grub_linux_setup_video): Use
36056 grub_video_get_info_and_fini.
36057 (grub_linux_boot): Move modesetting just before booting.
36058 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
36059 grub_video_get_info_and_fini.
36060 * video/i386/pc/vbe.c: Moved framebuffer part ...
36061 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
36062 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
36063 grub_video_fbstd_colors and grub_video_fb_set_palette.
36064 (grub_video_vbe_init): Clear 'framebuffer' variable and use
36065 grub_video_fb_init.
36066 (grub_video_vbe_fini): Use grub_video_fb_fini.
36067 (grub_video_vbe_setup): Use framebuffer.render_target instead of
36068 render_target and use grub_video_fb_set_active_render_target and
36069 grub_video_fb_set_palette.
36070 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
36071 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
36072 (grub_video_vbe_adapter): Use framebuffer.
36073 * video/video.c (grub_video_get_info_and_fini): New function.
36074 (grub_video_set_mode): Make modestring const char *.
36075 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
36076 values are already initialised.
36077
d404ee56 360782009-08-14 Pavel Roskin <proski@gnu.org>
36079
36080 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
36081 ABS and APPLE_CC.
36082 * boot/i386/pc/diskboot.S: Likewise.
36083 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
36084 sectors allow compilation on MacOSX.
36085 * conf/i386-pc.rmk: Enable unconditional compilation of
36086 lnxboot.img.
36087
9a10df16 360882009-08-13 Colin Watson <cjwatson@ubuntu.com>
36089
36090 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
36091 * util/grub.d/00_header.in: Enter interruptible sleep if
36092 GRUB_HIDDEN_TIMEOUT is set.
36093
be3c9ca7 360942009-08-13 Yves Blusseau <blusseau@zetam.org>
36095
36096 * include/grub/symbol.h: Add the LOCAL macro.
36097 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
36098 starting with "L_".
36099
1f9e557e 361002009-08-13 Pavel Roskin <proski@gnu.org>
36101
9ca62843 36102 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
36103 any modern compilers we support.
36104
1f9e557e 36105 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
36106 Use local labels starting with "L_" so that Apple assembler
36107 knows they are local.
36108
81623db6 361092009-08-10 Robert Millan <rmh.grub@aybabtu.com>
36110
36111 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
36112 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
36113 (bsd_kernel_types): ... this enum.
36114
36115 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
36116 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
36117 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
36118
36119 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
36120 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
36121 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
36122 messages.
36123
f5d35e7a 361242009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36125
36126 * util/grub-dumpdevtree: Moved from here ...
36127 * util/i386/efi/grub-dumpdevtree: ... to here.
36128 (hexify): New function. Converts a string to its hex version.
36129 Generate hex versions of "efi" and "device-properties" by calling
36130 hexify() on the ASCII strings rather than by hardcoding numbers.
36131
d1e1d527 361322009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36133
36134 * fs/jfs.c: Update copyright year.
36135
1ebbe064 361362009-08-08 Felix Zielcke <fzielcke@z-51.de>
36137
36138 * util/grub.d/00_header.in: Fix a comment.
36139 * util/grub.d/10_linux.in: Likewise.
36140 * util/grub.d/10_windows.in: Likewise.
36141 * util/grub.d/10_hurd.in: Likewise.
36142
a78c8d24 361432009-08-08 Felix Zielcke <fzielcke@z-51.de>
36144
36145 * util/grub-mkconfig.in: Allow the user to specify the used font
36146 with GRUB_FONT.
36147
29a6b9e8 361482009-08-08 Pavel Roskin <proski@gnu.org>
36149
b5f16cc4 36150 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
36151 available, xfs.mod needs it now.
36152
2f5cb827 36153 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
36154 the "g" modifier in sed when the intention is to strip something
36155 once. This fixes comparison of kernels with multiple dashes.
36156
29a6b9e8 36157 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
36158 on it. Add missing space before closing bracket. Fix
36159 misleading formatting.
36160
892a3d98 361612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36162
36163 * docs/grub.texi: Major overhaul. Remove all sections that are
36164 specific to GRUB Legacy, or mostly composed of Legacy-specific
36165 information.
36166
ed94253f 361672009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36168
36169 * docs/version.texi: New file. Provides version information for
36170 grub.texi.
36171
126d6628 361722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36173
36174 * docs/grub.texi: Update CVS information to SVN.
36175 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
36176
998b5aa9 361772009-08-07 Felix Zielcke <fzielcke@z-51.de>
36178
36179 * util/grub-mkconfig.in: Remove a wrong `fi'.
36180
818e094a 361812009-08-07 Felix Zielcke <fzielcke@z-51.de>
36182
36183 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
36184 (grub_jfs_uuid): New function.
36185 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
36186
b969c52f 361872009-08-07 Felix Zielcke <fzielcke@z-51.de>
36188
36189 * util/grub-mkconfig_lib.in (font_path): Move the functionality
36190 of it to ...
36191 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
36192 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
36193
7a4894cc 361942009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36195
36196 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
36197 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
36198 Update all users.
36199
36200 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
36201 not just "vmlinu[zx]".
36202 Moved from here ...
36203 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
36204 all users.
36205
36206 * util/grub.d/10_linux.in (find_latest): Moved from here ...
36207 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
36208 all users.
36209
4e2171f8 362102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36211
36212 * util/grub.d/10_freebsd.in: Use an absolute device path for
36213 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
36214
6dcfcb32 362152009-08-06 Felix Zielcke <fzielcke@z-51.de>
36216
36217 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
36218 handling of multiple abstraction modules.
36219
f56a8756 362202009-08-04 Robert Millan <rmh.grub@aybabtu.com>
36221
36222 Fix a bug resulting in black screen when loading Linux using a
36223 packed video mode.
36224
36225 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
36226 function.
36227
36228 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
36229 (grub_vbe_bios_getset_dac_palette_width): New function.
36230 (grub_vbe_bios_get_dac_palette_width)
36231 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
36232 grub_vbe_bios_getset_dac_palette_width()).
36233
36234 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
36235 check for return status.
36236 (grub_vbe_get_video_mode_info): When getting information for a packed
36237 mode (<= 8 bpp), obtain DAC palette width using
36238 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
36239 {red,green,blue}_mark_size.
36240
222671b2 362412009-08-04 Felix Zielcke <fzielcke@z-51.de>
36242
ecb1a6d9 36243 * commands/search.c (options): Fix help output to match actual code.
222671b2 36244
f84114f5 362452009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
36246
36247 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
36248 of homegrown code.
36249
bd288a20 362502009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 36251
36252 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
36253 on XFS or ReiserFS.
36254
8aab5e25 362552009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36256
36257 Support Apple partition map with sector size different from 512 bytes.
36258
36259 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
36260 (apple_partition_map_iterate): Respect 'aheader.blocksize'
36261 and 'apart.partmap_size'.
36262
6ad6258a 362632009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
362642009-08-01 Robert Millan <rmh.grub@aybabtu.com>
36265
36266 Fix cpuid command.
36267
36268 * commands/i386/cpuid.c (options): New variable.
36269 (grub_cmd_cpuid): Return real error.
36270 (GRUB_MOD_INIT(cpuid)): Declare options.
36271
67459bc6 362722009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
36273
36274 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
36275 valid.
36276
fbc6ab54 362772009-07-31 Bean <bean123ch@gmail.com>
36278
36279 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
36280 log2_inode.
36281 (grub_fshelp_node): Move inode field to the end.
36282 (grub_xfs_data): Remove inode field.
36283 (grub_xfs_inode_block): Calculate inode size using sblock.
36284 (grub_xfs_inode_offset): Likewise.
36285 (grub_xfs_read_inode): Calculate inode size using sblock.
36286 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
36287 (grub_xfs_iterate_dir): Calculate inode size using sblock.
36288 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
36289 to match inode size.
36290 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
36291 not accessible when data is null.
36292 (grub_xfs_open): Likewise.
36293
f45d6cfc 362942009-07-31 Bean <bean123ch@gmail.com>
36295
36296 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
36297 Don't change pv->disk if it's already set.
36298
36299 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
36300 (grub_raid_register): ... here.
36301 (grub_raid_rescan): Removed.
36302
36303 * include/grub/raid.h (grub_raid_rescan): Removed.
36304
36305 * util/grub-fstest.c: Remove include file <grub/raid.h>.
36306 (fstest): Replace grub_raid_rescan with module fini function followed
36307 by init function.
36308
36309 * util/grub-probe.c: Add include file <grub/raid.h>.
36310 (probe_raid_level): New function.
36311 (probe): Detect abstraction by walking the disk device, support two
36312 level of abstraction (LVM on RAID) when detecting partition map.
36313
24443b5a 363142009-07-31 Pavel Roskin <proski@gnu.org>
36315
36316 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
36317 to grub_zalloc(), it was erroneous.
36318 Reported by Bean <bean123ch@gmail.com>
36319
a275d9e7 363202009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
36321
36322 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 36323 embedding zone, not only the first one.
a275d9e7 36324
56c5a47f 363252009-07-29 Joe Auricchio <jauricchio@gmail.com>
36326
36327 * term/gfxterm.c (clear_char): New function.
36328 (grub_virtual_screen_setup): Use clear_char.
36329 (scroll_up): Likewise.
36330 (grub_virtual_screen_cls): Likewise.
36331
67bb323a 363322009-07-29 Felix Zielcke <fzielcke@z-51.de>
36333
36334 * util/deviceiter.c (get_acceleraid_disk_name): New static
36335 function.
36336 (grub_util_iterate_devices): Handle Accelraid devices.
36337 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
36338
388a7c75 363392009-07-28 Robert Millan <rmh.grub@aybabtu.com>
36340
36341 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
36342 separator for the suggested gfxpayload string (';' collides with the
36343 parser and needs escaping).
36344
3bb7abcf 363452009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
36346
36347 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
36348 Clear direction flag before jumping to OS.
36349 (grub_multiboot2_real_boot): Likewise.
36350
2ddd36d7 363512009-07-28 Felix Zielcke <fzielcke@z-51.de>
36352
36353 * util/i386/pc/grub-install: Fix parsing of --disk-module
36354 option.
36355
c521b62b 363562009-07-28 Felix Zielcke <fzielcke@z-51.de>
36357
36358 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
36359 when embedding.
36360
880e0a0c 363612009-07-26 Felix Zielcke <fzielcke@z-51.de>
36362
36363 * util/grub-mkconfig.in (package_version): New variable.
36364 Use it do display the version.
36365
2366e356 363662009-07-25 Felix Zielcke <fzielcke@z-51.de>
36367
36368 * kern/file.c (grub_file_open): Revert to previous check with
36369 grub_errno.
36370
7ad8c80e 363712009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36372
36373 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
36374 from help line. It's out of sync with code.
36375
72b9658b 363762009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36377
36378 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
36379 entries on failed boot.
36380
77435277 363812009-07-25 Felix Zielcke <fzielcke@z-51.de>
36382
36383 * kern/file.c (grub_file_open): Fix an error check.
36384
fcaa8b21 363852009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
36386
35d16c74 36387 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
36388 partition map couldn't be identified.
fcaa8b21 36389
48904cd1 363902009-07-23 Pavel Roskin <proski@gnu.org>
36391
ef3c317f 36392 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
36393 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
36394 case of little endian words becomes just an optimization.
36395 Respect const modifier.
ad8ea1f4 36396 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 36397
48904cd1 36398 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
36399 to avoid loss of upper bits if align is unsigned and shorter
36400 than addr.
36401
260c9a89 364022009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36403
36404 UUID support for UFS
36405
36406 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
36407 (grub_ufs_uuid): New function.
36408 (grub_ufs_fs): add .uuid
36409
f76ce889 364102009-07-21 Pavel Roskin <proski@gnu.org>
36411
36412 * kern/dl.c (grub_dl_check_header): Make static.
36413
6a6cbcaf 364142009-07-21 Felix Zielcke <fzielcke@z-51.de>
36415
36416 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
36417 add drivemap for Vista. It breaks Windows 7.
36418
cffcddb2 364192009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36420
36421 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
36422 128 bytes
36423
1ef44b80 364242009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36425
36426 Add BFS support
36427
36428 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
36429 (grub_fstest_SOURCES): Likewise.
36430 (pkglib_MODULES): Add befs.mod.
36431 (befs_mod_SOURCES): New variable.
36432 (befs_mod_CFLAGS): Likewise.
36433 (befs_mod_LDFLAGS): Likewise.
36434 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36435 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36436 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36437 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36438 (grub_setup_SOURCES): Likewise.
36439 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36440 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36441 (grub_setup_SOURCES): Likewise.
36442 * fs/befs.c: New file.
36443 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
36444 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
36445 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
36446 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
36447 (B_KEY_INDEX_ALIGN): New declaration.
36448 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
36449 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
36450 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
36451 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
36452 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
36453 (grub_afs_mount) [MODE_BFS]: Likewise.
36454 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
36455 (grub_afs_fs): Use GRUB_AFS_FSNAME
36456 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
36457 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
36458 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
36459 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
36460
4f253044 364612009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
36462
36463 * util/getroot.c (find_root_device): Add support for MacOSX.
36464 * util/hostdisk.c: Likewise.
36465
57a55913 364662009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36467
36468 * font/font.c (find_glyph): Check whether a font is present to avoid
36469 segmentation fault.
75421ca9 36470
364712009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 36472
36473 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
36474
e98cd0c2 364752009-07-20 Pavel Roskin <proski@gnu.org>
36476
36477 * configure.ac: Trim excessively wordy excuses.
36478
1d2d169a 364792009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36480
36481 Add symlink, mtime and label support to AtheFS.
36482
36483 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
36484 (grub_afs_iterate_dir): Handle symlinks.
36485 (grub_afs_open): Use grub_afs_read_symlink.
36486 (grub_afs_dir): Likewise.
36487 Pass mtime.
36488 (grub_afs_label): New function.
36489 (grub_afs_fs): Add grub_afs_label.
36490 (grub_afs_read_symlink): New function.
36491
186f3189 364922009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36493
36494 Fix AtheFS support.
36495
36496 * fs/afs.c: Fix comments style.
36497 (grub_afs_blockrun): Declare as packed.
36498 (grub_afs_datastream): Likewise.
36499 (grub_afs_bnode): Likewise.
36500 (grub_afs_btree): Likewise.
36501 (grub_afs_sblock): Likewise.
36502 Declare `name' as char.
36503 (grub_afs_inode): Declare as packed.
36504 Change void *vnode to grub_uint32_t unused.
36505 (grub_afs_iterate_dir): Check that key_size is positive.
36506 (grub_afs_mount): Don't read superblock twice.
75421ca9 36507 (grub_afs_dir): Don't free node in case of error,
186f3189 36508 grub_fshelp_find_file already handles this.
36509 (grub_afs_open): Likewise.
36510
5680109e 365112009-07-19 Pavel Roskin <proski@gnu.org>
36512
36513 * Makefile.in: Remove LIBLZO and enable_lzo.
36514 * conf/i386-pc.rmk: Remove lzo support.
36515 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
36516 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
36517 support.
36518 * kern/i386/pc/lzo1x.S: Remove.
36519 * kern/i386/pc/startup.S: Remove lzo support.
36520 * util/i386/pc/grub-mkimage.c: Likewise.
36521
ac70fa32 365222009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
36523
36524 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
36525 * fs/xfs.c (grub_xfs_dir): Likewise.
36526 * fs/afs.c (grub_afs_dir): Likewise.
36527 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
36528 (grub_iso9660_open): Likewise.
36529 * fs/jfs.c (grub_jfs_open): Likewise.
36530 * fs/ext2.c (grub_ext2_dir): Likewise.
36531 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
36532 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 36533
eab58da2 365342009-07-16 Pavel Roskin <proski@gnu.org>
36535
d2838156 36536 * configure.ac: Never add "-c" to CFLAGS.
36537
55c70904 36538 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
36539
43e6200c 36540 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
36541 grub_cv_cc_efiemu should be used.
36542
ce7a733d 36543 * configure.ac: Typo fixes.
36544
eab58da2 36545 * kern/mm.c (grub_zalloc): New function.
36546 (grub_debug_zalloc): Likewise.
36547 * include/grub/mm.h: Declare grub_zalloc() and
36548 grub_debug_zalloc().
36549 * util/misc.c (grub_zalloc): New function.
36550 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
36551 instead of grub_malloc(), remove unneeded initializations.
36552 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
36553 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
36554 * commands/parttool.c (grub_cmd_parttool): Likewise.
36555 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
36556 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
36557 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
36558 * disk/usbms.c (grub_usbms_finddevs): Likewise.
36559 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
36560 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
36561 (grub_cmd_efiemu_pnvram): Likewise.
36562 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
36563 * fs/iso9660.c (grub_iso9660_mount): Likewise.
36564 (grub_iso9660_iterate_dir): Likewise.
36565 * fs/jfs.c (grub_jfs_opendir): Likewise.
36566 * fs/ntfs.c (list_file): Likewise.
36567 (grub_ntfs_mount): Likewise.
36568 * kern/disk.c (grub_disk_open): Likewise.
36569 * kern/dl.c (grub_dl_load_core): Likewise.
36570 * kern/elf.c (grub_elf_file): Likewise.
36571 * kern/env.c (grub_env_context_open): Likewise.
36572 (grub_env_set): Likewise.
36573 (grub_env_set_data_slot): Likewise.
36574 * kern/file.c (grub_file_open): Likewise.
36575 * kern/fs.c (grub_fs_blocklist_open): Likewise.
36576 * loader/i386/multiboot.c (grub_module): Likewise.
36577 * loader/xnu.c (grub_xnu_create_key): Likewise.
36578 (grub_xnu_create_value): Likewise.
36579 * normal/main.c (grub_normal_add_menu_entry): Likewise.
36580 (read_config_file): Likewise.
36581 * normal/menu_entry.c (make_screen): Likewise.
36582 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36583 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
36584 * script/sh/script.c (grub_script_parse): Likewise.
36585 * video/bitmap.c (grub_video_bitmap_create): Likewise.
36586 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
36587 * video/readers/png.c (grub_png_output_byte): Likewise.
36588 (grub_video_reader_png): Likewise.
36589
830afef7 365902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 36591
36592 Enable all targets that can be built by default
36593
830afef7 36594 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 36595 grub-mkfont and grub-fstest if they can be built
36596
ee293aee 365972009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36598
36599 Fix hang and segmentation fault in grub-emu-usb
36600
36601 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
36602 * util/usb.c (grub_libusb_devices): likewise
36603 (grub_libusb_init): rename to ...
36604 (GRUB_MOD_INIT (libusb)):...this
36605 (grub_libusb_fini): rename to ..
36606 (GRUB_MOD_FINI (libusb)):...this
36607 * disk/usbms.c (grub_usbms_transfer): fix retry logic
36608 * include/grub/disk.h (grub_raid_init): removed, it's useless
36609 (grub_raid_fini): likewise
36610 (grub_lvm_init): likewise
36611 (grub_lvm_fini): likewise
36612 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
36613 by grub_init_all
36614
94414221 366152009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36616
36617 Fix libusb
36618
36619 * Makefile.in (LIBUSB): new macro
36620 * genmk.rb (Utility/print_tail): new method
36621 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
36622 (top level): call util.print_tail at the end.
36623
59ade63d 366242009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36625
36626 Make FreeBSD accept zpool.cache
36627
36628 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
36629 type is /boot/zfs/zpool.cache
36630
a58da8c7 366312009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36632
36633 Fix 64-bit efiemu
36634
36635 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
36636 correct wrong typedef
36637 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
36638
20591577 366392009-07-15 Pavel Roskin <proski@gnu.org>
36640
560ca572 36641 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
36642 * kern/disk.c (struct grub_disk_cache): Likewise.
36643
e8e8e4fd 36644 * commands/probe.c (options): Typo fix.
36645
fde24e10 36646 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
36647 Increase to 0x5a to accommodate FAT32. Adjust other offsets
36648 accordingly.
36649 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
36650
379c54c1 36651 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
36652 the end of "Error" to make the message more readable.
36653
7bd8f5bf 36654 * boot/i386/pc/boot.S (kernel_segment): Remove.
36655 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
36656 for destination.
36657
40b132c5 36658 * boot/i386/pc/boot.S (boot_version): Remove.
36659 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
36660 Remove.
36661
20591577 36662 * include/grub/i386/pc/boot.h: Sort all offsets.
36663 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
36664 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
36665 * boot/i386/pc/boot.S: Assert location of every offset listed in
36666 include/grub/i386/pc/boot.h.
36667
2df32b2c 366682009-07-13 Pavel Roskin <proski@gnu.org>
36669
44b5d879 36670 * include/grub/i386/coreboot/machine.h: Rename
36671 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
36672 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
36673 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
36674
17dc3751 36675 * kern/dl.c: Force native word size to suppress warnings when
36676 compiling grub-emu.
36677
2df32b2c 36678 * kern/device.c (grub_device_iterate): Change struct part_ent to
36679 hold the name, not a pointer to it. Use one grub_malloc() per
36680 partition, not two. Free partition_name if grub_malloc() fails.
36681 Set ents to NULL only before grub_partition_iterate() is called.
36682
75c59f59 366832009-07-11 Bean <bean123ch@gmail.com>
36684
36685 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
36686 childname.
36687
0ae1bf88 366882009-07-10 Bean <bean123ch@gmail.com>
366892009-07-10 Robert Millan <rmh.grub@aybabtu.com>
36690
36691 * kern/ieee1275/openfw.c (grub_children_iterate)
36692 (grub_devalias_iterate): Fix size evaluation for property or path
36693 strings, which was broken since r2132.
36694
8279cade 366952009-07-07 Pavel Roskin <proski@gnu.org>
36696
7d8a52d3 36697 * commands/search.c (search_file): Merge into ...
36698 (search_fs): ... this. Accept search type as argument.
36699 (grub_cmd_search): Pass search type to search_fs().
36700
25f9a05a 36701 * include/grub/util/console.h: New file.
36702 * util/console.c: Use it instead of grub/machine/console.h.
36703 * util/grub-emu.c: Likewise.
36704
8279cade 36705 * lib/arg.c (find_long_option): Remove.
36706 (find_long): Add `len' argument, make `s' const char *.
36707 (grub_arg_parse): Parse long options in place, not in a
36708 temporary buffer.
36709
4a11b60f 367102009-07-06 Pavel Roskin <proski@gnu.org>
36711
99f68041 36712 * commands/search.c (search_fs): Fix potential NULL pointer
36713 dereference.
36714
4a11b60f 36715 * commands/search.c (search_fs): Replace QUID macro with quid_fn
36716 function pointer.
36717
e110f4de 367182009-07-06 Daniel Mierswa <impulze@impulze.org>
36719
36720 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
36721 comparison.
36722
46eeb6a2 367232009-07-05 Pavel Roskin <proski@gnu.org>
36724
bab74958 36725 * include/grub/i386/linux.h (struct linux_kernel_params):
36726 Restore padding3, it's still needed.
36727
46eeb6a2 36728 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
36729 FreeBSD.
36730 * util/osdetect.lua: Likewise.
36731
b4a1dc79 367322009-07-05 Bean <bean123ch@gmail.com>
36733
36734 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
36735
36736 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
36737 (grub_lua_getenv): Likewise.
36738 (grub_lua_setenv): Likewise.
36739 (save_errno): New function.
36740 (push_result): Likewise.
36741 (grub_lua_enum_device): Likewise.
36742 (grub_lua_enum_file): Likewise.
36743 (grub_lua_file_open): Likewise.
36744 (grub_lua_file_close): Likewise.
36745 (grub_lua_file_seek): Likewise.
36746 (grub_lua_file_read): Likewise.
36747 (grub_lua_file_getline): Likewise.
36748 (grub_lua_file_getsize): Likewise.
36749 (grub_lua_file_getpos): Likewise.
36750 (grub_lua_file_eof): Likewise.
36751 (grub_lua_file_exist): Likewise.
36752 (grub_lua_add_menu): Likewise.
36753
36754 * script/lua/grub_lua.h (isupper): New inline function.
36755 (islower): Likewise.
36756 (ispunct): Likewise.
36757 (isxdigit): Likewise.
36758 (strcspn): Change to normal function.
36759 (strpbkr): New function declaration.
36760 (memchr): Likewise.
36761
36762 * script/lua/grub_main.c (scan_str): New function.
36763 (strcspn): Likewise.
36764 (strpbrk): Likewise.
36765 (memchr): Likewise.
36766
36767 * script/lua/linit.c (lualibs): Enable the string library.
36768
36769 * util/osdetect.lua: New file.
36770
2da92295 367712009-07-04 Robert Millan <rmh.grub@aybabtu.com>
36772
36773 * include/grub/i386/linux.h (struct linux_kernel_params): Add
36774 `capabilities' member.
36775
b2582ec9 367762009-07-02 Pavel Roskin <proski@gnu.org>
36777
36778 * genparttoollist.sh: Add missing newline at the end.
36779
32622956 367802009-07-01 Pavel Roskin <proski@gnu.org>
36781
87a7339e 36782 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
36783
d23af54e 36784 * util/hostdisk.c (open_device): Remove `const' from
36785 `sysctl_size', as sysctlbyname() can change it (in this case it
36786 doesn't actually happen).
36787
c94b18a9 36788 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
36789 using signed long int constants.
36790
c6cd3ef0 36791 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
36792 constant to avoid a warning on FreeBSD.
36793
0df63420 36794 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
36795 where it's needed.
36796
999577f1 36797 * Makefile.in: Install include/grub/machine symlink.
36798
6f41557f 36799 * Makefile.in: When installing symlinks, use "cp -fR", which
36800 works on FreeBSD and MacOSX.
36801 From Yves Blusseau <cl7m42e02@sneakemail.com>
36802
c8d22988 36803 * kern/dl.c (grub_dl_resolve_symbol): Make static.
36804 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
36805
1b96e952 36806 * util/misc.c: Move grub_reboot() and grub_halt() ...
36807 * util/grub-emu.c: ... here. Make main_env static.
36808 * include/grub/util/misc.h: Remove main_env.
36809
2ef0084d 36810 * kern/mm.c: Use correct format to print size_t.
36811
32622956 36812 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
36813 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
36814 * kern/powerpc/dl.c: Likewise.
36815 * kern/sparc64/dl.c: Likewise.
36816 * kern/x86_64/dl.c: Likewise.
36817
3f7f0cd0 368182009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36819
36820 Fix grub-emu build on sparc64-ieee1275.
36821
75421ca9 36822 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 36823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
36824
211d06b5 368252009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36826
36827 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
36828 (grub_reboot, grub_halt): New functions.
36829
36830 * util/i386/pc/misc.c: Delete. Update all users.
36831 * util/sparc64/ieee1275/misc.c: Likewise.
36832 * util/powerpc/ieee1275/misc.c: Likewise.
36833
aaf53e3c 368342009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36835
36836 * conf/i386.rmk (setjmp_mod_SOURCES)
36837 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
36838 * conf/common.rmk (setjmp_mod_SOURCES)
36839 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
36840 to use $(target_cpu).
36841 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
36842 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
36843 * conf/powerpc-ieee1275.rmk: Likewise.
36844 * conf/sparc64-ieee1275.rmk: Likewise.
36845
36846 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
36847 $(target_cpu) for kern/$(target_cpu)/dl.c.
36848 * conf/i386-efi.rmk: Likewise.
36849 * conf/i386-ieee1275.rmk: Likewise.
36850 * conf/x86_64-efi.rmk: Likewise.
36851 * conf/i386-coreboot.rmk: Likewise.
36852 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
36853 $(target_cpu) for kern/$(target_cpu)/dl.c and for
36854 kern/$(target_cpu)/cache.S.
36855 * conf/sparc64-ieee1275.rmk: Likewise.
36856
a337130b 368572009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36858
36859 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
36860 type to `grub_uint8_t', and adjust `padding9' accordingly.
36861
c6fe4d53 368622009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36863
b09db61d 36864 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
36865
c6fe4d53 36866 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
36867 assembly in final jump, using register constraints.
36868
b09db61d 36869 (grub_linux_boot): For text mode, initialize `have_vga' using
36870 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
36871
36872 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
36873 right before the final jump.
36874
36875 Set `video_mode' to 0x3.
36876
36877 Document initialization of `video_page', `video_mode' and
36878 `video_ega_bx'.
36879
28333ad0 368802009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36881
36882 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
36883 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 36884 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 36885
02164e1b 368862009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36887
36888 Fix build on Debian / sparc.
36889
36890 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
36891
18b6c557 368922009-06-28 Pavel Roskin <proski@gnu.org>
36893
85f2aab6 36894 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
36895 fix a warning.
36896
18b6c557 36897 * util/grub.d/10_linux.in: Match SUSE style initrd names.
36898
ad760f81 368992009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36900
36901 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
36902 `err'.
36903
87a4623b 369042009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36905
36906 Revert r2338.
36907
36908 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
36909 file can't be opened. grub_file_open() is already supposed to set
75421ca9 36910 grub_errno / grub_errmsg appropriately.
87a4623b 36911 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36912
8231fb77 369132009-06-27 Pavel Roskin <proski@gnu.org>
369142009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36915
36916 * include/grub/dl.h: Include grub/elf.h.
36917 (struct grub_dl): Add symtab field.
36918 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
36919 GRUB_MODULES_MACHINE_READONLY.
36920 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
36921 of the header for read-only modules.
36922 (grub_dl_unload): Free mod->symtab for read-only modules.
36923 * kern/i386/dl.c: Use mod->symtab.
36924 * kern/powerpc/dl.c: Likewise.
36925 * kern/sparc64/dl.c: Likewise.
36926 * kern/x86_64/dl.c: Likewise.
36927
36928 * conf/i386-qemu.rmk: New file.
36929 * kern/i386/qemu/startup.S: Likewise.
36930 * kern/i386/qemu/mmap.c: Likewise.
36931 * boot/i386/qemu/boot.S: Likewise.
36932 * include/grub/i386/qemu/time.h: Likewise.
36933 * include/grub/i386/qemu/serial.h: Likewise.
36934 * include/grub/i386/qemu/kernel.h: Likewise.
36935 * include/grub/i386/qemu/console.h: Likewise.
36936 * include/grub/i386/qemu/boot.h: Likewise.
36937 * include/grub/i386/qemu/init.h: Likewise.
36938 * include/grub/i386/qemu/machine.h: Likewise.
36939 * include/grub/i386/qemu/loader.h: Likewise.
36940 * include/grub/i386/qemu/memory.h: Likewise.
36941
36942 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
36943 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
36944 [qemu] (pkglib_IMAGES): Add `boot.img'.
36945 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
36946 [qemu] (boot_img_FORMAT): New variables.
36947 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
36948 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
36949 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
36950 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
36951 [qemu] (kernel_img_FORMAT): New variables.
36952
36953 * configure.ac: Recognise `i386-qemu'.
36954
36955 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
36956 (for no compression).
36957 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
36958 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
36959 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
36960 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
36961 ifdefs).
36962
97fe384e 369632009-06-27 Pavel Roskin <proski@gnu.org>
36964
36965 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
36966 read.
36967 * efiemu/prepare32.c: Likewise.
36968 * efiemu/prepare64.c: Likewise.
36969
c402ab17 369702009-06-26 Pavel Roskin <proski@gnu.org>
36971
36972 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
36973 * include/grub/elf.h: Define symbols without "32" or "64" based
36974 on GRUB_TARGET_WORDSIZE.
36975 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
36976 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
36977 ELF definitions.
36978 * efiemu/loadcore64.c: Likewise.
36979 * loader/i386/bsd32.c: Likewise.
36980 * loader/i386/bsd64.c: Likewise.
36981 * kern/dl.c: Remove own ELF definitions.
36982 * util/i386/efi/grub-mkimage.c: Likewise.
36983
9bbdfd4d 369842009-06-23 Robert Millan <rmh.grub@aybabtu.com>
36985
36986 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
36987 segment 0x0 unconditionally, because the reference generated by
36988 GAS is an absolute address.
36989
a42ce6e9 369902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36991
36992 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
36993 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
36994
c952cf92 369952009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36996
36997 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
36998 indexes. Check for -f explicitly.
cc3752ad 36999 (search_file): Improve error message.
37000 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 37001
132a0a59 370022009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37003
37004 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
37005 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
37006
387a140c 370072009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37008
37009 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
37010 * conf/i386-ieee1275.rmk: Likewise.
37011 * conf/i386-coreboot.rmk: Likewise.
37012
37013 * kern/i386/pc/startup.S (grub_stop): Remove function.
37014 * kern/i386/ieee1275/startup.S: Likewise.
37015 * kern/i386/coreboot/startup.S: Likewise.
37016 * kern/i386/misc.S (grub_stop): New function.
37017
41da9665 370182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37019
37020 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
37021 * kern/i386/realmode.S (real_to_prot): ... to here.
37022
bf337234 370232009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37024
37025 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
37026 with `kernel.img'.
37027 (kernel_elf_SOURCES): Rename to ...
37028 (kernel_img_SOURCES): ... this.
37029 (kernel_elf_HEADERS): Rename to ...
37030 (kernel_img_HEADERS): ... this. Update all users.
37031 (kernel_elf_ASFLAGS): Rename to ...
37032 (kernel_img_ASFLAGS): ... this.
37033 (kernel_elf_CFLAGS): Rename to ...
37034 (kernel_img_CFLAGS): ... this.
37035 (kernel_elf_LDFLAGS): Rename to ...
37036 (kernel_img_LDFLAGS): ... this.
37037 * conf/i386-coreboot.rmk: Likewise.
37038 * conf/powerpc-ieee1275.rmk: Likewise.
37039
37040 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
37041 with "kernel.img".
37042
f52196ff 370432009-06-21 Pavel Roskin <proski@gnu.org>
37044
c3cee413 37045 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
37046 to match nested functions.
37047 * loader/sparc64/ieee1275/linux.c: Likewise.
37048
f52196ff 37049 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
37050
58750afc 370512009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37052
37053 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
37054 all i386 platforms.
37055
15355c7d 370562009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37057
37058 Fix asm file handling on ELF, and remove workarounds.
37059
37060 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 37061 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 37062 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
37063 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
37064
3f3ec72b 370652009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
37066
37067 Load BSD ELF modules
37068
37069 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
37070 and loader/i386/bsd64.c
37071 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
37072 (FREEBSD_MODTYPE_ELF_MODULE): New definition
37073 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
37074 (grub_freebsd_load_elfmodule32): New declaration
37075 (grub_freebsd_load_elfmoduleobj64): Likewise
37076 (grub_freebsd_load_elf_meta32): Likewise
37077 (grub_freebsd_load_elf_meta64): Likewise
37078 (grub_freebsd_add_meta): Likewise
37079 (grub_freebsd_add_meta_module): Likewise
37080 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
37081 (grub_freebsd_add_meta_module): Likewise and move module-specific
37082 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
37083 (grub_cmd_freebsd): Add elf-kernel specific parts
37084 based on grub_freebsd_add_meta_module
37085 (grub_cmd_freebsd_module): Add type parsing moved from
37086 grub_freebsd_add_meta_module
37087 (grub_cmd_freebsd_module_elf): New function
37088 (cmd_freebsd_module_elf): New variable
37089 (GRUB_MOD_INIT): Register freebsd_module_elf
37090 * loader/i386/bsd32.c: New file
37091 * loader/i386/bsd64.c: Likewise
37092 * loader/i386/bsdXX.c: Likewise
37093 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
37094 (grub_elf64_load): Likewise
37095 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
37096 All users updated
37097 (grub_elf64_load_hook_t): Likewise
37098
0db15301 370992009-06-21 Colin Watson <cjwatson@ubuntu.com>
37100
37101 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
37102 variable.
37103 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
37104 don't write a menu entry for recovery mode.
37105
546796c1 371062009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37107
37108 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
37109 after it's no longer needed.
37110
cd7310d5 371112009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37112
37113 * include/grub/i386/loader.h (grub_linux_prot_size)
37114 (grub_linux_tmp_addr, grub_linux_real_addr)
37115 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
37116 GRUB_MACHINE_PCBIOS.
37117 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
37118 common grub_util_info() call to ...
37119 (generate_image): ... here.
37120 Fix use of uninitialized memory, comparison of signed with
37121 unsigned integers and memory leak.
37122 Remove bogus module address message.
37123
ab32d3b5 371242009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
37125
37126 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
37127 grub_raid_register
37128 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
37129
024ef597 371302009-06-19 Pavel Roskin <proski@gnu.org>
37131
37132 * configure.ac: Remove stray AC_MSG_CHECKING.
37133
3ac72b51 371342009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
37135
37136 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 37137
e14cd814 371382009-06-18 Pavel Roskin <proski@gnu.org>
37139
37140 * conf/common.rmk: Add fs_file.mod.
37141 * disk/fs_file.c: New file.
37142 * include/grub/disk.h (enum grub_disk_dev_id): Add
37143 GRUB_DISK_DEVICE_FILE_ID.
37144
26586d98 371452009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37146
37147 Fix build with Apple's toolchain. Part 2
37148
37149 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
37150 a fake start
37151
26de2bcd 371522009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37153
37154 Fix build with Apple's toolchain. Part 1
37155
37156 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
37157 for long calls
37158 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 37159 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 37160 Apple's toolchain
37161
09b3490b 371622009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37163
37164 Fix warnings
37165
37166 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
37167 (decomp_block): initialize ch
37168 use grub_memcpy instead of memcpy
37169
c22a006a 371702009-06-17 Pavel Roskin <proski@gnu.org>
37171
d3638678 37172 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
37173 version, use declarations needed to use vga_text as the startup
37174 console.
37175
c22a006a 37176 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
37177 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
37178 the kernel.
37179 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
37180 and grub_at_keyboard_fini(), it's done on module load and
37181 unload.
37182
05b129e0 371832009-06-17 Felix Zielcke <fzielcke@z-51.de>
37184
37185 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
37186 file can't be found.
37187 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37188
cf24ed9e 371892009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37190
37191 Fix newline handling
37192
37193 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 37194 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 37195 (grub_script_yylex): don't segfault on unterminated script
37196 newline terminates command and variable
37197
74aa8e4b 371982009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37199
37200 avoid double grub_adjust_range call. Bug reported by David Simner
37201
37202 * kern/disk.c (grub_disk_write): change to raw disk access before
37203 calling disk_read
37204
1bd265f3 372052009-06-17 Colin Watson <cjwatson@ubuntu.com>
37206
37207 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
37208 spaces, for the benefit of help2man.
37209 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37210
a2d08c06 372112009-06-16 Pavel Roskin <proski@gnu.org>
37212
37213 * kern/i386/halt.c: Include grub/machine/init.h.
37214 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
37215
b97bcb19 372162009-06-16 Felix Zielcke <fzielcke@z-51.de>
37217
37218 * util/grub.d/30_os-prober.in: Use ${root} in the generated
37219 drivemap menuentry.
37220
0644f96c 372212009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
37222
37223 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
37224 `echo' command.
37225
3ef17a2e 372262009-06-16 Pavel Roskin <proski@gnu.org>
37227
37228 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
37229 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
37230 save %dx, we only need %dl and we never change it.
37231 * boot/i386/pc/cdboot.S: Don't set the root drive.
37232 * boot/i386/pc/pxeboot.S: Likewise.
37233 * include/grub/i386/pc/boot.h: Remove
37234 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
37235 GRUB_BOOT_MACHINE_DRIVE_CHECK.
37236 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
37237 * kern/i386/pc/init.c (make_install_device): Remove references
37238 to grub_root_drive.
37239 * kern/i386/pc/startup.S: Likewise.
37240 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
37241
693fe637 372422009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37243
37244 xnu_uuid command
37245
37246 * commands/xnu_uuid.c: new file
37247 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
37248 (xnu_uuid_mod_SOURCES): new variable
37249 (xnu_uuid_mod_CFLAGS): likewise
37250 (xnu_uuid_mod_LDFLAGS): likewise
37251 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37252 * conf/i386-ieee1275.rmk: likewise
37253 * conf/i386-pc.rmk: likewise
37254 * conf/powerpc-ieee1275.rmk: likewise
37255 * conf/sparc64-ieee1275.rmk: likewise
37256 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
37257
c9da87d0 372582009-06-16 Pavel Roskin <proski@gnu.org>
37259
37260 * configure.ac: Avoid '==' in test command, it's not portable.
37261
9c6f4596 372622009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37263
37264 Probe command
37265
37266 * commands/probe.c: new file
37267 * conf/common.rmk (pkglib_MODULES): add probe.mod
37268 (probe_mod_SOURCES): new variable
37269 (probe_mod_CFLAGS): likewise
37270 (probe_mod_LDFLAGS): likewise
37271 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37272 * conf/i386-ieee1275.rmk: likewise
37273 * conf/i386-pc.rmk: likewise
37274 * conf/powerpc-ieee1275.rmk: likewise
37275 * conf/sparc64-ieee1275.rmk: likewise
37276
70b7f9fd 372772009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
37278
37279 Fix handling of string like \"hello\" and "a
37280 b"
37281
37282 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
37283 (grub_script_yylex): fix parsing of quoting, escaping and newline
37284
71c79a6b 372852009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
37286
dd74360c 37287 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 37288 handling
dd74360c 37289
0644f96c 372902009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 37291
37292 * util/grub-mkconfig.in: Fix parsing of --output option.
37293
e40893c3 372942009-06-12 Pavel Roskin <proski@gnu.org>
37295
37296 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
37297 genmk.rb don't need to be generated or installed.
37298
3a1acfe2 372992009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
37300
37301 * commands/i386/pc/drivemap_int13h.S: add more comments
37302
3a4575d4 373032009-06-11 Pavel Roskin <proski@gnu.org>
37304
0658e928 37305 * Makefile.in (uninstall): Uninstall manuals.
37306
ca0388f0 37307 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
37308 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
37309 and update-grub_lib in two places.
37310 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
37311
e3b27c39 37312 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
37313 a compiler warning.
37314
3a4575d4 37315 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
37316 `entry_lo' to fix variable shadowing.
37317
af1f4f55 373182009-06-11 Christian Franke <franke@computer.org>
37319
37320 * kern/misc.c (__enable_execute_stack): Add missing return type
37321 to prevent gcc warning.
37322
5225e649 373232009-06-11 Felix Zielcke <fzielcke@z-51.de>
37324
37325 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
37326
7d83bd47 373272009-06-11 Pavel Roskin <proski@gnu.org>
37328
c1cb63ba 37329 * Makefile.in: Don't rely on any scripts being executable.
37330 Always use $(SHELL) to run shell scripts.
37331
7d83bd47 37332 * configure.ac: Always define ___main if using -nostdlib. This
37333 fixes tests on Cygwin.
37334
948f48e7 373352009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
37336
37337 UDF fix
37338
7d83bd47 37339 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 37340 is in bytes and not in blocks
7d83bd47 37341
8ada9bc1 373422009-06-11 Pavel Roskin <proski@gnu.org>
37343
37344 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
37345 warning.
37346
25ad2323 373472009-06-11 Felix Zielcke <fzielcke@z-51.de>
37348
37349 * util/grub.d/30_os-prober.in: Fix a comment. Source
37350 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
37351 to set the root device. Place drivemap command in the generated
37352 chain entry.
37353
e65acb0c 373542009-06-11 Pavel Roskin <proski@gnu.org>
37355
37356 * configure.ac: Remove host_m32. Issues with 64-bit utilities
37357 have long been resolved.
37358
f285fe2d 373592009-06-11 Colin Watson <cjwatson@ubuntu.com>
37360
bd47b0b5 37361 * util/grub.d/10_linux.in: Capitalise "Linux".
37362
f285fe2d 37363 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
37364
a0c62e4e 373652009-06-11 Pavel Roskin <proski@gnu.org>
37366
b6783cb2 37367 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
37368 fix a gcc warning and ensure that the function won't ever exit.
37369
dde032e8 37370 * kern/i386/ieee1275/init.c: Add missing prototype for
37371 grub_stop_floppy().
37372
22cd079d 37373 * loader/ieee1275/multiboot2.c [__i386__]: Include
37374 grub/cpu/multiboot.h.
37375
a0c62e4e 37376 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
37377 casts to short - they are not portable and cause warnings. Fix
37378 use of uninitialized values in input_buf. Use ARRAY_SIZE.
37379
63963d17 373802009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
37381
37382 Drivemap fixes
37383
37384 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
37385 new function
37386 (grub_get_root_biosnumber_saved): new variable
37387 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
37388 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 37389 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 37390 %dx after the call if necessary
37391 * conf/common.rmk (pkglib_MODULES): remove boot.mod
37392 (boot_mod_SOURCES): remove
37393 (boot_mod_CFLAGS): remove
37394 (boot_mod_LDFLAGS): remove
37395 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
37396 (boot_mod_SOURCES): new variable
37397 (boot_mod_CFLAGS): likewise
37398 (boot_mod_LDFLAGS): likewise
37399 * conf/i386-efi.rmk: likewise
37400 * conf/i386-ieee1275.rmk: likewise
37401 * conf/i386-pc.rmk: likewise
37402 * conf/powerpc-ieee1275.rmk: likewise
37403 * conf/sparc64-ieee1275.rmk: likewise
37404 * conf/x86_64-efi.rmk: likewise
37405 * include/grub/i386/pc/biosnum.h: new file
37406 * lib/i386/pc/biosnum.c: likewise
37407 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
37408 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
37409 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 37410
33abf7ae 374112009-06-10 Pavel Roskin <proski@gnu.org>
37412
5ac35b35 37413 * io/gzio.c (test_header): Don't reuse one buffer for all data.
37414 Use separate variables. Read only the file size at the end, but
37415 not the checksum that we don't use.
37416
5c5215d5 37417 * kern/file.c (grub_file_read): Use void pointer for the buffer.
37418 Adjust all callers.
37419
27d5fef7 37420 * kern/ieee1275/openfw.c: Remove libc includes.
37421 * kern/ieee1275/cmain.c: Likewise.
37422 * include/grub/ieee1275/ieee1275.h: Likewise.
37423
33abf7ae 37424 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
37425 compiler warnings.
37426
19d50c2b 374272009-06-10 Felix Zielcke <fzielcke@z-51.de>
37428
37429 * Makefile.in: Remove all trailing whitespace.
37430 * conf/i386-pc.rmk: Likewise.
37431 * conf/powerpc-ieee1275.rmk: Likewise.
37432 * conf/sparc64-ieee1275.rmk: Likewise.
37433 * docs/grub.texi: Likewise.
37434 * docs/texinfo.tex: Likewise.
37435 * disk/fs_uuid.c: Likewise.
37436 * disk/lvm.c: Likewise.
37437 * disk/scsi.c: Likewise.
37438 * disk/ata.c: Likewise.
37439 * disk/ieee1275/ofdisk.c: Likewise.
37440 * disk/i386/pc/biosdisk.c: Likewise.
37441 * disk/host.c: Likewise.
37442 * disk/raid.c: Likewise.
37443 * disk/efi/efidisk.c: Likewise.
37444 * disk/usbms.c: Likewise.
37445 * disk/memdisk.c: Likewise.
37446 * disk/loopback.c: Likewise.
37447 * kern/powerpc/dl.c: Likewise.
37448 * kern/device.c: Likewise.
37449 * kern/dl.c: Likewise.
37450 * kern/sparc64/dl.c: Likewise.
37451 * kern/ieee1275/ieee1275.c: Likewise.
37452 * kern/term.c: Likewise.
37453 * kern/fs.c: Likewise.
37454 * kern/i386/dl.c: Likewise.
37455 * kern/i386/pc/startup.S: Likewise.
37456 * kern/i386/pc/init.c: Likewise.
37457 * kern/i386/pc/mmap.c: Likewise.
37458 * kern/i386/pc/lzo1x.S: Likewise.
37459 * kern/i386/ieee1275/init.c: Likewise.
37460 * kern/i386/realmode.S: Likewise.
37461 * kern/i386/tsc.c: Likewise.
37462 * kern/partition.c: Likewise.
37463 * kern/corecmd.c: Likewise.
37464 * kern/file.c: Likewise.
37465 * kern/efi/efi.c: Likewise.
37466 * kern/efi/init.c: Likewise.
37467 * kern/efi/mm.c: Likewise.
37468 * kern/main.c: Likewise.
37469 * kern/err.c: Likewise.
37470 * kern/env.c: Likewise.
37471 * kern/disk.c: Likewise.
37472 * kern/generic/millisleep.c: Likewise.
37473 * kern/generic/rtc_get_time_ms.c: Likewise.
37474 * kern/misc.c: Likewise.
37475 * kern/parser.c: Likewise.
37476 * genmk.rb: Likewise.
37477 * configure.ac: Likewise.
37478 * boot/i386/pc/diskboot.S: Likewise.
37479 * boot/i386/pc/pxeboot.S: Likewise.
37480 * boot/i386/pc/boot.S: Likewise.
37481 * boot/i386/pc/lnxboot.S: Likewise.
37482 * boot/i386/pc/cdboot.S: Likewise.
37483 * parttool/pcpart.c: Likewise.
37484 * video/readers/tga.c: Likewise.
37485 * video/video.c: Likewise.
37486 * video/bitmap.c: Likewise.
37487 * lib/envblk.c: Likewise.
37488 * lib/i386/setjmp.S: Likewise.
37489 * fs/xfs.c: Likewise.
37490 * fs/afs.c: Likewise.
37491 * fs/fat.c: Likewise.
37492 * fs/ntfs.c: Likewise.
37493 * fs/udf.c: Likewise.
37494 * fs/affs.c: Likewise.
37495 * fs/iso9660.c: Likewise.
37496 * fs/hfs.c: Likewise.
37497 * fs/fshelp.c: Likewise.
37498 * fs/ext2.c: Likewise.
37499 * fs/jfs.c: Likewise.
37500 * fs/reiserfs.c: Likewise.
37501 * fs/hfsplus.c: Likewise.
37502 * fs/minix.c: Likewise.
37503 * fs/cpio.c: Likewise.
37504 * fs/sfs.c: Likewise.
37505 * fs/ufs.c: Likewise.
37506 * efiemu/prepare.c: Likewise.
37507 * efiemu/loadcore_common.c: Likewise.
37508 * efiemu/runtime/efiemu.sh: Likewise.
37509 * efiemu/runtime/efiemu.S: Likewise.
37510 * efiemu/runtime/efiemu.c: Likewise.
37511 * efiemu/pnvram.c: Likewise.
37512 * efiemu/main.c: Likewise.
37513 * efiemu/i386/pc/cfgtables.c: Likewise.
37514 * efiemu/i386/loadcore64.c: Likewise.
37515 * efiemu/i386/loadcore32.c: Likewise.
37516 * efiemu/loadcore.c: Likewise.
37517 * efiemu/symbols.c: Likewise.
37518 * efiemu/mm.c: Likewise.
37519 * include/grub/autoefi.h: Likewise.
37520 * include/grub/datetime.h: Likewise.
37521 * include/grub/term.h: Likewise.
37522 * include/grub/hfs.h: Likewise.
37523 * include/grub/lvm.h: Likewise.
37524 * include/grub/i386/tsc.h: Likewise.
37525 * include/grub/i386/linux.h: Likewise.
37526 * include/grub/i386/xnu.h: Likewise.
37527 * include/grub/i386/efiemu.h: Likewise.
37528 * include/grub/i386/pc/biosdisk.h: Likewise.
37529 * include/grub/i386/pc/memory.h: Likewise.
37530 * include/grub/i386/pc/vbe.h: Likewise.
37531 * include/grub/parttool.h: Likewise.
37532 * include/grub/video.h: Likewise.
37533 * include/grub/memory.h: Likewise.
37534 * include/grub/fs.h: Likewise.
37535 * include/grub/partition.h: Likewise.
37536 * include/grub/xnu.h: Likewise.
37537 * include/grub/efi/api.h: Likewise.
37538 * include/grub/efi/pe32.h: Likewise.
37539 * include/grub/efi/memory.h: Likewise.
37540 * include/grub/multiboot.h: Likewise.
37541 * include/grub/usbdesc.h: Likewise.
37542 * include/grub/multiboot2.h: Likewise.
37543 * include/grub/acpi.h: Likewise.
37544 * include/grub/efiemu/efiemu.h: Likewise.
37545 * include/grub/disk.h: Likewise.
37546 * include/grub/ieee1275/ieee1275.h: Likewise.
37547 * include/grub/net.h: Likewise.
37548 * include/grub/machoload.h: Likewise.
37549 * include/grub/macho.h: Likewise.
37550 * include/multiboot.h: Likewise.
37551 * genmoddep.awk: Likewise.
37552 * normal/main.c: Likewise.
37553 * normal/menu_entry.c: Likewise.
37554 * normal/menu_viewer.c: Likewise.
37555 * normal/completion.c: Likewise.
37556 * normal/cmdline.c: Likewise.
37557 * normal/misc.c: Likewise.
37558 * normal/datetime.c: Likewise.
37559 * bus/usb/usbtrans.c: Likewise.
37560 * bus/usb/ohci.c: Likewise.
37561 * bus/usb/uhci.c: Likewise.
37562 * bus/usb/usb.c: Likewise.
37563 * mmap/efi/mmap.c: Likewise.
37564 * mmap/i386/pc/mmap_helper.S: Likewise.
37565 * mmap/i386/pc/mmap.c: Likewise.
37566 * mmap/i386/mmap.c: Likewise.
37567 * mmap/i386/uppermem.c: Likewise.
37568 * mmap/mmap.c: Likewise.
37569 * commands/acpi.c: Likewise.
37570 * commands/echo.c: Likewise.
37571 * commands/blocklist.c: Likewise.
37572 * commands/loadenv.c: Likewise.
37573 * commands/usbtest.c: Likewise.
37574 * commands/boot.c: Likewise.
37575 * commands/parttool.c: Likewise.
37576 * commands/search.c: Likewise.
37577 * commands/cat.c: Likewise.
37578 * commands/i386/pc/play.c: Likewise.
37579 * commands/i386/pc/drivemap.c: Likewise.
37580 * commands/i386/pc/vbeinfo.c: Likewise.
37581 * commands/i386/pc/acpi.c: Likewise.
37582 * commands/i386/pc/vbetest.c: Likewise.
37583 * commands/ls.c: Likewise.
37584 * commands/cmp.c: Likewise.
37585 * commands/test.c: Likewise.
37586 * commands/efi/acpi.c: Likewise.
37587 * commands/gptsync.c: Likewise.
37588 * commands/help.c: Likewise.
37589 * partmap/amiga.c: Likewise.
37590 * partmap/apple.c: Likewise.
37591 * partmap/acorn.c: Likewise.
37592 * partmap/pc.c: Likewise.
37593 * partmap/sun.c: Likewise.
37594 * partmap/gpt.c: Likewise.
37595 * script/sh/lexer.c: Likewise.
37596 * script/sh/function.c: Likewise.
37597 * font/font.c: Likewise.
37598 * font/font_cmd.c: Likewise.
37599 * loader/powerpc/ieee1275/linux.c: Likewise.
37600 * loader/efi/chainloader.c: Likewise.
37601 * loader/multiboot_loader.c: Likewise.
37602 * loader/macho.c: Likewise.
37603 * loader/i386/multiboot.c: Likewise.
37604 * loader/i386/linux.c: Likewise.
37605 * loader/i386/pc/linux.c: Likewise.
37606 * loader/i386/pc/multiboot2.c: Likewise.
37607 * loader/i386/pc/chainloader.c: Likewise.
37608 * loader/i386/pc/xnu.c: Likewise.
37609 * loader/i386/bsd_trampoline.S: Likewise.
37610 * loader/i386/efi/linux.c: Likewise.
37611 * loader/i386/multiboot_elfxx.c: Likewise.
37612 * loader/i386/bsd_helper.S: Likewise.
37613 * loader/i386/bsd.c: Likewise.
37614 * loader/i386/linux_trampoline.S: Likewise.
37615 * loader/i386/xnu_helper.S: Likewise.
37616 * loader/i386/xnu.c: Likewise.
37617 * loader/i386/bsd_pagetable.c: Likewise.
37618 * loader/i386/multiboot_helper.S: Likewise.
37619 * loader/xnu.c: Likewise.
37620 * loader/xnu_resume.c: Likewise.
37621 * io/gzio.c: Likewise.
37622 * term/efi/console.c: Likewise.
37623 * term/terminfo.c: Likewise.
37624 * term/ieee1275/ofconsole.c: Likewise.
37625 * term/i386/pc/serial.c: Likewise.
37626 * term/i386/pc/vesafb.c: Likewise.
37627 * term/i386/pc/vga.c: Likewise.
37628 * term/usb_keyboard.c: Likewise.
37629 * term/gfxterm.c: Likewise.
37630 * aclocal.m4: Likewise.
37631 * util/lvm.c: Likewise.
37632 * util/grub.d/30_os-prober.in: Likewise.
37633 * util/grub.d/10_hurd.in: Likewise.
37634 * util/console.c: Likewise.
37635 * util/grub-macho2img.c: Likewise.
37636 * util/grub-probe.c: Likewise.
37637 * util/hostfs.c: Likewise.
37638 * util/i386/pc/grub-mkimage.c: Likewise.
37639 * util/i386/pc/grub-setup.c: Likewise.
37640 * util/i386/efi/grub-mkimage.c: Likewise.
37641 * util/grub-mkconfig.in: Likewise.
37642 * util/raid.c: Likewise.
37643 * util/resolve.c: Likewise.
37644 * util/grub-mkdevicemap.c: Likewise.
37645 * util/grub-emu.c: Likewise.
37646 * util/getroot.c: Likewise.
37647 * util/hostdisk.c: Likewise.
37648 * util/usb.c: Likewise.
37649 * util/grub-editenv.c: Likewise.
37650 * util/misc.c: Likewise.
37651
d2d49665 376522009-06-10 Felix Zielcke <fzielcke@z-51.de>
37653
37654 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
37655 `genparttoollist.sh'.
37656 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
37657 Add `*.sh' to the list find searches for and change `mdate.sh'
37658 to `mdate-sh'.
37659
fe052e37 376602009-06-10 Pavel Roskin <proski@gnu.org>
37661
2763ac18 37662 * include/grub/multiboot2.h: Provide compatibility defines for
37663 multiboot2.h.
37664 * include/multiboot2.h: Include stdint.h only if needed, using
37665 angle brackets.
37666 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
37667 grub/multiboot2.h.
37668 * loader/ieee1275/multiboot2.c: Likewise.
37669 * loader/multiboot2.c: Likewise.
37670 * loader/multiboot_loader.c: Likewise.
37671
437e6adc 37672 * configure.ac: Use -nostdlib when probing for the target. It
37673 should not be required to have libc for the target.
37674
06a6836c 37675 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
37676 they fail without libc headers for the target.
37677 * include/grub/powerpc/libgcc.h: Use weak attribute for all
37678 exports.
37679 * include/grub/sparc64/libgcc.h: Likewise. Don't use
37680 preprocessor conditionals.
37681
fe052e37 37682 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
37683 build system doesn't need to be aware of the tar.c internals.
37684
afd22553 376852009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 37686
afd22553 37687 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 37688
6b787c4f 376892009-06-09 Robert Millan <rmh.grub@aybabtu.com>
37690
37691 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
37692 disk limit to 26 for IDE, Virtio, Xen and SCSI.
37693
376942009-06-09 Felix Zielcke <fzielcke@z-51.de>
37695
37696 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 37697 aren't available if ata.mod gets used.
6b787c4f 37698
473d1e45 376992009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 37700
473d1e45 37701 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 37702 initialising controller.
473d1e45 37703 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 37704
255a27d4 377052009-06-08 Felix Zielcke <fzielcke@z-51.de>
37706
37707 * util/i386/pc/grub-install.in: Add a parameter --disk-module
37708 to choose between ata and biosdisk module on i386-pc.
37709
473d1e45 377102009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 37711
d55842d8 37712 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
37713 Subclass and Programming Interface fields in terms of the 3 byte
37714 Class Code register.
37715 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37716
fa5db0b1 37717 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
37718 interface is OHCI. Add grub_dprintf for symmetry with
37719 bus/usb/uhci.c.
37720 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
37721 interface is UHCI. Add interf variable for programming
37722 interface. Print interface with class/subclass.
37723
c0947beb 37724 * bus/usb/ohci.c: Set interf with correct field.
37725
69da8877 37726 * bus/usb/uhci.c: Remove unneeded doubled lines.
37727 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
37728 Remove whitespace inside comment.
37729
9e172e30 377302009-06-08 Robert Millan <rmh.grub@aybabtu.com>
37731
37732 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
37733 as fallback an equivalent option without depth.
37734
de65ee2b 377352009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37736
37737 Not fail if unable to retrieve C/H/S on LBA disks
37738
473d1e45 37739 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 37740 if unable to retrieve C/H/S on LBA disks
37741
b57ea2c9 377422009-06-08 Pavel Roskin <proski@gnu.org>
37743
37744 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
37745 about aliasing.
37746
af361263 377472009-06-08 Felix Zielcke <fzielcke@z-51.de>
37748
37749 * Makefile.in (uninstall): Remove all $lib_DATA files.
37750
4c9ec6b3 377512009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37752
37753 Bugfix: install on partitionless device
37754
37755 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
37756 is a whole disk
37757
e76fc924 377582009-06-08 Felix Zielcke <fzielcke@z-51.de>
37759
37760 * Makefile.in (uninstall): Remove all $include_DATA files.
37761
ba5a0d05 377622009-06-08 Felix Zielcke <fzielcke@z-51.de>
37763
37764 * commands/true.c: New file. Implement the true and false commands.
37765 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
37766 (true_mod_SOURCES): New variable.
37767 (true_mod_CFLAGS): Likewise.
37768 (true_mod_LDFLAGS): Likewise.
37769
c8048e32 377702009-06-05 Colin D Bennett <colin@gibibit.com>
37771
37772 Optimized font character lookup using binary search instead of linear
37773 search. Fonts now are required to have the character index ordered by
37774 code point.
37775
37776 * font/font.c (load_font_index): Verify that fonts have ordered
37777 character indices.
37778 (find_glyph): Use binary search instead of linear search to find a
37779 character in a font.
37780
408305be 377812009-06-05 Michael Scherer <misc@mandriva.org>
37782
37783 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
37784 uses case sensitive btree.
37785 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
37786 only for case insensitive filesystems.
37787
8ee1e0d9 377882009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
37789
37790 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
37791 * conf/common.rmk (search_mod_CFLAGS): likewise
37792
a9966eb1 377932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37794
473d1e45 37795 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 37796 compensate a compiler bug
37797
9e7100fb 377982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37799
473d1e45 37800 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 37801 instead of '\b'
473d1e45 37802
ede21d71 378032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37804
37805 Definitions for creating asm symbols with Apple's CC
37806
37807 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
37808 [APPLE_CC] (VARIABLE): likewise
37809
9dbf7653 378102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37811
37812 Disable lnxboot.img when compiled
37813 with Apple's CC
37814
37815 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
37816 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
37817 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
37818 [! APPLE_CC] (CODE_LENG): skip
37819 [! APPLE_CC] (setup_sects): likewise
37820 [! APPLE_CC]: skip filling
473d1e45 37821
e93cdc3d 378222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37823
37824 Address in trampolines based on 32-bit registers when compiled
37825 with Apple's CC
37826
473d1e45 37827 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 37828 for addresses
37829 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
37830
6c688477 378312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37832
37833 Avoid aliases when compiling with Apple's CC for PCBIOS machine
37834
37835 * kern/misc.c [APPLE_CC] (memcpy): new function
37836 [APPLE_CC] (memmove): likewise
37837 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 37838 (memcpy): define alias conditionally on !APPLE_CC
6c688477 37839 (memset): likewise
37840 (abort): likewise
37841 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
37842 APPLE_CC are defined
37843 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
37844 (grub_assert_fail): make prototype conditional
37845
e37ffc5c 378462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37847
37848 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
37849
473d1e45 37850 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
37851 grub-macho2img
e37ffc5c 37852 (CLEANFILES): add grub-macho2img
37853 (grub_macho2img_SOURCES): new variable
37854 * kern/i386/pc/startup.S (bss_start): new variable
37855 (bss_end): likewise
37856 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
37857 * util/grub-macho2img.c: new file
37858
cf00df31 378592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37860
37861 Use objconv when compiling with Apple's CC
37862
37863 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
37864 (efiemu64.o): likewise
37865 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
37866 when compiling with Apple's CC
37867 (efiemu64_s.o): likewise
37868 * configure.ac: check for objconv when compiling with Apple's CC
37869 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 37870
d119a20c 378712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37872
37873 Define segment as well as section when compiling with
37874 Apple's CC
37875
37876 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
37877 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
37878 (efiemu_convert_pointer): likewise
37879 (efiemu_set_virtual_address_map): likewise
37880 (efiemu_convert_pointer): likewise
37881 (efiemu_getcrc32): likewise
37882 (init_crc32_table): likewise
37883 (reflect): likewise
37884 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
37885 (GRUB_MOD_DEP): likewise
473d1e45 37886
c8600122 378872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37888
37889 Allow a compilation without -mcmodel=large
37890
37891 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
37892 when compiled without -mcmodel=large
473d1e45 37893 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 37894 without -mcmodel=large
473d1e45 37895 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 37896 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 37897
e8df1d4e 378982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37899
37900 Remove nested functions in efiemu core
37901
37902 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 37903
cc6c3ac1 379042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37905
37906 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
37907
37908 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
37909 temporary storage
473d1e45 37910 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
37911 using Apple's CC
cc6c3ac1 37912 (grub_cpu_is_tsc_supported): likewise
37913 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 37914
3e325901 379152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37916
37917 Absolute addressing through constant with Apple's cc
37918
37919 * kern/i386/pc/startup.S: Define necessary constants
37920 and address through it when using ABS with Apple's CC
37921 * boot/i386/pc/diskboot.S: likewise
37922 * boot/i386/pc/boot.S: likewise
37923 * boot/i386/pc/lnxboot.S: likewise
37924 * boot/i386/pc/cdboot.S: likewise
37925 * mmap/i386/pc/mmap_helper.S: likewise
37926 * commands/i386/pc/drivemap_int13h.S: likewise
37927
2b167a72 379282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37929
37930 Check if compiler is apple cc
37931
37932 * Makefile.in (ASFLAGS): new variable
37933 (TARGET_ASFLAGS): likewise
37934 (TARGET_MODULE_FORMAT): likewise
37935 (TARGET_APPLE_CC): likewise
37936 (OBJCONV): likewise
37937 (TARGET_IMG_CFLAGS): likewise
37938 (TARGET_CPPFLAGS): add includedir
37939 * configure.ac: call grub_apple_cc and grub_apple_target_cc
37940 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
37941 Check for linker script only if compiler isn't Apple's CC
37942 (TARGET_MODULE_FORMAT): set
37943 (TARGET_APPLE_CC): likewise
37944 (TARGET_ASFLAGS): likewise
37945 (ASFLAGS): likewise
37946 Check for objcopy only if compiler isn't Apple's CC
37947 Check for BSS symbol only if compiler isn't Apple's CC
37948 * genmk.rb: adapt nm options if we use Apple's utils
37949 * aclocal.m4 (grub_apple_cc): new test
37950 (grub_apple_target_cc): likewise
473d1e45 37951
fb14123e 379522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37953
37954 Simplify sed expressions and improve awk
37955
37956 * Makefile.in (install-local): simplify sed expression
37957 * gencmdlist.sh: likewise
37958 * genmoddep.awk: avoid adding module as a dependency of itself
37959
5b889789 379602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37961
37962 Add missing start symbols
37963
37964 * boot/i386/pc/boot.S: add start
fb14123e 37965 * boot/i386/pc/pxeboot.S: likewise
473d1e45 37966
fd2bf2e3 379672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37968
37969 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 37970
37971 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 37972 (relocate_addresses): consider both r_addend and value at offset
37973 (make_mods_section): zerofill modinfo and header
37974 (convert_elf): write prefix here
473d1e45 37975
5389763d 379762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37977
37978 Use .asciz instead of .string
37979
37980 * i386/pc/diskboot.S: use .asciz instead of .string
37981 * i386/pc/boot.S: likewise
37982 * include/grub/dl.h (GRUB_MOD_DEP): likewise
37983 (GRUB_MOD_NAME): likewise
473d1e45 37984
3eb5ed4e 379852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37986
37987 gfxpayload support
37988
37989 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
37990 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
37991 (grub_video_setup): remove
37992 (grub_video_set_mode): new prototype
37993 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
37994 (vid_mode): remove
37995 (linux_vesafb_res): compile only on PCBIOS
37996 (grub_linux_boot): support gfxpayload
37997 * loader/i386/pc/xnu.c (video_hook): new function
37998 (grub_xnu_set_video): support gfxpayload
37999 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
38000 (DEFAULT_VIDEO_HEIGHT): likewise
38001 (DEFAULT_VIDEO_FLAGS): likewise
38002 (DEFAULT_VIDEO_MODE): new definition
38003 (video_hook): new function
38004 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 38005 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 38006 loading xnu
38007 * video/video.c (grub_video_setup): removed
473d1e45 38008 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 38009 grub_video_setup
38010
4b0e1143 380112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38012
38013 Avoid calling biosdisk in drivemap
38014
38015 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
38016 (revparse_biosdisk): likewise
38017 (list_mappings): derive name from id directly
38018 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 38019
fda6cb98 380202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38021
38022 Script fixes
38023
38024 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
38025 (grub_lexer_param): add tokenonhold
38026 (grub_script_create_cmdline): remove cmdline. All callers updated
38027 (grub_script_function_create): make functionname
38028 grub_script_arg. All callers updated
38029 (grub_script_execute_argument_to_string): new prototype
38030 * kern/parser.c (state_transitions): reorder
38031 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 38032 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 38033 make global
38034 (grub_script_execute_cmdline): use new format
38035 * script/sh/function.c (grub_script_function_create): make functionname
38036 grub_script_arg. All callers updated
473d1e45 38037 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 38038 (grub_script_yylex): remove
38039 (grub_script_yylex2): renamed to ...
38040 (grub_script_yylex): ...renamed
38041 parse the expressions like a${b}c
38042 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
38043 (GRUB_PARSER_TOKEN_VAR): remove
38044 (GRUB_PARSER_TOKEN_NAME): likewise
38045 ("if"): declare as typeless
38046 ("while"): likewise
38047 ("function"): likewise
38048 ("else"): likewise
38049 ("then"): likewise
38050 ("fi"): likewise
38051 (text): remove
38052 (argument): likewise
38053 (script): accept empty scripts and make exit on error
38054 (arguments): use GRUB_PARSER_TOKEN_ARG
38055 (function): likewise
38056 (command): move error handling to script
38057 (menuentry): move grub_script_lexer_ref before
473d1e45 38058 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 38059 argument. All callers updated
38060
f4448a07 380612009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38062
38063 Prevent GRUB from probing floppies during boot.
38064
38065 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
38066 * commands/search.c (options): Add --no-floppy.
38067 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
38068 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
38069 --no-floppy when searching for UUIDs.
38070
2bf5885a 380712009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38072
38073 Simplify the code duplication in commands/search.c.
38074
38075 * commands/search.c (search_label, search_fs_uuid): Merge into ...
38076 (search_fs): ... this. Update all users.
38077
f6fd460a 380782009-06-03 Felix Zielcke <fzielcke@z-51.de>
38079
38080 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
38081
cbb3c83e 380822009-05-28 Pavel Roskin <proski@gnu.org>
38083
57788cfd 38084 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
38085 Remove the original symlink explicitly.
38086
cbb3c83e 38087 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
38088 just one slash. That's how grub_fshelp_find_file() does it.
38089
cd0d5e30 380902009-05-26 Pavel Roskin <proski@gnu.org>
38091
f0f8bbe2 38092 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
38093 to `str'.
38094
cd0d5e30 38095 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
38096 possibly unused.
38097
8c2cab51 380982009-05-25 Christian Franke <franke@computer.org>
38099
38100 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
38101 register.
38102 (grub_atapi_identify): Add wait after drive select.
38103 (grub_ata_identify): Do more strict status register check before
38104 calling grub_atapi_identify (). Suppress error message if status
38105 register is 0x00 after command failure. Add status register
38106 check after PIO read to avoid bogus identify due to stuck DRQ.
38107 Thanks to Pavel Roskin for testing.
38108 (grub_device_initialize): Remove unsafe status register check.
38109 Thanks to 'phcoder' for problem report and patch.
38110 Prevent sign extension in debug message.
38111
230c0ad6 381122009-05-23 Colin D Bennett <colin@gibibit.com>
38113
38114 Cleaned up `include/grub/normal.h'. Grouped prototypes by
38115 definition file, and functions defined in `normal/menu.c' have had
38116 their prototypes moved to `include/grub/menu.h' for consistency.
38117
38118 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
38119 from normal.h.
38120 (grub_menu_get_entry): Likewise.
38121 (grub_menu_get_timeout): Likewise.
38122 (grub_menu_set_timeout): Likewise.
38123 (grub_menu_execute_entry): Likewise.
38124 (grub_menu_execute_with_fallback): Likewise.
38125 (grub_menu_entry_run): Likewise.
38126
38127 * include/grub/normal.h: Re-ordered and grouped function
38128 prototypes by file that the function is defined in.
38129 (grub_menu_execute_callback): Removed; moved to menu.h.
38130 (grub_menu_get_entry): Likewise.
38131 (grub_menu_get_timeout): Likewise.
38132 (grub_menu_set_timeout): Likewise.
38133 (grub_menu_execute_entry): Likewise.
38134 (grub_menu_execute_with_fallback): Likewise.
38135 (grub_menu_entry_run): Likewise.
38136 (grub_menu_addentry): Renamed from this ...
38137 (grub_normal_add_menu_entry): ... to this.
38138
38139 * normal/main.c (grub_menu_addentry): Renamed from this ...
38140 (grub_normal_add_menu_entry): ... to this.
38141
38142 * script/sh/execute.c (grub_script_execute_menuentry): Update
38143 reference to renamed grub_menu_addentry function.
38144
861f03a5 381452009-05-23 Felix Zielcke <fzielcke@z-51.de>
38146
38147 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
38148
96b1619a 381492009-05-22 Pavel Roskin <proski@gnu.org>
38150
bf6a5fb2 38151 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
38152 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
38153 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
38154 compiling for the i386 targets, but not for the utilities.
38155
96b1619a 38156 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
38157 to grub_uint8_t.
38158 (grub_root_drive): Likewise.
38159 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
38160 remove alignment.
38161 (grub_root_drive): Change size to byte.
38162 (grub_start_addr): Remove.
38163 (grub_end_addr): Likewise.
38164 (grub_apm_bios_info): Likewise.
38165
b729776b 381662009-05-21 Felix Zielcke <fzielcke@z-51.de>
38167
38168 * normal/i386: Remove.
38169 * normal/powerpc: Likewise.
38170 * normal/sparc64: Likewise.
38171 * normal/x86_64: Likewise.
38172
0a15ce80 381732009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
38174
38175 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 38176 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 38177 * loader/i386/xnu_helper.S: Likewise
d6da58e6 38178
33db9015 381792009-05-18 Colin D Bennett <colin@gibibit.com>
38180
d6da58e6 38181 Display error messages when parsing a Lua statement fails.
38182 Previously, executing a syntactically invalid statement like
38183 ")foo" or "bar;" would silently fail.
33db9015 38184
38185 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 38186 (grub_lua_parse_line): Improved reporting of Lua parser and
38187 execution errors.
33db9015 38188
46422c89 381892009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38190
38191 Remove -Werror which causes build to fail on some systems
38192
38193 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
38194 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
38195 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 38196
22f53a96 381972009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38198
38199 trampoline for linux on 64-bit platform
38200
18f547ad 38201 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
38202 loader/i386/efi/linux_trampoline.S
38203 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 38204 declaration
d6da58e6 38205 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
38206 here
22f53a96 38207 * loader/i386/linux_trampoline.S: moved here
d6da58e6 38208 * loader/i386/efi/linux.c (allocate_pages): reserve space for
38209 trampoline
22f53a96 38210 (jumpvector): removed
38211 (grub_linux_trampoline_start): new declaration
38212 (grub_linux_trampoline_end): likewise
38213 (grub_linux_boot): use trampoline when on 64-bit platform
38214 * loader/i386/linux.c: likewise
38215
cb5a0f40 382162009-05-16 Pavel Roskin <proski@gnu.org>
38217
38218 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
38219 const to avoid a warning.
38220 (grub_lua_setenv): Likewise.
38221 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
38222 lmsg to fix a warning.
38223
334f2c28 382242009-05-16 Felix Zielcke <fzielcke@z-51.de>
38225
38226 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 38227 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38228 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
38229 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38230 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38231 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38232 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38233 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 38234
59e5d3ec 382352009-05-16 Felix Zielcke <fzielcke@z-51.de>
38236
38237 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
38238
9d87a1ba 382392009-05-16 Bean <bean123ch@gmail.com>
38240
38241 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
38242 (lua_mod_SOURCES): New variable.
38243 (lua_mod_CFLAGS): Likewise.
38244 (lua_mod_LDFLAGS): Likewise.
38245
38246 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
38247 (setjmp_mod_SOURCES): New variable.
38248 (setjmp_mod_CFLAGS): Likewise.
38249 (setjmp_LDFLAGS): Likewise.
38250
38251 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
38252 (setjmp_mod_SOURCES): New variable.
38253 (setjmp_mod_CFLAGS): Likewise.
38254 (setjmp_LDFLAGS): Likewise.
38255
38256 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38257 (setjmp_mod_SOURCES): New variable.
38258 (setjmp_mod_CFLAGS): Likewise.
38259 (setjmp_LDFLAGS): Likewise.
38260
38261 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38262 (setjmp_mod_SOURCES): New variable.
38263 (setjmp_mod_CFLAGS): Likewise.
38264 (setjmp_LDFLAGS): Likewise.
38265
38266 * normal/i386/setjmp.S: Moved from here ...
38267 * lib/i386/setjmp.S: ... Moved here
38268 * normal/x86_64/setjmp.S: Moved from here ...
38269 * lib/x86_64/setjmp.S: ... Moved here
38270 * normal/powerpc/setjmp.S: Moved from here ...
38271 * lib/powerpc/setjmp.S: ... Moved here
38272 * normal/sparc64/setjmp.S: Moved from here ...
38273 * lib/sparc64/setjmp.S: ... Moved here
38274
38275 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
38276 returns_twice in mingw.
38277
38278 * script/lua/grub_lib.c: New file.
38279 * script/lua/grub_lib.h: Likewise.
38280 * script/lua/grub_lua.h: Likewise.
38281 * script/lua/grub_main.c: Likewise.
38282 * script/lua/lapi.c: Likewise.
38283 * script/lua/lapi.h: Likewise.
38284 * script/lua/lauxlib.c: Likewise.
38285 * script/lua/lauxlib.h: Likewise.
38286 * script/lua/lbaselib.c: Likewise.
38287 * script/lua/lcode.c: Likewise.
38288 * script/lua/lcode.h: Likewise.
38289 * script/lua/ldblib.c: Likewise.
38290 * script/lua/ldebug.c: Likewise.
38291 * script/lua/ldebug.h: Likewise.
38292 * script/lua/ldo.c: Likewise.
38293 * script/lua/ldo.h: Likewise.
38294 * script/lua/ldump.c: Likewise.
38295 * script/lua/lfunc.c: Likewise.
38296 * script/lua/lfunc.h: Likewise.
38297 * script/lua/lgc.c: Likewise.
38298 * script/lua/lgc.h: Likewise.
38299 * script/lua/linit.c: Likewise.
38300 * script/lua/liolib.c: Likewise.
38301 * script/lua/llex.c: Likewise.
38302 * script/lua/llex.h: Likewise.
38303 * script/lua/llimits.h: Likewise.
38304 * script/lua/lmathlib.c: Likewise.
38305 * script/lua/lmem.c: Likewise.
38306 * script/lua/lmem.h: Likewise.
38307 * script/lua/loadlib.c: Likewise.
38308 * script/lua/lobject.c: Likewise.
38309 * script/lua/lobject.h: Likewise.
38310 * script/lua/lopcodes.c: Likewise.
38311 * script/lua/lopcodes.h: Likewise.
38312 * script/lua/loslib.c: Likewise.
38313 * script/lua/lparser.c: Likewise.
38314 * script/lua/lparser.h: Likewise.
38315 * script/lua/lstate.c: Likewise.
38316 * script/lua/lstate.h: Likewise.
38317 * script/lua/lstring.c: Likewise.
38318 * script/lua/lstring.h: Likewise.
38319 * script/lua/lstrlib.c: Likewise.
38320 * script/lua/ltable.c: Likewise.
38321 * script/lua/ltable.h: Likewise.
38322 * script/lua/ltablib.c: Likewise.
38323 * script/lua/ltm.c: Likewise.
38324 * script/lua/ltm.h: Likewise.
38325 * script/lua/lua.h: Likewise.
38326 * script/lua/luaconf.h: Likewise.
38327 * script/lua/lualib.h: Likewise.
38328 * script/lua/lundump.c: Likewise.
38329 * script/lua/lundump.h: Likewise.
38330 * script/lua/lvm.c: Likewise.
38331 * script/lua/lvm.h: Likewise.
38332 * script/lua/lzio.c: Likewise.
38333 * script/lua/lzio.h: Likewise.
38334
5e898c9d 383352009-05-16 Bean <bean123ch@gmail.com>
38336
38337 * include/grub/kernel.h (grub_module_header_types): Add type
38338 OBJ_TYPE_CONFIG.
38339
38340 * kern/main.c (grub_load_config): New function.
38341 (grub_main): Call grub_load_config to read boot config.
38342
38343 * grub-mkimage (generate_image): New parameter config_path.
38344 (options): New option --config.
38345 (main): Parse --config option, and pass it to generate_image.
38346
cf353a47 383472009-05-14 Christian Franke <franke@computer.org>
38348
38349 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
38350 This fixes build on Cygwin.
38351
3834887f 383522009-05-14 Pavel Roskin <proski@gnu.org>
38353
38354 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
38355 jump. This saves two bytes, so the typical case of 2 swapped
38356 drives would fit 32 bytes.
38357
8090fc01 383582009-05-13 Pavel Roskin <proski@gnu.org>
38359
ac963883 38360 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
38361 grub_uint32_t to avoid a warning.
38362
8090fc01 38363 * loader/i386/linux.c (allocate_pages): When assigning
38364 real_mode_mem, cast through grub_size_t to fix a warning. The
38365 code already makes sure that the value would fit a pointer.
38366 (grub_linux_setup_video): Cast render_target->data to
38367 grub_size_t to fix a warning.
38368
18f547ad 383692009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 38370
38371 * commands/i386/pc/drivemap.c: New file - implement drivemap
38372 command.
38373 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
38374 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
38375
6f6a8b28 383762009-05-13 Pavel Roskin <proski@gnu.org>
38377
38378 * util/i386/pc/grub-setup.c (setup): Remove unused variable
38379 embedding_area_exists.
38380
15fbf4c4 383812009-05-13 Robert Millan <rmh.grub@aybabtu.com>
38382
38383 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
38384 it easier to understand / work with.
59978c8a 38385 Improve warning messages for cases where there's no embedding area,
38386 or when it is too small (or core.img too large).
15fbf4c4 38387
238e871f 383882009-05-13 Pavel Roskin <proski@gnu.org>
38389
0ab3a9a4 38390 * loader/i386/pc/multiboot2.c: Add necessary includes for
38391 grub_multiboot2_real_boot().
38392
a2c8c5f8 38393 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
38394 PX record is always little-endian. We only need the lower 2
38395 bytes of the mode.
38396
faec96af 38397 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
38398 facilitate code reuse.
38399 (grub_cpio_mount): Use "struct head", not a char buffer. This
38400 fixes a warning reported by gcc 4.4.
38401
238e871f 38402 * kernel/disk.c (grub_disk_read): Use void pointer for the
38403 buffer.
38404 (grub_disk_write): Use const void pointer for the buffer.
38405 Adjust all callers. Remove unnecessary casts.
38406
901d2f0c 384072009-05-10 Robert Millan <rmh.grub@aybabtu.com>
38408
38409 * util/i386/pc/grub-install.in: Update copyright year.
38410
18f547ad 384112009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 38412
38413 gptsync
38414
38415 * commands/gptsync.c: new file
38416 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
38417 (gptsync_mod_SOURCES): new variable
38418 (gptsync_mod_CFLAGS): likewise
38419 (gptsync_mod_LDFLAGS): likewise
18f547ad 38420 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 38421 new definition
38422 (GRUB_PC_PARTITION_TYPE_HFS): likewise
38423 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
38424 * conf/i386-ieee1275.rmk: likewise
38425 * conf/i386-pc.rmk: likewise
38426 * conf/powerpc-ieee1275.rmk: likewise
38427
b4ba690a 384282009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38429
38430 Fixed grub-emu
38431
38432 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
38433 (grub_dl_ref): likewise
38434
317e1a44 384352009-05-08 Robert Millan <rmh.grub@aybabtu.com>
38436
38437 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
38438 split in two functions (one for msdos and one for gpt).
38439
041b8094 384402009-05-08 Pavel Roskin <proski@gnu.org>
38441
752473c2 38442 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
38443 not modified.
38444
041b8094 38445 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
38446 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
38447 Initialize them with -1. Add sanity check for bad1. Eliminate
38448 nerr variable.
38449
172800ce 384502009-05-08 David S. Miller <davem@davemloft.net>
38451
38452 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
38453
29aa5e81 384542009-05-06 Robert Millan <rmh.grub@aybabtu.com>
38455
38456 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 38457 existence.
29aa5e81 38458
96613b62 384592009-05-05 Felix Zielcke <fzielcke@z-51.de>
38460
38461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 38462 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 38463
eef73c8a 384642009-05-05 David S. Miller <davem@davemloft.net>
38465
38466 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
38467
119494b5 384682009-05-05 Pavel Roskin <proski@gnu.org>
38469
38470 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
38471 of grub_dl_ref() and grub_dl_unref().
38472 * commands/parttool.c: Remove preprocessor conditionals around
38473 grub_dl_ref() and grub_dl_unref().
38474 * fs/affs.c: Likewise.
38475 * fs/afs.c: Likewise.
38476 * fs/cpio.c: Likewise.
38477 * fs/ext2.c: Likewise.
38478 * fs/fat.c: Likewise.
38479 * fs/hfs.c: Likewise.
38480 * fs/hfsplus.c: Likewise.
38481 * fs/iso9660.c: Likewise.
38482 * fs/jfs.c: Likewise.
38483 * fs/minix.c: Likewise.
38484 * fs/ntfs.c: Likewise.
38485 * fs/reiserfs.c: Likewise.
38486 * fs/sfs.c: Likewise.
38487 * fs/udf.c: Likewise.
38488 * fs/ufs.c: Likewise.
38489 * fs/xfs.c: Likewise.
38490 * include/grub/dl.h: Likewise.
38491 * loader/xnu.c: Likewise.
38492
de5fd76e 384932009-05-04 Pavel Roskin <proski@gnu.org>
38494
38495 * commands/acpi.c: Remove unused variable my_mod.
38496 * partmap/amiga.c: Likewise.
38497 * partmap/apple.c: Likewise.
38498 * partmap/gpt.c: Likewise.
38499 * partmap/pc.c: Likewise.
38500 * partmap/sun.c: Likewise.
38501 * term/gfxterm.c: Likewise.
38502 * term/i386/pc/vesafb.c: Likewise.
38503 * term/i386/pc/vga.c: Likewise.
38504
983598ad 385052009-05-04 David S. Miller <davem@davemloft.net>
38506
38507 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
38508 pointer args to grub_ieee1275_get_property().
38509
8aadec43 38510 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
38511
9554b15e 38512 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
38513 devices, and do not traverse down under controller nodes.
38514
67e23c90 38515 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
38516 (grub_ofdisk_open): Use it to un-escape "," characters.
38517 * kern/disk.c (find_part_sep): New.
38518 (grub_disk_open): Use it to find the first non-escaped ','
38519 character in the disk name.
38520 * util/ieee1275/devicemap.c (escape_of_path): New.
38521 (grub_util_emit_devicemap_entry): Use it.
38522 * util/sparc64/ieee1275/grub-install.in: Update script to
38523 strip partition specifiers properly by not triggering on
38524 '\' escaped ',' characters.
38525
74bfdd2f 385262009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38527
38528 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
38529 to 0x300.
38530 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
38531 resolutions.
38532 (linux_vesafb_modes): Add a lot of additional modes to the list (based
38533 on documentation from Wikipedia).
38534
4241d2b1 385352009-05-04 Pavel Roskin <proski@gnu.org>
38536
38537 * disk/ata.c: Spelling fixes.
38538 * disk/raid.c: Likewise.
38539 * disk/usbms.c: Likewise.
38540 * disk/dmraid_nvidia.c: Likewise.
38541 * kern/ieee1275/openfw.c: Likewise.
38542 * kern/ieee1275/init.c: Likewise.
38543 * kern/ieee1275/cmain.c: Likewise.
38544 * boot/i386/pc/cdboot.S: Likewise.
38545 * video/readers/png.c: Likewise.
38546 * video/i386/pc/vbe.c: Likewise.
38547 * fs/udf.c: Likewise.
38548 * fs/hfs.c: Likewise.
38549 * fs/reiserfs.c: Likewise.
38550 * efiemu/runtime/efiemu.c: Likewise.
38551 * efiemu/main.c: Likewise.
38552 * efiemu/mm.c: Likewise.
38553 * include/grub/elf.h: Likewise.
38554 * include/grub/xnu.h: Likewise.
38555 * include/grub/usbdesc.h: Likewise.
38556 * include/grub/usb.h: Likewise.
38557 * include/grub/script_sh.h: Likewise.
38558 * include/grub/lib/LzmaEnc.h: Likewise.
38559 * include/grub/efiemu/efiemu.h: Likewise.
38560 * include/grub/command.h: Likewise.
38561 * normal/menu.c: Likewise.
38562 * normal/main.c: Likewise.
38563 * normal/datetime.c: Likewise.
38564 * bus/usb/uhci.c: Likewise.
38565 * mmap/i386/uppermem.c: Likewise.
38566 * mmap/mmap.c: Likewise.
38567 * commands/acpi.c: Likewise.
38568 * commands/test.c: Likewise.
38569 * partmap/apple.c: Likewise.
38570 * font/font.c: Likewise.
38571 * loader/sparc64/ieee1275/linux.c: Likewise.
38572 * loader/macho.c: Likewise.
38573 * loader/i386/bsd_trampoline.S: Likewise.
38574 * loader/i386/bsd.c: Likewise.
38575 * loader/xnu.c: Likewise.
38576 * term/i386/pc/vesafb.c: Likewise.
38577 * term/usb_keyboard.c: Likewise.
38578 * util/resolve.c: Likewise.
38579 * util/getroot.c: Likewise.
38580
0cfc0083 385812009-05-04 Felix Zielcke <fzielcke@z-51.de>
38582
38583 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
38584
7c1d00cd 385852009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38586
38587 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
38588 build error.
38589
b01f0548 385902009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38591
38592 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
38593 parameter only available on BIOS.
38594
ecc3eb22 385952009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38596
38597 Removed wrong semicolon in declaration
38598
38599 * grub/misc.h (grub_dprintf): remove semicolon
38600
112972a9 386012009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38602
38603 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
38604 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
38605 is done by grub_cmd_linux() now).
38606 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
38607 restore video to text mode.
38608 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
38609 indicates lack of "vga=" parameter. "vga=0" is mapped to
38610 `GRUB_LINUX_VID_MODE_NORMAL'.
38611
afd5c115 386122009-05-04 Felix Zielcke <fzielcke@z-51.de>
38613
38614 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
38615 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
38616 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 38617 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 38618 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
38619 `grub_script.tab.c'.
38620
38621 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38622 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38623 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38624 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38625 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38626
faa517ce 38627 * Makefile.in: Remove duplicated 2008 in Copyright line.
38628
ae0c0bdc 386292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38630
473d1e45 38631 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 38632 unconditionally.
38633 * include/grub/util/misc.h (grub_util_warn): New declaration.
38634
38635 * util/i386/pc/grub-install.in: Understand --force and pass it down
38636 to grub-setup.
38637
38638 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
38639 down to setup().
38640 (setup): Improve error messages and add warnings when requested to
38641 install in odd layouts. Refuse to install using blocklists unless
38642 --force was set.
38643
18f547ad 386442009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 38645
38646 * disk/raid.c (grub_raid_scan_device): Improve debug message.
38647
6d260daa 386482009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38649
38650 Updated copyright year
38651
38652 * fs/hfsplus.c: updated copyright year
18f547ad 38653
69f853f8 386542009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38655
38656 HFS+ UUID
38657
18f547ad 38658 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 38659 in the space previously used by unused3
38660 (grub_hfsplus_uuid): new function
38661 (grub_hfsplus_fs): added uuid field
38662
4c402e73 386632009-05-03 Pavel Roskin <proski@gnu.org>
38664
38665 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
38666 suppress warnings. It's no longer needed.
38667 * disk/host.c: Likewise.
38668 * disk/ata_pthru.c: Likewise.
38669 * disk/loopback.c: Likewise.
38670 * hook/datehook.c: Likewise.
38671 * parttool/pcpart.c: Likewise.
38672 * fs/i386/pc/pxe.c: Likewise.
38673 * fs/ntfscomp.c: Likewise.
38674 * efiemu/main.c: Likewise.
38675 * mmap/mmap.c: Likewise.
38676 * commands/crc.c: Likewise.
38677 * commands/hexdump.c: Likewise.
38678 * commands/hdparm.c: Likewise.
38679 * commands/acpi.c: Likewise.
38680 * commands/echo.c: Likewise.
38681 * commands/minicmd.c: Likewise.
38682 * commands/blocklist.c: Likewise.
38683 * commands/memrw.c: Likewise.
38684 * commands/loadenv.c: Likewise.
38685 * commands/usbtest.c: Likewise.
38686 * commands/lsmmap.c: Likewise.
38687 * commands/boot.c: Likewise.
38688 * commands/parttool.c: Likewise.
38689 * commands/configfile.c: Likewise.
38690 * commands/search.c: Likewise.
38691 * commands/ieee1275/suspend.c: Likewise.
38692 * commands/cat.c: Likewise.
38693 * commands/i386/pc/pxecmd.c: Likewise.
38694 * commands/i386/pc/play.c: Likewise.
38695 * commands/i386/pc/halt.c: Likewise.
38696 * commands/i386/pc/vbeinfo.c: Likewise.
38697 * commands/i386/pc/vbetest.c: Likewise.
38698 * commands/lspci.c: Likewise.
38699 * commands/date.c: Likewise.
38700 * commands/handler.c: Likewise.
38701 * commands/ls.c: Likewise.
38702 * commands/test.c: Likewise.
38703 * commands/cmp.c: Likewise.
38704 * commands/efi/loadbios.c: Likewise.
38705 * commands/efi/fixvideo.c: Likewise.
38706 * commands/halt.c: Likewise.
38707 * commands/help.c: Likewise.
38708 * commands/reboot.c: Likewise.
38709 * hello/hello.c: Likewise.
38710 * script/sh/main.c: Likewise.
38711 * loader/xnu.c: Likewise.
38712 * term/terminfo.c: Likewise.
38713 * term/i386/pc/serial.c: Likewise.
38714 * term/usb_keyboard.c: Likewise.
38715
515b5079 387162009-05-03 David S. Miller <davem@davemloft.net>
38717
38718 * normal/menu.c: Include grub/parser.h
38719
dfc31a22 387202009-05-03 Pavel Roskin <proski@gnu.org>
38721
2fee74f1 38722 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
38723 not char*.
38724 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
38725 Suggested by Javier Martín <lordhabbit@gmail.com>
38726
dfc31a22 38727 * util/i386/pc/grub-mkrescue.in: Allow for the case when
38728 efiemu??.o doesn't exist.
38729 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
38730 copying.
38731
18f547ad 387322009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 38733
38734 FreeBSD 64-bit support
38735
18f547ad 38736 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 38737 and loader/i386/bsd_trampoline.S
38738 (bsd_mod_ASFLAGS): new variable
38739 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
38740 (FREEBSD_MODTYPE_KERNEL64): likewise
38741 (grub_bsd64_trampoline_start): likewise
38742 (grub_bsd64_trampoline_end): likewise
38743 (grub_bsd64_trampoline_selfjump): likewise
38744 (grub_bsd64_trampoline_gdt): likewise
38745 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
38746 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
38747 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
38748 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 38749 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 38750 of "attrib" member
38751 * loader/i386/bsd_pagetable.c: new file
38752 * loader/i386/bsd_trampoline.S: likewise
38753 * loader/i386/bsd.c (ALIGN_QWORD): new macro
38754 (ALIGN_VAR): likewise
38755 (entry_hi): new variable
38756 (kern_end_mdofs): likewise
38757 (is_64bit): likewise
38758 (grub_freebsd_add_meta): use ALIGN_VAR
38759 (grub_e820_mmap): new declaration
38760 (grub_freebsd_add_mmap): new function
38761 (grub_freebsd_add_meta_module): support 64 bit kernels
38762 (grub_freebsd_list_modules): use ALIGN_VAR
38763 (gdt_descriptor): new declaration
38764 (grub_freebsd_boot): support 64 bit kernels
38765 (grub_bsd_elf64_hook): new function
38766 (grub_bsd_load_elf): support elf64
38767
038c5720 387682009-05-03 Bean <bean123ch@gmail.com>
38769
38770 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
38771 after we get the result of if statement.
38772
fc45fb58 387732009-05-03 Bean <bean123ch@gmail.com>
38774
38775 * Makefile.in (enable_efiemu): New variable.
38776
38777 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
38778 set.
38779 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
38780 path.
38781 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
38782 path, add -mno-red-zone option.
38783 (efiemu64_s.o): Likewise.
38784 (efiemu64.o): Use macro $^ for source file.
38785
38786 * configure.ac (--enable-efiemu): New option.
38787
bbee0f2b 387882009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
38789
38790 xnu support
38791
38792 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
38793 (pkglib_MODULES): add xnu.mod
38794 (xnu_mod_SOURCES): new variable
38795 (xnu_mod_CFLAGS): likewise
38796 (xnu_mod_LDFLAGS): likewise
38797 (xnu_mod_ASFLAGS): likewise
38798 * conf/i386-pc.rmk: likewise
38799 * conf/x86_64-efi.rmk: likewise
7dd4a573 38800 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 38801 new declaration
38802 * include/grub/i386/macho.h: new file
38803 * include/grub/i386/xnu.h: likewise
38804 * include/grub/macho.h: likewise
38805 * include/grub/machoload.h: likewise
38806 * include/grub/x86_64/macho.h: likewise
38807 * include/grub/x86_64/xnu.h: likewise
38808 * include/grub/xnu.h: likewise
38809 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
38810 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
38811 * loader/i386/efi/xnu.c: new file
38812 * loader/i386/pc/xnu.c: likewise
38813 * loader/i386/xnu.c: likewise
38814 * loader/i386/xnu_helper.S: likewise
38815 * loader/macho.c: likewise
38816 * loader/xnu.c: likewise
38817 * loader/xnu_resume.c: likewise
38818 * util/grub-dumpdevtree: likewise
38819 * include/grub/i386/pit.h: include grub/err.h
38820 (grub_pit_wait): export
38821 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 38822
5caf964d 388232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38824
38825 Efiemu
7dd4a573 38826
5caf964d 38827 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 38828 _linux_efi, linux_efi.
38829 new files in grub-emu
5caf964d 38830 new targets efiemu32.o and efiemu64.o
38831 * loader/linux_normal_efiemu.c: likewise
38832 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 38833 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 38834 files to copy
38835 * include/grub/autoefi.h: new file
7dd4a573 38836 * include/grub/i386/efiemu.h: likewise
5caf964d 38837 * include/grub/i386/pc/efiemu.h: likewise
38838 * include/grub/efi/api.h: add LL suffix when necessary
38839 new definitions relating to tables
38840 * include/grub/efiemu/efiemu.h: new file
38841 * include/grub/efiemu/runtime.h: likewise
38842 * efiemu/prepare.c: likewise
38843 * efiemu/loadcore_common.c: likewise
38844 * efiemu/loadcore64.c: likewise
38845 * efiemu/runtime/efiemu.sh: likewise
38846 * efiemu/runtime/efiemu.S: likewise
38847 * efiemu/runtime/efiemu.c: likewise
38848 * efiemu/runtime/config.h: likewise
38849 * efiemu/prepare32.c: likewise
38850 * efiemu/main.c: likewise
38851 * efiemu/modules/pnvram.c: likewise
38852 * efiemu/modules/i386: likewise
38853 * efiemu/modules/i386/pc: likewise
38854 * efiemu/modules/acpi.c: likewise
38855 * efiemu/i386/pc/cfgtables.c: likewise
38856 * efiemu/i386/loadcore64.c: likewise
38857 * efiemu/i386/loadcore32.c: likewise
38858 * efiemu/prepare64.c: likewise
38859 * efiemu/loadcore.c: likewise
38860 * efiemu/symbols.c: likewise
38861 * efiemu/mm.c: likewise
38862 * efiemu/loadcore32.c: likewise
7dd4a573 38863
388642009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 38865
38866 ACPI spoofing
38867
38868 * commands/acpi.c: new file
38869 * commands/i386/pc/acpi.c: likewise
38870 * commands/efi/acpi.c: likewise
38871 * include/grub/acpi.h: likewise
38872 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
38873 (acpi_mod_SOURCES): new variable
38874 (acpi_mod_CFLAGS): likewise
38875 (acpi_mod_LDFLAGS): likewise
38876 * conf/i386-efi.rmk: likewise
38877 * conf/x86_64-efi.rmk: likewise
38878
7dd4a573 388792009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 38880
38881 Missing part from mmap patch
38882
38883 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
38884 (grub_mmap_unregister)
38885 (grub_mmap_free_and_unregister): use grub_mmap_register
38886
7dd4a573 388872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 38888
38889 Mmap services
38890
38891 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
38892 * loader/i386/linux.c (find_mmap_size): likewise
38893 (allocate_pages): likewise
38894 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
38895 (grub_fill_multiboot_mmap): likewise
38896 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
38897 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
38898 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
38899 (OPENBSD_MMAP_RESERVED): likewise
38900 * include/grub/i386/pc/memory.h: include grub/memory.h
38901 (grub_lower_mem): removed
38902 (grub_upper_mem): likewise
38903 (GRUB_MACHINE_MEMORY_ACPI): new definition
38904 (GRUB_MACHINE_MEMORY_NVS): likewise
38905 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
38906 (GRUB_MACHINE_MEMORY_HOLE): likewise
38907 (grub_machine_mmap_register): likewise
38908 (grub_machine_mmap_unregister): likewise
38909 (grub_machine_get_upper): likewise
38910 (grub_machine_get_lower): likewise
38911 (grub_machine_get_post64): likewise
38912 * include/grub/i386/efi/memory.h: new file
38913 * include/grub/x86_64/efi/memory.h: likewise
38914 * include/grub/efi/memory.h: likewise
38915 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
38916 (mmap_mod_SOURCES): new variable
38917 (mmap_mod_LDFLAGS): likewise
38918 (mmap_mod_ASFLAGS): likewise
38919 * conf/i386-coreboot.rmk: likewise
38920 * conf/i386-ieee1275.rmk: likewise
38921 * conf/i386-efi.rmk: likewise
38922 * conf/x86_64-efi.rmk: likewise
38923 * include/grub/types.h (UINT_TO_PTR): new macro
38924 (PTR_TO_UINT32): likewise
38925 (PTR_TO_UINT64): likewise
38926 * include/grub/memory.h: new file
38927 * mmap/i386/pc/mmap.c: likewise
38928 * mmap/i386/pc/mmap_helper.S: likewise
38929 * mmap/i386/uppermem.c: likewise
38930 * mmap/mmap.c: likewise
38931 * mmap/efi/mmap.c: likewise
7dd4a573 38932 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 38933 grub_upper_mem
38934 * kern/i386/pc/init.c (grub_lower_mem): removed variable
38935 (grub_upper_mem): likewise
38936 (grub_machine_init): don't use grub_upper_mem,
38937 make grub_lower_mem local
38938 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
38939 grub_mmap_iterate and grub_mmap_get_upper
38940 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
38941
d558e6b5 389422009-05-02 Bean <bean123ch@gmail.com>
38943
38944 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
38945 script/sh/parser.y.
38946 (pkglib_MODULES): Add normal.mod and sh.mod.
38947 (normal_SOURCES): New variable.
38948 (normal_mod_CFLAGS): Likewise.
38949 (normal_mod_LDFLAGS): Likewise.
38950 (sh_mod_SOURCES): Likewise.
38951 (sh_mod_CFLAGS): Likewise.
38952 (sh_mod_LDFLAGS): Likewise.
38953
38954 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
38955 script/sh/lexer.c_DEPENDENCIES.
38956 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
38957 kern/rescue_reader.c and kern/rescue_parser.c.
38958 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
38959 (grub_emu_SOURCES): Change source files.
38960 (pkglib_MODULES): Remove normal.mod.
38961 (normal_SOURCES): Removed.
38962 (normal_mod_CFLAGS): Likewise.
38963 (normal_mod_LDFLAGS): Likewise.
38964 * conf/i386-coreboot.rmk: Likewise.
38965 * conf/i386-efi.rmk: Likewise.
38966 * conf/i386-ieee1276.rmk: Likewise.
38967 * conf/powerpc-ieee1275.rmk: Likewise.
38968 * conf/sparc64-ieee1275.rmk: Likewise.
38969 * conf/x86_64-efi.rmk: Likewise.
38970
38971 * include/grub/command.h (grub_command_execute): New inline function.
38972
38973 * include/grub/menu.h (grub_menu_entry): Removed commands field.
38974
38975 * include/grub/normal.h: Remove <grub/setjmp.h>.
38976 (grub_fs_module_list): Moved to normal/autofs.c.
38977 (grub_exit_env): Removed.
38978 (grub_command_execute): Likewise.
38979 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
38980 parameter script.
38981 (read_command_list): New function declaration.
38982 (read_fs_list): Likewise.
38983
38984 * include/parser.h: Include <grub/reader.h>.
38985 (grub_parser_split_cmdline): Change type of getline parameter.
38986 (grub_parser): New structure.
38987 (grub_parser_class): New variable.
38988 (grub_parser_execute): New function declaration.
38989 (grub_register_rescue_parser): Likewise.
38990 (grub_parser_register): New inline function.
38991 (grub_parser_unregister): Likewise.
38992 (grub_parser_get_current): Likewise.
38993 (grub_parser_set_current): Likewise.
38994
38995 * include/grub/reader.h: New file.
38996 * kern/reader.c: Likewise.
38997 * kern/rescue_parser.c: Likewise.
38998 * kern/rescue_reader.c: Likewise.
38999 * normal/autofs.c: Likewise.
39000 * normal/dyncmd.c: Likewise.
39001
39002 * include/grub/rescue.h: Removed.
39003 * normal/command.h: Likewise.
39004
39005 * include/grub/script.h: Moved to ...
39006 * include/grub/script_sh.h: ... Moved here.
39007 * normal/execute.c: Moved to ...
39008 * script/sh/execute.c: ... Moved here.
39009 * normal/function.c: Moved to ...
39010 * script/sh/function.c: ... Moved here.
39011 * normal/lexer.c: Moved to ...
39012 * script/sh/lexer.c: ... Moved here.
39013 * normal/parser.y: Moved to ...
39014 * script/sh/parser.y: ... Moved here.
39015 * normal/script.c: Moved to ...
39016 * script/sh/script.c: ... Moved here.
39017
39018 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
39019 <grub/reader.h>.
39020 (grub_exit_env): Removed.
39021 (fs_module_list): Moved to normal/autofs.c.
39022 (grub_file_getline): Don't handle comment here.
39023 (free_menu): Skip removed field entry->commands.
39024 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
39025 script parameter.
39026 (read_config_file): Removed nested parameter, change getline function.
39027 (grub_enter_normal_mode): Removed.
39028 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
39029 (read_command_list): Likewise.
39030 (autoload_fs_module): Moved to normal/autofs.c.
39031 (read_fs_list): Likewise.
39032 (reader_nested): New variable.
39033 (grub_normal_execute): Run parser.sh to switch to sh parser.
39034 (grub_cmd_rescue): Removed.
39035 (cmd_normal): Removed.
39036 (grub_cmd_normal): Unregister itself at the beginning. Don't register
39037 rescue command.
39038 (grub_cmdline_run): New function.
39039 (grub_normal_reader_init): Likewise.
39040 (grub_normal_read_line): Likewise.
39041 (grub_env_write_pager): Likewise.
39042 (cmdline): New variable.
39043 (grub_normal_reader): Likewise.
39044 (GRUB_MOD_INIT): Register normal reader and set as current, register
39045 pager hook, register normal command with grub_register_command_prio,
39046 so that it won't show up in command.lst.
39047 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
39048 grub_fs_autoload_hook.
39049
39050 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
39051 (grub_menu_execute_entry): Replace grub_script_execute with
39052 grub_parser_execute, change parameter to grub_command_execute.
39053
39054 * normal/menu_text.c: Remove <grub/script.h>.
39055
39056 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
39057 and <grub/parser.h>.
39058 (run): Change editor_getline to use new parser interface. Change
39059 parameter to grub_command_execute.
39060
39061 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
39062 <grub/reader.h> and <grub/parser.h>.
39063 (grub_load_normal_mode): Execute normal command.
39064 (grub_main): Call grub_register_core_commands,
39065 grub_register_rescue_parser and grub_register_rescue_reader, use
39066 grub_reader_loop to enter input loop.
39067
7dd4a573 39068 * kern/parser.c (grub_parser_split_cmdline): Change type of
39069 getline parameter.
d558e6b5 39070 (grub_parser_class): New variable.
39071 (grub_parser_execute): New function.
39072
39073 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
39074 * loader/multiboot2.c: Likewise.
39075 * loader/sparc64/ieee1275/linux.c: Likewise.
39076
39077 * util/grub-emu.c (read_command_list): New dummy function.
39078
18db813d 390792009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39080
39081 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
39082 count to 16 for CCISS and IDA.
39083
6c67de15 390842009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39085
39086 * normal/menu_text.c (grub_wait_after_message): Print a newline
39087 after waiting for user input.
39088
39089 * loader/i386/linux.c: Include `<grub/normal.h>'.
39090 (grub_cmd_linux): Improve the error message about `ask' mode, by
39091 waiting for user input so it's not missed (we can do this, since
39092 user requested interaction).
39093
d9dc87b0 390942009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39095
39096 Added missing lst to grub-mkrescue
39097
39098 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
39099 and ${input_dir}/parttool.lst
39100
ac8a2baa 391012009-04-30 David S. Miller <davem@davemloft.net>
39102
ad22a610 39103 * util/hostdisk.c (device_is_wholedisk): New function.
39104 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
39105 zero only if device_is_wholedisk() returns true.
39106
6966215d 39107 * util/hostdisk.c (convert_system_partition_to_system_disk):
39108 Handle virtual disk devices named /dev/vdiskX as found on sparc
39109 and powerpc.
39110
ac8a2baa 39111 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
39112 lettered partition specifier is found, convert to numbered.
39113
979b4fb4 391142009-04-29 David S. Miller <davem@davemloft.net>
39115
e2bf39b2 39116 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
39117 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39118
3c64e104 39119 * normal/command.c: Add missing newline at end of file.
39120
979b4fb4 39121 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
39122 warnings.
39123 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
39124 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
39125 grub_ofdisk_read): Likewise, and deal similarly with the fact that
39126 ihandles have a 32-bit type but need to be stored in a "void *".
39127
136d9f82 391282009-04-28 Pavel Roskin <proski@gnu.org>
39129
9459c306 39130 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
39131 not disk. Adjust all dependencies.
2e08a26a 39132 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 39133 grub_disk_close().
39134
136d9f82 39135 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
39136 parent's partition, don't copy it by reference, as it gets freed
39137 on close.
39138
7dd4a573 391392009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 39140
39141 Preboot hooks support
39142
39143 * commands/boot.c (struct grub_preboot_t): new declaration
39144 (preboots_head): new variable
39145 (preboots_tail): likewise
39146 (grub_loader_register_preboot_hook): new function
39147 (grub_loader_unregister_preboot_hook): likewise
39148 (grub_loader_set): launch preboot hooks
39149 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
39150 (grub_loader_register_preboot_hook): new declaration
39151 (grub_loader_unregister_preboot_hook): likewise
39152
5af922b5 391532009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39154
39155 Warning fix
39156
7dd4a573 39157 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 39158 calling grub_dprintf
39159
a5562c30 391602009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
39161
39162 Bug and warning fixes
39163
7dd4a573 39164 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 39165 declaration
39166 * commands/test.c (test_parse): fixed bug with file tests and corrected
39167 declaration of find_file
39168
4006f85c 391692009-04-26 Pavel Roskin <proski@gnu.org>
39170
39171 * Makefile.in: Don't install empty manual pages if help2man is
39172 missing. Use help2man option for output, not shell redirection.
39173
5c77c3de 391742009-04-26 David S. Miller <davem@davemloft.net>
39175
39176 * util/grub-mkdevicemap.c (make_device_map): Add missing
39177 NESTED_FUNC_ATTR to process_device().
39178
033b10a8 391792009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39180
39181 Test command
39182
39183 * commands/test.c: rewritten to use bash-like test
39184
e4343593 391852009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39186
39187 Parttool autoloading and improvements
39188
7dd4a573 39189 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 39190 (parttool.lst): new target
39191 * genmk.rb: generate parttool-*
39192 (CLEANFILES): add #{parttool}
39193 (PARTTOOLFILES): new variable
39194 * genparttoollist.sh: new file
7dd4a573 39195 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 39196 (grub_pcpart_type): likewise
39197 * commands/parttool.c (helpmsg): new variable
39198 (grub_cmd_parttool): output help if not enough arguments are supplied
39199 autoload modules
39200 (GRUB_MOD_INIT(parttool)): use helpmsg
39201
0d312500 392022009-04-24 David S. Miller <davem@davemloft.net>
39203
7dd4a573 39204 Avoiding opening same device multiple times in device iterator.
0d312500 39205
39206 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 39207 and use it to build a list of partitions in iterate_disk() and
0d312500 39208 iterate_partition().
39209
ac20caff 39210 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
39211 on disk->data.
39212
0dcf7495 39213 * disk/ieee1275/nand.c (grub_nand_iterate): Return
39214 grub_devalias_iterate() result instead of unconditional 0.
39215 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
39216 Also, capture hook return value, either directly or via
39217 grub_children_iterate(), and propagate to caller.
39218 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
39219 grub_children_iterate): Return value is now 'int' instead of
39220 'grub_err_t'.
39221 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
39222 like a proper iterator, stopping when hooks return non-zero.
39223 (grub_devalias_iterate): Likewise.
39224
c8c08833 392252009-04-23 David S. Miller <davem@davemloft.net>
39226
39227 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
39228
f01005a8 392292009-04-22 David S. Miller <davem@davemloft.net>
39230
39231 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
39232 is larger than address_cells, use that value for address_cells too.
39233
4e8269da 39234 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
39235 IEEE1275_MAX_PATH_LEN): Define.
39236 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
39237 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
39238 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
39239 'devtype'. Explicitly NULL terminate devalias expansion.
39240
a1447506 39241 * util/sparc64/ieee1275/misc.c: New file.
39242 * util/sparc64/ieee1275/grub-setup.c: New file.
39243 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
39244 * util/sparc64/ieee1275/grub-mkimage.c: New file.
39245 * util/sparc64/ieee1275/grub-install.in: New file.
39246 * util/ieee1275/ofpath.c: New file.
39247 * util/ieee1275/devicemap.c: New file.
39248 * util/devicemap.c: New file.
39249 * util/deviceiter.c: New file.
39250 * kern/sparc64/ieee1275/init.c: New file.
39251 * include/grub/util/ofpath.h: New file.
39252 * include/grub/util/deviceiter.h: New file.
39253 * util/grub-mkdevicemap.c: Include deviceiter.h.
39254 Implement using grub_util_emit_devicemap_entry and
39255 grub_util_iterate_devices.
39256 * conf/i386-corebook.rmk: Build util/deviceiter.c and
39257 util/devicemap.c into grub-mkdevicemap
39258 * conf/i386-efi.rmk: Likewise.
39259 * conf/i386-ieee1275.rmk: Likewise.
39260 * conf/i386-pc.rmk: Likewise.
39261 * conf/powerpc-ieee1275.rmk: Likewise.
39262 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
39263 images and installation utilities. Build kernel as image
39264 instead of as elf binary. Use common rules as much as possible.
39265
7dd4a573 392662009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 39267
39268 Correct GPT definition
39269
7dd4a573 39270 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 39271 of "attrib" member
39272
c6c5219f 392732009-04-19 Felix Zielcke <fzielcke@z-51.de>
39274
39275 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
39276
0552ff9f 392772009-04-19 David S. Miller <davem@davemloft.net>
39278
39279 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
39280 (grub_rescue_cmd_linux): Rename to...
39281 (grub_cmd_linux): and fix prototype.
39282 (grub_rescue_cmd_initrd): Rename to...
39283 (grub_cmd_initrd): and fix prototype.
39284 (cmd_linux, cmd_initrd): New.
39285 (GRUB_MOD_INIT(linux)): Use grub_register_command().
39286 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
39287
d1a282fc 392882009-04-17 Pavel Roskin <proski@gnu.org>
39289
07c5039f 39290 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
39291 format.
39292 (grub_ohci_transfer): Likewise.
39293
b012002d 39294 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
39295
1bc09c35 39296 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
39297 return without a value. Fix inconsistent indentation.
39298
e0ff9126 39299 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
39300 match struct grub_fs.
39301
d1a282fc 39302 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
39303 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
39304 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
39305 * commands/lspci.c (grub_lspci_iter): Likewise.
39306
a96df3f2 393072009-04-16 Bean <bean123ch@gmail.com>
39308
39309 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
39310 value.
39311
41bb0fe9 393122009-04-15 Pavel Roskin <proski@gnu.org>
39313
39314 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
39315 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
39316 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
39317 definitions.
39318
596c6970 393192009-04-15 Felix Zielcke <fzielcke@z-51.de>
39320
39321 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 39322 that no multiple data or metadata areas are supported and `Unknown
596c6970 39323 metadata header'.
39324
7dd4a573 393252009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 39326
39327 Move loader out of the kernel
39328
39329 * kern/loader.c: moved to ...
39330 * commands/boot.c: ... moved here
39331 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
39332 * commands/boot.c (grub_cmd_boot): moved here. All users updated
39333 * include/grub/kernel.h (grub_machine_fini): export
39334 * include/grub/loader.h (grub_loader_is_loaded): update declaration
39335 (grub_loader_set): likewise
39336 (grub_loader_unset): likewise
39337 (grub_loader_boot): likewise
39338 * conf/common.rmk: new module boot.mod
39339 (pkglib_MODULES): add boot.mod
39340 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
39341 (grub_emu_SOURCES): likewise
39342 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
39343 (grub_emu_SOURCES): likewise
39344 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
39345 (grub_emu_SOURCES): likewise
39346 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
39347 (grub_emu_SOURCES): likewise
39348 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
39349 (grub_emu_SOURCES): likewise
7dd4a573 39350 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
39351 (grub_emu_SOURCES): likewise
0d5d5653 39352 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 39353 (grub_emu_SOURCES): likewise
0d5d5653 39354
7dd4a573 393552009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 39356
39357 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 39358
5999d619 39359 * kern/misc.c (grub_itoa): Removed function
39360 (grub_ltoa): likewise
39361 (grub_vsprintf): use grub_lltoa
39362
7dd4a573 393632009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 39364
39365 Restore grub-emu
39366
39367 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
39368 * conf/i386-coreboot.rmk: likewise
39369 * conf/i386-ieee1275.rmk: likewise
39370 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 39371
20318222 393722009-04-15 Felix Zielcke <fzielcke@z-51.de>
39373
39374 * INSTALL: Add that `./autogen.sh' needs to be run before
39375 `./configure.'.
39376
d05f0df3 393772009-04-14 Bean <bean123ch@gmail.com>
39378
39379 * Makefile.in (pkglib_DATA): Add handler.lst.
39380 (handler.lst): New rule.
39381
39382 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
39383 * conf/i386-coreboot.rmk: Likewise.
39384 * conf/i386-ieee1275.rmk: Likewise.
39385 * conf/i386-efi.rmk: Likewise.
39386 * conf/x86_64-efi.rmk: Likewise.
39387 * conf/powerpc-ieee1275.rmk: Likewise.
39388 * conf/sparc64-ieee1275.rmk: Likewise.
39389
39390 * genhandlerlist.sh: New file.
39391
39392 * genmk.rb: Add rules to generate handler.lst.
39393
39394 * include/grub/normal.h (grub_file_getline): New function definition.
39395 (read_handler_list): Likewise.
39396 (free_handler_list): Likewise.
39397
39398 * include/grub/term.h (grub_term_register_input): Add name parameter
39399 for auto generation of handler.lst.
39400 (grub_term_register_output): Likewise.
39401
39402 * normal/handler.c: New file.
39403
39404 * normal/main.c (get_line): Renamed to grub_file_getline.
39405 (read_config_file): Use the newly renamed grub_file_getline.
39406 (read_command_list): Likewise.
39407 (read_fs_list): Likewise.
39408 (grub_normal_execute): Call read_handler_list to parse handler.lst.
39409 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
39410
39411 * term/efi/console.c (grub_console_init): Add name parameter for auto
39412 generation of handler.lst.
39413 * term/gfxterm.c: Likewise.
39414 * term/i386/pc/at_keyboard.c: Likewise.
39415 * term/i386/pc/console.c: Likewise.
39416 * term/i386/pc/serial.c: Likewise.
39417 * term/i386/pc/vesafb.c: Likewise.
39418 * term/i386/pc/vga.c: Likewise.
39419 * term/i386/pc/vga_text.c: Likewise.
39420 * term/ieee1275/ofconsole.c: Likewise.
39421 * term/usb_keyboard.c: Likewise.
39422
33c846be 394232009-04-14 Bean <bean123ch@gmail.com>
39424
39425 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
39426 properly with null character.
39427
4484e01e 394282009-04-14 Felix Zielcke <fzielcke@z-51.de>
39429
39430 * configure: Remove.
39431 * config.h.in: Likewise.
f93d668e 39432 * stamp-h.in: Likewise.
4484e01e 39433 * DISTLIST: Likewise.
39434 * conf/common.mk: Likewise.
39435 * conf/i386-coreboot.mk: Likewise.
39436 * conf/i386-efi.mk: Likewise.
39437 * conf/i386-ieee1275.mk: Likewise.
39438 * conf/i386.mk: Likewise.
39439 * conf/i386-pc.mk: Likewise.
39440 * conf/powerpc-ieee1275.mk: Likewise.
39441 * conf/sparc64-ieee1275.mk: Likewise.
39442 * conf/x86_64-efi.mk: Likewise.
39443
39444 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
39445 develop on GRUB.
39446
7dd4a573 394472009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 39448 David S. Miller <davem@davemloft.net>
39449
39450 * util/hostdisk.c (make_device_name): Fix buffer length
39451 calculations.
39452
e25b5a8c 394532009-04-14 Felix Zielcke <fzielcke@z-51.de>
39454
39455 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
39456 <sys/param.h> and <sys/sysctl.h>.
39457 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
39458 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
39459 opening the device and reset them afterwards.
39460
1f1f580c 394612009-04-13 Pavel Roskin <proski@gnu.org>
39462
39463 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
39464 Reported by John Stanley <jpsinthemix@verizon.net>
39465
7ebc2d6b 394662009-04-13 Robert Millan <rmh@aybabtu.com>
39467
39468 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 39469 that name for menuentries when appropriate.
7ebc2d6b 39470
d8ba3667 394712009-04-13 Felix Zielcke <fzielcke@z-51.de>
39472
39473 * util/grub.d/10_freebsd.in: Add a missing `fi'.
39474
cba416eb 394752009-04-13 Robert Millan <rmh@aybabtu.com>
39476
39477 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
39478 to Linux, simply abort telling the user it's no longer supported.
39479
a547a745 394802009-04-13 Felix Zielcke <fzielcke@z-51.de>
39481
39482 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 39483 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 39484 `freebsd_loadenv' only when devices.hints exist.
39485
232a769c 394862009-04-13 Pavel Roskin <proski@gnu.org>
39487
39488 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
39489
c3012039 394902009-04-13 Felix Zielcke <fzielcke@z-51.de>
39491
39492 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
39493 partition number.
39494 (grub_drive): Likewise.
39495
234022fe 394962009-04-13 David S. Miller <davem@davemloft.net>
39497
39498 * kern/sparc64/ieee1275/ieee1275.c: New file.
39499 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
39500 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
39501 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
39502 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
39503 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
39504 grub_ieee1275_alloc_physmem): Declare new exported functions.
39505
d8e1836c 39506 * include/grub/sparc64/ieee1275/loader.h: New file.
39507 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39508 * include/grub/sparc64/kernel.h: Likewise.
39509 * loader/sparc64/ieee1275/linux.c: Likewise.
39510
96bd81ec 39511 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
39512 (grub_fstest_SOURCES): Likewise.
39513
6a4737e5 39514 * util/hostdisk.c (make_device_name): Do not make any assumptions
39515 about the length of drive names.
39516
1d7a72fd 39517 * kern/dl.c (grub_dl_load_file): Close file immediately when
39518 we are done using it.
39519
56bc2471 395202009-04-12 David S. Miller <davem@davemloft.net>
39521
39522 * kern/misc.c (grub_ltoa): Fix cast when handling negative
39523 values. Noticed by Pavel Roskin.
39524
df38d0bb 39525 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
39526 target compiler.
7dd4a573 39527
e382e93a 39528 * genmk.rb: Add more flexible image type specification, also
39529 pass --strip-unneeded to objcopy.
39530 * conf/i386-pc.rmk: Use *_FORMAT.
39531 * conf/i386-pc.mk: Rebuilt.
39532
f5dbbca9 39533 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
39534 (OFDISK_HASH_SZ): Define.
39535 (ofdisk_hash): New hash table.
39536 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
39537 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
39538 instead of device phandle which is not unique.
39539
91c88b12 39540 * kern/sparc64/ieee1275/init.c: Delete, replace with...
39541 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
39542 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
39543 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
39544 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
39545 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
39546 GRUB_KERNEL_MACHINE_DATA_END): Define.
39547 (grub_kernel_image_size, grub_total_module_size): Declare.
39548
5b5d4aa5 395492009-04-12 Pavel Roskin <proski@gnu.org>
39550
7dd4a573 39551 * configure.ac: Change the logic when we check for target tools.
39552 Do it when the target is specified and it's different from the
39553 specified value of the host.
5b5d4aa5 39554
c91e1793 395552009-04-11 Felix Zielcke <fzielcke@z-51.de>
39556
39557 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
39558 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
39559 GNU/kFreeBSD. Check if a device is a character device. Use
39560 DIOCGMEDIASIZE to get the size.
39561 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
39562 support for GNU/kFreeBSD.
39563 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
39564 is a character device instead of a block device. Add support for
39565 FreeBSD device names.
39566
39567 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
39568 is a character device instead of a block device.
39569
39570 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
39571 is a character device instead of a block device.
39572
b1ac8644 395732009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
39574
39575 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
39576 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
39577 FreeBSD. Check if a device is a character device. Use
39578 DIOCGMEDIASIZE to get the size.
39579 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
39580 support for FreeBSD.
39581 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
39582 is a character device instead of a block device. Add support for
39583 FreeBSD device names.
39584
39585 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
39586 a character device instead of a block device.
39587 (grub_util_check_char_device): New function.
39588
39589 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
39590 a character device instead of a block device.
39591
39592 * include/grub/util/getroot.h (grub_util_check_char_device): New
39593 prototype.
39594
a3f7515a 395952009-04-11 David S. Miller <davem@davemloft.net>
39596
39597 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
39598 static libgcc.
39599 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
39600 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
39601 function, if present.
39602 (__bswapdi2): Likewise.
39603
0d44993d 39604 * include/grub/sparc64/ieee1275/boot.h: New file.
39605 * boot/sparc64/ieee1275/boot.S: Likewise.
39606 * boot/sparc64/ieee1275/diskboot.S: Likewise.
39607
ed3d2bc2 39608 * kern/misc.c (grub_ltoa): New function.
39609 (grub_vsprintf): Use it to format 'long' integers.
39610
d3bfb59c 396112009-04-10 David S. Miller <davem@davemloft.net>
39612
39613 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
39614 slots are of type grub_ieee1275_cell_t.
39615 (grub_nand_read): Likewise.
39616 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
39617 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
39618 macros are used to compare values in arg/ret block of the call.
39619 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39620 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
39621 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
39622 grub_ieee1275_instance_to_path, grub_ieee1275_write,
39623 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
39624 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
39625 grub_ieee1275_close, grub_ieee1275_set_property,
39626 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
39627 grub_ieee1275_cell_t.
39628 * kern/ieee1275/openfw.c (grub_map): Likewise.
39629 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
39630 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
39631
450e2238 39632 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
39633 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
39634 (grub_devalias_iterate): Likewise.
39635
7dd4a573 396362009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 39637
39638 UFS improvements
39639
39640 * fs/ufs.c (INODE_NBLOCKS): new definition
39641 (struct grub_ufs_dirent): added fields for non-BSD dirents
39642 (grub_ufs_get_file_block): fixed double indirect handling
39643 (grub_ufs_lookup_symlink): use more robust way to determine whether
39644 symlink is inline
39645 (grub_ufs_find_file): support for non-BSD dirents
39646 (grub_ufs_dir): support for non-BSD dirents
39647
e7e6862a 396482009-04-10 Bean <bean123ch@gnail.com>
39649
39650 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
39651 attribute, otherwise the size would be wrong for i386 platform.
39652
39653 * include/grub/pci.h (grub_pci_read_word): New inline function.
39654 (grub_pci_read_byte): Likewise.
39655 (grub_pci_write): Likewise.
39656 (grub_pci_write_word): Likewise.
39657 (grub_pci_write_byte): Likewise.
39658
39659 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
39660
39661 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
39662 (find_framebuf): Scan pci to locate the frame buffer address.
39663
39664 * commands/efi/fixvideo.c: New file.
39665
39666 * commands/efi/loadbios.c: Likewise.
39667
39668 * commands/memrw.c: Likewise.
39669
39670 * util/grub-dumpbios.in: Likewise.
39671
39672 * conf/common.rmk (grub-dumpbios): New utility.
39673 (pkglib_MODULES): New module memrw.mod.
39674 (memrw_mod_SOURCE): New macro.
39675 (memrw_mod_CFLAGS): Likewise.
39676 (memrw_mod_LDFLAGS): Likewise.
39677
7dd4a573 39678 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39679 fixvideo.mod.
39680 (loadbios_mod_SOURCE): New macro.
39681 (loadbios_mod_CFLAGS): Likewise.
39682 (loadbios_mod_LDFLAGS): Likewise.
39683 (fixvideo_mod_SOURCE): Likewise.
39684 (fixvideo_mod_CFLAGS): Likewise.
39685 (fixvideo_mod_LDFLAGS): Likewise.
39686
7dd4a573 39687 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39688 fixvideo.mod.
39689 (loadbios_mod_SOURCE): New macro.
39690 (loadbios_mod_CFLAGS): Likewise.
39691 (loadbios_mod_LDFLAGS): Likewise.
39692 (fixvideo_mod_SOURCE): Likewise.
39693 (fixvideo_mod_CFLAGS): Likewise.
39694 (fixvideo_mod_LDFLAGS): Likewise.
39695
af63ada2 396962009-04-08 Felix Zielcke <fzielcke@z-51.de>
39697
39698 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
39699
c2cdde70 397002009-04-07 David S. Miller <davem@davemloft.net>
39701
39702 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
39703 support for R_SPARC_OLO10 relocations. Fix compile warning for
39704 R_SPARC_WDISP30 case.
ea3f72cf 39705 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 39706
761319cf 397072009-04-06 Pavel Roskin <proski@gnu.org>
39708
1007d1f5 39709 * include/grub/misc.h (ARRAY_SIZE): New macro.
39710 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
39711 New macro.
39712 * loader/i386/linux.c (allocate_pages): Use free_pages().
39713 (grub_linux_unload): Don't use free_pages().
39714 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
39715 wrong index. Treat all other modes as text modes.
39716 (grub_cmd_linux): Initialize vid_mode unconditionally to
39717 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
39718
761319cf 39719 * commands/help.c (print_command_help): Use cmd->prio, not
39720 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
39721
ea761d40 397222009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 39723
ea761d40 39724 Parttool
39725
39726 * parttool/pcpart.c: new file
39727 * commands/parttool.c: likewise
39728 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
39729 (parttool_mod_SOURCES): new variable
39730 (parttool_mod_CFLAGS): likewise
39731 (parttool_mod_LDFLAGS): likewise
39732 (pcpart_mod_SOURCES): likewise
39733 (pcpart_mod_CFLAGS): likewise
39734 (pcpart_mod_LDFLAGS): likewise
7dd4a573 39735 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 39736 and parttool/pcpart.c
39737 * conf/i386-efi.rmk: likewise
39738 * conf/i386-ieee1275.rmk: likewise
39739 * conf/i386-pc.rmk: likewise
39740 * conf/powerpc-ieee1275.rmk: likewise
39741 * conf/sparc64-ieee1275.rmk: likewise
39742 * conf/x86_64-ieee1275.rmk: likewise
39743
05aaebfb 397442009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39745
39746 Support for mtime and further expandability of dir command
39747
39748 * include/grub/lib/datetime.h: moved to ...
7dd4a573 39749 * include/grub/datetime.h: ... moved here and added
05aaebfb 39750 declaration of grub_unixtime2datetime. All users updated
7dd4a573 39751 * include/grub/fs.h: new syntax for dir and mtime functions in
39752 struct grub_fs
05aaebfb 39753 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
39754 and GRUB_FSHELP_FLAGS_MASK
39755 * commands/ls.c (grub_ls_list_files): Write mtime in long format
39756 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
39757 (grub_ext2_mtime): new function
39758 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
39759 (grub_hfsplus_mtime): new function
39760 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
39761 (GRUB_UFS_ATTR_FILE): likewise
39762 (GRUB_UFS_ATTR_LNK): likewise
39763 (struct grub_ufs_sblock): new fields mtime
39764 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
39765 all users updated
39766 (grub_ufs_dir): mtime support
39767 (grub_ufs_mtime): new function
39768 * fs/affs.c (grub_affs_dir): use new dir syntax
39769 * fs/afs.c (grub_afs_dir): likewise
39770 * fs/cpio.c (grub_cpio_dir): likewise
39771 * fs/fat.c (grub_fat_find_dir): likewise
39772 * fs/hfs.c (grub_hfs_dir): likewise
39773 * fs/iso9660.c (grub_iso9660_dir): likewise
39774 * fs/jfs.c (grub_jfs_dir): likewise
39775 * fs/minix.c (grub_minix_dir): likewise
39776 * fs/ntfs.c (grub_ntfs_dir): likewise
39777 * fs/reiserfs.c (grub_reiserfs_dir): likewise
39778 * fs/sfs.c (grub_sfs_dir): likewise
39779 * fs/xfs.c (grub_xfs_dir): likewise
39780 * util/hostfs.c (grub_hostfs_dir): likewise
39781 * lib/datetime.c: moved to ...
39782 * normal/datetime.c: ... moved here
39783 (grub_unixtime2datetime): new function
39784 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 39785 * normal/completion.c (iterate_dir): use new dir syntax
39786 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 39787 last modification time of a volume
7dd4a573 39788 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 39789 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 39790 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 39791 (normal_mod_SOURCES): likewise
39792 (datetime_mod_SOURCES): Removed lib/datetime.c
39793 * conf/i386-efi.rmk: likewise
7dd4a573 39794 * conf/i386-ieee1275.rmk: likewise
05aaebfb 39795 * conf/i386-pc.rmk: likewise
39796 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 39797 * conf/sparc64-ieee1275.rmk: likewise
39798 * conf/x86_64-efi.rmk: likewise
05aaebfb 39799
8a7e1a14 398002009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39801
39802 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 39803
39804 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 39805 on grub_fat_find_dir
39806 (grub_fat_find_dir): use grub_fat_iterate_dir
39807 (grub_fat_label): likewise
39808
04186a9c 398092009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
39810
7dd4a573 39811 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 39812 and command.h
39813 remove extraneous kernel_elf_HEADERS
39814
da4c0bb6 398152009-04-04 Bean <bean123ch@gnail.com>
39816
39817 * include/grub/util/misc.h: Add dummy function fsync for mingw.
39818
39819 * util/misc.c: Likewise.
39820
54ad9555 398212009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39822
39823 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
39824 instead of grub_printf.
39825
7a6bf9f2 398262009-04-03 Robert Millan <rmh@aybabtu.com>
39827
39828 * loader/i386/linux.c (grub_linux_setup_video): Fill
39829 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
39830 values from `mode info' structure instead of hardcoded
39831 values.
39832
3fcc2083 398332009-04-01 Pavel Roskin <proski@gnu.org>
39834
39835 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
39836 unused now.
39837 * genmk.rb: Likewise.
39838 * configure.ac: Likewise.
39839
5ec9740b 398402009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
39841
39842 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
39843 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
39844
5270cec8 398452009-04-01 David S. Miller <davem@davemloft.net>
39846
39847 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 39848 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 39849 (grub_setjmp): Mark with 'returns_twice' attribute.
39850 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
39851 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
39852 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
39853
9c3dd854 398542009-04-01 Robert Millan <rmh@aybabtu.com>
39855
39856 Reapply fix from 2008-07-28 which was accidentally reverted; also
39857 perform the same fix to a similar check in same function.
39858
39859 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39860 with the same number are found, just use issue a warning with
39861 grub_dprintf(), as this error has been reported to be non-fatal.
39862
0d818b7e 398632009-03-31 Pavel Roskin <proski@gnu.org>
39864
39865 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
39866 for cross-compilation.
39867
95646d92 398682009-03-30 Robert Millan <rmh@aybabtu.com>
39869
39870 Fix i386-ieee1275 build.
39871
39872 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
39873 Remove declaration.
39874
6a003ed1 398752009-03-30 Pavel Roskin <proski@gnu.org>
39876
39877 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
39878 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
39879 zero-terminated, rely only on the strlen value. Fix comparison
39880 of strings differing in length.
39881
92f33540 398822009-03-30 Robert Millan <rmh@aybabtu.com>
39883
39884 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
39885 checking for abi version. Improve error messages on BIOS to notify
39886 user about `linux16' command.
39887
a8c48fd5 398882009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
39889
f968172e 39890 Leak fixes
a8c48fd5 39891
f968172e 39892 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
39893 in case of collision
39894 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 39895
9c323f09 398962009-03-29 Robert Millan <rmh@aybabtu.com>
39897
39898 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
39899 set `vid_mode' accordingly.
39900 (grub_linux_boot): Process `vid_mode' and set video mode.
39901
ae68f423 399022009-03-29 Robert Millan <rmh@aybabtu.com>
39903
39904 * util/grub.d/10_linux.in (linux_entry): New function.
39905 Factorize generation of Linux boot entries.
39906
5709cfc4 399072009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
39908
39909 Make the format of Environment Block plain text. The boot loader
39910 part is not tested well yet.
7dd4a573 39911
5709cfc4 39912 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
39913 (buffer): Removed.
39914 (envblk): Likewise.
39915 (usage): Remove "info" and "clear". Add "unset". Update the
39916 description of "set", as this does not delete variables any
39917 longer.
39918 (create_envblk_file): Complete rewrite.
39919 (open_envblk_file): Likewise.
39920 (cmd_info): Removed.
39921 (cmd_list): Likewise.
39922 (cmd_set): Likewise.
39923 (cmd_clear): Likewise.
39924 (list_variables): New function.
39925 (write_envblk): Likewise.
39926 (set_variables): Likewise.
39927 (unset_variables): Likewise.
39928 (main): Complete rewrite.
39929
39930 * commands/loadenv.c (buffer): Removed.
39931 (envblk): Likewise.
39932 (open_envblk_file): New function.
39933 (read_envblk_file): Complete rewrite.
39934 (grub_cmd_load_env): Likewise.
39935 (grub_cmd_list_env): Likewise.
39936 (struct blocklist): New struct.
39937 (free_blocklists): New function.
39938 (check_blocklists): Likewise.
39939 (write_blocklists): Likewise.
39940 (grub_cmd_save_env): Complete rewrite.
39941
39942 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
39943 a plain text signature.
39944 (GRUB_ENVBLK_MAXLEN): Removed.
39945 (struct grub_envblk): Complete rewrite.
39946 (grub_envblk_find): Removed.
39947 (grub_envblk_insert): Likewise.
39948 (grub_envblk_open): New prototype.
39949 (grub_envblk_set): Likewise.
39950 (grub_envblk_delete): Put const to VALUE.
39951 (grub_envblk_iterate): Put const to NAME and VALUE.
39952 (grub_envblk_close): New prototype.
39953 (grub_envblk_buffer): New inline function.
39954 (grub_envblk_size): Likewise.
39955
39956 * lib/envblk.c: Include grub/mm.h.
39957 (grub_env_find): Removed.
39958 (grub_envblk_open): New function.
39959 (grub_envblk_close): Likewise.
39960 (escaped_value_len): Likewise.
39961 (find_next_line): Likewise.
39962 (grub_envblk_insert): Removed.
39963 (grub_envblk_set): New function.
39964 (grub_envblk_delete): Complete rewrite.
39965 (grub_envblk_iterate): Likewise.
39966
a9368fd3 399672009-03-28 Robert Millan <rmh@aybabtu.com>
39968
39969 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
39970 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
39971 variables. Use 16-bit loader.
39972 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
39973 loader.
39974 * kern/i386/loader.S (grub_linux_boot): Rename to ...
39975 (grub_linux16_boot): ... this. Update all users.
39976 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
39977 (grub_linux_boot): ... this. Update all users.
39978
39979 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
39980 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
39981 commands to `linux16' and `initrd16'.
39982 (GRUB_MOD_FINI(linux)): Rename to ...
39983 (GRUB_MOD_FINI(linux16)): ... this.
39984
e4dd5a7e 399852009-03-24 Pavel Roskin <proski@gnu.org>
39986
39987 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
39988 not just for compilation.
39989
c04d6e05 399902009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
39991
39992 Move multiboot helper out of kernel
39993
39994 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
39995 `loader/i386/multiboot_helper.S'.
39996 * conf/i386-coreboot.rmk: Likewise
39997 * conf/i386-ieee1275.rmk: Likewise
39998
39999 * kern/i386/loader.S: Move multiboot helpers from here...
40000 * loader/i386/multiboot_helper.S: ...moved here
40001 * include/grub/i386/loader.h: Move declarations of multiboot
40002 helpers from here...
40003 * include/grub/i386/multiboot.h: ...moved here
40004 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
40005
42a5b3fc 400062009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40007
40008 * kern/env.c (grub_env_context_open): Added an argument to specify
40009 whether a new context inherits exported variables from current
40010 one. This is useful when making a sandbox to interpret a config
40011 file.
40012 All callers updated.
40013
40014 * include/grub/env.h (grub_env_context_open): Updated the prototype.
40015
b28bbc4e 400162009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40017
40018 * kern/env.c (grub_env_context_close): Fix memory leaks.
40019
f04f02e4 400202009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40021
40022 * normal/main.c (grub_normal_execute): Added an argument
40023 BATCH to specify if an interactive interface should be provided
40024 after reading a config file.
40025 All callers updated.
40026 (read_command_list): Prevent being executed twice.
40027 (read_fs_list): Likewise.
40028
42a5b3fc 40029 * include/grub/normal.h (grub_normal_execute): Updated the
40030 prototype.
f04f02e4 40031
41473ac2 400322009-03-22 Pavel Roskin <proski@gno.org>
40033
fbc00b0c 40034 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
40035 _start.
40036 * kern/i386/pc/startup.S: Likewise.
40037 * kern/i386/efi/startup.S: Likewise.
40038 * kern/i386/ieee1275/startup.S: Likewise.
40039 * kern/i386/coreboot/startup.S: Likewise.
40040 * kern/x86_64/efi/startup.S: Likewise.
40041
41473ac2 40042 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
40043 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
40044 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
40045
2274cc8f 400462009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
40047
40048 Bugfixes in multiboot for bugs uncovered by solaris kernel.
40049
40050 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
40051 limit detection.
40052 Use vaddr of correct segment for entry_point.
40053
b1b797cb 400542009-03-21 Bean <bean123ch@gmail.com>
40055
40056 * commands/blocklist.c: Add include file <grub/command.h>, remove
40057 <grub/normal.h> and <grub/arg.h>.
40058 (grub_cmd_blocklist): Use the new command interface.
40059 (GRUB_MOD_INIT): Likewise.
40060 (GRUB_MOD_FINI): Likewise.
40061 * commands/boot.c: Likewise.
40062 * commands/cat.c: Likewise.
40063 * commands/cmp.c: Likewise.
40064 * commands/configfile.c: Likewise.
40065 * commands/crc.c: Likewise.
40066 * commands/echo.c: Likewise.
40067 * commands/halt.c: Likewise.
40068 * commands/handler.c: Likewise.
40069 * commands/hdparm.c: Likewise.
40070 * commands/help.c: Likewise.
40071 * commands/hexdump.c: Likewise.
40072 * commands/loadenv.c: Likewise.
40073 * commands/ls.c: Likewise.
40074 * commands/lsmmap.c: Likewise.
40075 * commands/lspci.c: Likewise.
40076 * commands/loadenv.c: Likewise.
40077 * commands/read.c: Likewise.
40078 * commands/reboot.c: Likewise.
40079 * commands/search.c: Likewise.
40080 * commands/sleep.c: Likewise.
40081 * commands/test.c: Likewise.
40082 * commands/usbtest.c: Likewise.
40083 * commands/videotest.c: Likewise.
40084 * commands/i386/cpuid.c: Likewise.
40085 * commands/i386/pc/halt.c: Likewise.
40086 * commands/i386/pc/play.c: Likewise.
40087 * commands/i386/pc/pxecmd.c: Likewise.
40088 * commands/i386/pc/vbeinfo.c: Likewise.
40089 * commands/i386/pc/vbetest.c: Likewise.
40090 * commands/ieee1275/suspend.c: Likewise.
40091 * disk/loopback.c: Likewise.
40092 * font/font_cmd.c: Likewise.
40093 * hello/hello.c: Likewise.
40094 * loader/efi/appleloader.c: Likewise.
40095 * loader/efi/chainloader.c: Likewise.
40096 * loader/i386/bsd.c: Likewise.
40097 * loader/i386/efi/linux.c: Likewise.
40098 * loader/i386/ieee1275/linux.c: Likewise.
40099 * loader/i386/linux.c: Likewise.
40100 * loader/i386/pc/chainloader.c: Likewise.
40101 * loader/i386/pc/linux.c: Likewise.
40102 * loader/powerpc/ieee1275/linux.c: Likewise.
40103 * loader/multiboot_loader.c: Likewise.
40104 * term/gfxterm.c: Likewise.
40105 * term/i386/pc/serial.c: Likewise.
40106 * term/terminfo.c: Likewise.
40107
40108 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
40109 * term/i386/pc/vga.c: Likewise.
40110 * video/readers/jpeg.c: Likewise.
40111 * video/readers/png.c: Likewise.
40112 * video/readers/tga.c: Likewise.
40113
40114 * util/grub-fstest (cmd_loopback): Removed.
40115 (cmd_blocklist): Likewise.
40116 (cmd_ls): Likewise.
40117 (grub_register_command): Likewise.
40118 (grub_unregister_command): Likewise.
40119 (execute_command): Use grub_command_find to locate command and execute
40120 it.
40121
40122 * include/grub/efi/chainloader.h: Removed.
40123 * loader/efi/chainloader_normal.c: Likewise.
40124 * loader/i386/bsd_normal.c: Likewise.
40125 * loader/i386/pc/chainloader_normal.c: Likewise.
40126 * loader/i386/pc/multiboot_normal.c: Likewise.
40127 * loader/linux_normal.c: Likewise.
40128 * loader/multiboot_loader_normal.c: Likewise.
40129 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40130
40131 * gencmdlist.sh: Scan new registration command grub_register_extcmd
40132 and grub_register_command_p1.
40133
40134 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
40135 kern/command.c, lib/arg.c and commands/extcmd.c.
40136 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
40137 (minicmd_mod_SOURCES): New variable.
40138 (minicmd_mod_CFLAGS): Likewise.
40139 (minicmd_mod_LDFLAGS): Likewise.
40140 (extcmd_mod_SOURCES): Likewise.
40141 (extcmd_mod_CFLAGS): Likewise.
40142 (extcmd_mod_LDFLAGS): Likewise.
40143 (boot_mod_SOURCES): Removed.
40144 (boot_mod_CFLAGS): Likewise.
40145 (boot_mod_LDFLAGS): Likewise.
40146
40147 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
40148 kern/corecmd.c.
40149 (kernel_img_HEADERS): Add command.h.
40150 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
40151 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
40152 and lib/arg.c.
40153 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
40154 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
40155 remove the corresponding normal mode command.
40156 (normal_mod_SOURCES): Remove normal/arg.c.
40157 * conf/i386-coreboot.rmk: Likewise.
40158 * conf/i386-efi.rmk: Likewise.
40159 * conf/i386-ieee1275.rmk: Likewise.
40160 * conf/powerpc-ieee1275.rmk: Likewise.
40161 * conf/x86_64-efi.rmk: Likewise.
40162
40163 * include/grub/arg.h: Move from here ...
40164 * include/grub/lib/arg.h: ... to here.
40165
40166 * normal/arg.c: Move from here ...
40167 * lib/arg.c: ... to here.
40168
40169 * commands/extcmd.c: New file.
40170 * commands/minicmd.c: Likewise.
40171 * include/grub/command.h: Likewise.
40172 * include/grub/extcmd.h: Likewise.
40173 * kern/command.c: Likewise.
40174 * kern/corecmd.c: Likewise.
40175
40176 * kern/list.c (grub_list_iterate): Return int instead of void.
40177 (grub_list_insert): New function.
40178 (grub_prio_list_insert): Likewise.
40179
40180 * kern/rescue.c (grub_rescue_command): Removed.
40181 (grub_rescue_command_list): Likewise.
40182 (grub_rescue_register_command): Likewise.
40183 (grub_rescue_unregister_command): Likewise.
40184 (grub_rescue_cmd_boot): Move to minicmd.c
40185 (grub_rescue_cmd_help): Likewise.
40186 (grub_rescue_cmd_info): Likewise.
40187 (grub_rescue_cmd_boot): Likewise.
40188 (grub_rescue_cmd_testload): Likewise.
40189 (grub_rescue_cmd_dump): Likewise.
40190 (grub_rescue_cmd_rmmod): Likewise.
40191 (grub_rescue_cmd_lsmod): Likewise.
40192 (grub_rescue_cmd_exit): Likewise.
40193 (grub_rescue_print_devices): Moved to corecmd.c.
40194 (grub_rescue_print_files): Likewise.
40195 (grub_rescue_cmd_ls): Likewise.
40196 (grub_rescue_cmd_insmod): Likewise.
40197 (grub_rescue_cmd_set): Likewise.
40198 (grub_rescue_cmd_unset): Likewise.
7d074e3c 40199 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 40200 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 40201 commands, remove grub_rescue_register_command calls.
b1b797cb 40202
7d074e3c 40203 * normal/command.c (grub_register_command): Removed.
b1b797cb 40204 (grub_unregister_command): Likewise.
40205 (grub_command_find): Likewise.
40206 (grub_iterate_commands): Likewise.
40207 (rescue_command): Likewise.
40208 (export_command): Moved to corecmd.c.
40209 (set_command): Removed.
40210 (unset_command): Likewise.
40211 (insmod_command): Likewise.
40212 (rmmod_command): Likewise.
40213 (lsmod_command): Likewise.
40214 (grub_command_init): Likewise.
40215
40216 * normal/completion.c (iterate_command): Use cmd->prio to check for
40217 active command.
40218 (complete_arguments): Use grub_extcmd_t structure to find options.
40219 (grub_normal_do_completion): Change function grub_iterate_commands to
40220 grub_command_iterate.
40221
40222 * normal/execute.c (grub_script_execute_cmd): No need to parse
40223 argument here.
40224
40225 * normal/main.c (grub_dyncmd_dispatcher): New function.
40226 (read_command_list): Register unload commands as dyncmd.
40227 (grub_cmd_normal): Use new command interface, register rescue,
40228 unregister normal at entry, register normal, unregister rescue at exit.
40229
40230 * include/grub/list.h (grub_list_test_t): New type.
40231 (grub_list_iterate): Return int instead of void.
40232 (grub_list_insert): New function.
40233 (GRUB_AS_NAMED_LIST_P): New macro.
40234 (GRUB_AS_PRIO_LIST): Likewise.
40235 (GRUB_AS_PRIO_LIST_P): Likewise.
40236 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
40237 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
40238 (grub_prio_list): New structure.
40239 (grub_prio_list_insert): New function.
40240 (grub_prio_list_remove): New inline function.
40241
40242 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
40243 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
40244 (GRUB_COMMAND_FLAG_MENU): Likewise.
40245 (GRUB_COMMAND_FLAG_BOTH): Likewise.
40246 (GRUB_COMMAND_FLAG_TITLE): Likewise.
40247 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
40248 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
40249 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
40250 (grub_command): Likewise.
40251 (grub_register_command): Likewise.
40252 (grub_command_find): Likewise.
40253 (grub_iterate_commands): Likewise.
40254 (grub_command_init): Likewise.
40255 (grub_arg_parse): Likewise.
40256 (grub_arg_show_help): Likewise.
40257
40258 * include/grub/rescue.h (grub_rescue_register_command): Removed.
40259 (grub_rescue_unregister_command): Likewise.
40260
40261 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
40262 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
40263 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
40264
40265 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
40266 grub_rescue_cmd_initrd.
40267 * include/grub/i386/loader.h: Likewise.
40268 * include/grub/x86_64/loader.h: Likewise.
40269
40270 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
40271
1f4147aa 402722009-03-21 Bean <bean123ch@gmail.com>
40273
40274 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
40275 instead of stat in mingw environment.
40276
40277 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
40278
40279 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
40280
40281 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
40282 AC_CONFIG_LINKS.
40283
2156d5ba 402842009-03-21 Bean <bean123ch@gmail.com>
40285
40286 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
40287 out of range error.
40288
177b82ca 402892009-03-18 Michel Dänzer <michel@daenzer.net>
40290
40291 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
40292 checking inode flags for EXT4_EXTENTS_FLAG.
40293
14aad807 402942009-03-18 Robert Millan <rmh@aybabtu.com>
40295
40296 * loader/i386/linux.c: Include `<grub/video.h>' and
40297 `<grub/i386/pc/vbe.h>'..
40298 (grub_linux_setup_video): New function. Loosely based on the EFI one.
40299 (grub_linux32_boot): Attempt to configure video settings with
40300 grub_linux_setup_video().
40301 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
40302 to avoid grub_console_fini() which would step out of graphical mode
40303 unconditionally.
40304
8cf83a27 403052009-03-14 Robert Millan <rmh@aybabtu.com>
40306
40307 Fix build on powerpc.
40308 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
40309
40164e75 403102009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
40311
40312 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
40313 background image command.
40314
c58bc32a 403152009-03-12 Colin D Bennett <colin@gibibit.com>
40316
40317 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
40318 (grub_gfxterm_putchar): Extract pairs of identical calls to
40319 draw_cursor out of conditional blocks.
40320
5415144a 403212009-03-11 Pavel Roskin <proski@gnu.org>
40322
40323 * fs/hfs.c (grub_hfs_strncasecmp): New function.
40324 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
40325
6394042e 403262009-03-11 Robert Millan <rmh@aybabtu.com>
40327
40328 * loader/i386/multiboot_elfxx.c
40329 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
40330
b7b50e5f 403312009-03-11 Felix Zielcke <fzielcke@z-51.de>
40332
40333 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
40334 `kern/handler.c'.
40335
1ca7fc96 403362009-03-11 Robert Millan <rmh@aybabtu.com>
40337
40338 * loader/i386/multiboot.c (code_size): New variable.
40339 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 40340 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 40341 4-byte alignment to MBI and others by increasing
7d074e3c 40342 `boot_loader_name_length' appropriately.
1ca7fc96 40343
40344 * loader/i386/multiboot_elfxx.c
40345 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
40346
a83ea1d2 403472009-03-09 Felix Zielcke <fzielcke@z-51.de>
40348
40349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
40350 `fs/ext2.c'.
40351
aa9f3bff 403522009-03-08 Robert Millan <rmh@aybabtu.com>
40353
40354 Make loader/i386/linux.c usable on i386-pc again.
40355
40356 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
40357 memory to heap.
40358 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
40359 `#error' stanza.
40360
d8b3b60e 403612009-03-07 Bean <bean123ch@gmail.com>
40362
40363 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
40364 allocation.
40365
b362c9e9 403662009-03-06 Robert Millan <rmh@aybabtu.com>
40367
40368 Fix display issue on terminals with screen size other than 80x25
40369 (e.g. gfxterm with resolution higher than 640x480).
40370
40371 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 40372 position relative to the center of the terminal instead of relying
b362c9e9 40373 on a hardcoded offset.
40374
9304eef1 403752009-03-04 Robert Millan <rmh@aybabtu.com>
40376
40377 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
40378 installed.
40379
40380 * Makefile.in (host_kernel): New variable.
40381 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
40382 scripts instead of just the windows one.
40383 * configure.ac: Initialize and AC_SUBST `host_kernel'.
40384
eabc95fb 403852009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 40386
40387 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
40388 `kern/handler.c'.
40389 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40390 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40391 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40393 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40394 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40395
ceb1223c 403962009-03-04 Felix Zielcke <fzielcke@z-51.de>
40397
40398 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
40399 or if there's no space for the disk label and print the partition number on a
40400 invalid magic.
40401
4910684a 404022009-03-04 Felix Zielcke <fzielcke@z-51.de>
40403
40404 * util/misc.c: Include <time.h>.
40405 (grub_millisleep): New function.
40406
7e9ca17a 404072009-03-04 Bean <bean123ch@gmail.com>
40408
40409 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
40410 another option -mno-red-zone.
40411
40412 * commands/handler.c: Change module description.
40413
40414 * kern/handler.c: Add missing space at the end of description line.
40415
40416 * kern/list.c: Likewise.
40417
f501677c 404182009-03-03 Robert Millan <rmh@aybabtu.com>
40419
40420 Move more components to the relocation area, and fix mbi pointer
40421 handling to use the destination rather than the origin (thanks to
40422 Vladimir Serbinenko for spotting).
40423
40424 * loader/i386/multiboot.c (mbi_dest): New variable.
40425 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
40426 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
40427 relocation area.
40428
9902d047 404292009-03-01 Bean <bean123ch@gmail.com>
40430
50fb7002 40431 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 40432 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
40433 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
40434 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
40435
40436 * loader/i386/efi/linux.c (acpi_guid): New variable.
40437 (acpi_guid): Likewise.
40438 (EBDA_SEG_ADDR): New constant.
40439 (LOW_MEM_ADDR): Likewise.
40440 (FAKE_EBDA_SEG): Likewise.
40441 (fake_bios_data): New function.
40442 (grub_linux_boot): Call fake_bios_data.
40443
71b9f361 404442009-03-01 Bean <bean123ch@gmail.com>
40445
40446 * commands/terminal.c: Removed.
40447
40448 * commands/handler.c: New file.
40449
40450 * include/grub/list.h: Likewise.
40451
40452 * include/grub/handler.h: Likewise.
40453
40454 * kern/list.c: Likewise.
40455
40456 * kern/handler.c: Likewise.
40457
40458 * kern/term.h: Include header file <grub/handler.h>.
40459 (grub_term_input): Move next field to the beginning.
40460 (grub_term_output): Likewise.
40461 (grub_term_input_class): New variable.
40462 (grub_term_output_class): Likewise.
40463 (grub_term_register_input): Changed to inline function.
40464 (grub_term_register_output): Likewise.
40465 (grub_term_unregister_input): Likewise.
40466 (grub_term_unregister_output): Likewise.
40467 (grub_term_set_current_input): Likewise.
40468 (grub_term_set_current_output): Likewise.
40469 (grub_term_get_current_input): Likewise.
40470 (grub_term_get_current_output): Likewise.
40471 (grub_term_iterate_input): Removed.
40472 (grub_term_iterate_output): Likewise.
40473
40474 * kern/term.c (grub_term_list_input): Removed.
40475 (grub_term_list_output): Likewise.
40476 (grub_term_input_class): New variable.
40477 (grub_term_output_class): Likewise.
50fb7002 40478 (grub_cur_term_input): Change variable as macro.
71b9f361 40479 (grub_cur_term_output): Likewise.
40480 (grub_term_register_input): Removed.
40481 (grub_term_register_output): Likewise.
40482 (grub_term_unregister_input): Likewise.
40483 (grub_term_unregister_output): Likewise.
40484 (grub_term_set_current_input): Likewise.
40485 (grub_term_set_current_output): Likewise.
40486 (grub_term_iterate_input): Likewise.
40487 (grub_term_iterate_output): Likewise.
40488 (grub_term_get_current_input): Likewise.
40489 (grub_term_get_current_output): Likewise.
40490
40491 * util/grub-editenv.c: Include header file <grub/handler.h>.
40492 (grub_term_get_current_input): Removed.
40493 (grub_term_get_current_output): Likewise.
40494 (grub_term_input_class): New variable.
50fb7002 40495 (grub_term_output_class): Likewise.
71b9f361 40496
40497 * util/grub-fstest.c (grub_term_get_current_input): Removed.
40498 (grub_term_get_current_output): Likewise.
40499 (grub_term_input_class): New variable.
50fb7002 40500 (grub_term_output_class): Likewise.
71b9f361 40501
40502 * util/grub-probe.c (grub_term_get_current_input): Removed.
40503 (grub_term_get_current_output): Likewise.
40504 (grub_term_input_class): New variable.
50fb7002 40505 (grub_term_output_class): Likewise.
71b9f361 40506
40507 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
40508 (grub_term_get_current_output): Likewise.
40509 (grub_term_input_class): New variable.
50fb7002 40510 (grub_term_output_class): Likewise.
71b9f361 40511
40512 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
40513 (terminal_mod_SOURCES): Likewise.
40514 (terminal_mod_CFLAGS): Likewise.
40515 (terminal_mod_LDFLAGS): Likewise.
40516
40517 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
40518 handler.c.
40519 (kernel_img_SOURCES): Add list.c and handler.c.
40520 (kernel_img_HEADERS): Add list.h and handler.h.
40521
40522 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40523 handler.c.
40524 (kernel_mod_SOURCES): Add list.c and handler.c.
40525 (kernel_mod_HEADERS): Add list.h and handler.h.
40526
40527 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
40528 handler.c.
40529 (kernel_elf_SOURCES): Add list.c and handler.c.
40530 (kernel_elf_HEADERS): Add list.h and handler.h.
40531
40532 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40533 handler.c.
40534 (kernel_elf_SOURCES): Add list.c and handler.c.
40535 (kernel_elf_HEADERS): Add list.h and handler.h.
40536
40537 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40538 handler.c.
40539 (kernel_mod_SOURCES): Add list.c and handler.c.
40540 (kernel_mod_HEADERS): Add list.h and handler.h.
40541
40542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40543 handler.c.
40544 (kernel_elf_SOURCES): Add list.c and handler.c.
40545 (kernel_elf_HEADERS): Add list.h and handler.h.
40546
8a31787f 405472009-02-27 Robert Millan <rmh@aybabtu.com>
40548
40549 Factorize elf32 / elf64 code in Multiboot loader. This will
40550 prevent it from getting out of sync again.
40551
40552 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
40553 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
40554 grub_multiboot_load_elf64): Move from here ...
40555 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
40556 grub_multiboot_load_elf): ... to here (new file).
40557
51cd3dfc 405582009-02-27 Robert Millan <rmh@aybabtu.com>
40559
40560 * util/grub.d/10_linux.in: Rename "single-user mode" to
40561 "recovery mode".
40562
6e8c9c3a 405632009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
40564
40565 Don't leak in SCSI code.
40566 * disk/scsi.c (grub_scsi_close): free `scsi'.
40567
4b6bf4f9 405682009-02-27 Robert Millan <rmh@aybabtu.com>
40569
40570 * loader/i386/pc/multiboot.c: Move from here ...
40571 * loader/i386/multiboot.c: ... to here. Update all users.
40572
b9413424 405732009-02-27 Robert Millan <rmh@aybabtu.com>
40574
40575 Patch from Alexandre Bique <bique.alexandre@gmail.com>
40576 * util/i386/pc/grub-setup.c (setup): Fix directory path.
40577
50fb7002 405782009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 40579
40580 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
40581 b-tree.
40582
8cc50345 405832009-02-27 Robert Millan <rmh@aybabtu.com>
40584
40585 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
40586 `0x' qualifier as 0 when base is specified as parameter).
40587
6e09b8b7 405882009-02-24 Bean <bean123ch@gmail.com>
40589
40590 * configure.ac: Check for -mcmodel=large in x86_64 target.
40591
40592 * include/grub/efi/api.h (efi_call_10): New macro.
40593 (efi_wrap_10): New function.
40594
40595 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
40596 (GRUB_PE32_REL_BASED_HIGH): Likewise.
40597 (GRUB_PE32_REL_BASED_LOW): Likewise.
40598 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
40599 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
40600 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
40601 (GRUB_PE32_REL_BASED_SECTION): Likewise.
40602 (GRUB_PE32_REL_BASED_REL): Likewise.
40603 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
40604 (GRUB_PE32_REL_BASED_DIR64): Likewise.
40605 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
40606
40607 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
40608 issue.
40609
40610 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
40611 (efi_wrap_10): New function.
40612
40613 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
40614
40615 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
40616 MB/MBP model (NV chipset).
40617 (devdata_devs): Add devpath_5 to the list.
40618
40619 * load/i386/efi/linux.c (video_base): Remove variable.
40620 (RGB_MASK): New macro.
40621 (RGB_MAGIC): Likewise.
40622 (LINE_MIN): Likewise.
40623 (LINE_MAX): Likewise.
40624 (FBTEST_STEP): Likewise.
40625 (FBTEST_COUNT): Likewise.
40626 (fb_list): New variable.
40627 (grub_find_video_card): Remove function.
40628 (find_framebuf): New function.
40629 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
40630 line length.
40631
40632 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
40633 problem for x86_64.
40634
74b21bee 406352009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
40636
40637 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
40638
40639 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
40640 coding tool name.
40641
a455f472 406422009-02-22 Robert Millan <rmh@aybabtu.com>
40643
40644 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
40645 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
40646 in our relocation, instead of using it directly from heap. Also
40647 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
40648
6374daf3 406492009-02-21 Robert Millan <rmh@aybabtu.com>
40650
40651 Implement USB keyboard support (based on patch by Marco Gerards)
40652
40653 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
40654 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
40655 (usb_keyboard_mod_LDFLAGS): New variables.
40656
40657 * term/usb_keyboard.c: New file.
40658
8fa4ea70 406592009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
40660
40661 Corrected wrong declaration
40662
40663 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
40664
353976ac 406652009-02-14 Christian Franke <franke@computer.org>
40666
40667 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
40668 (grub_lspci_iter): Print class code and programming interface byte.
40669
6aa1169b 406702009-02-14 Christian Franke <franke@computer.org>
40671
40672 * gendistlist.sh: Ignore `.svn' directories.
40673
265372ca 406742009-02-14 Felix Zielcke <fzielcke@z-51.de>
40675
40676 * fs/fat.c: Add 2009 to Copyright line.
40677
9ff516f3 406782009-02-14 Christian Franke <franke@computer.org>
40679
40680 * commands/hdparm.c: New file. Provides `hdparm' command
40681 which sends ATA commands via grub_disk_ata_pass_through ().
40682
40683 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
40684
40685 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
40686 and <grub/cpu/io.h> to include/grub/ata.h.
40687 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
40688 (GRUB_CDROM_SECTOR_SIZE): Remove.
40689 (GRUB_ATA_*): Move to include/grub/ata.h.
40690 (GRUB_ATAPI_*): Likewise.
40691 (enum grub_ata_commands): Likewise.
40692 (enum grub_ata_timeout_milliseconds): Likewise.
40693 (struct grub_ata_device): Likewise.
40694 (grub_ata_regset): Likewise.
40695 (grub_ata_regget): Likewise.
40696 (grub_ata_regset2): Likewise.
40697 (grub_ata_regget2): Likewise.
40698 (grub_ata_check_ready): Likewise.
40699 (grub_ata_wait_not_busy): Remove static, exported in
40700 include/grub/ata.h.
40701 (grub_ata_wait_drq): Likewise.
40702 (grub_ata_pio_read): Likewise.
40703
40704 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
40705 function for hdparm.mod.
40706
40707 * include/grub/ata.h: New file, contains declarations from
40708 disk/ata.c.
40709 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
40710
40711 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
40712 (grub_disk_ata_pass_through): New exported variable.
40713
40714 * kern/disk.c (grub_disk_ata_pass_through): New variable.
40715
772e23da 407162009-02-13 Colin D Bennett <colin@gibibit.com>
40717
40718 Support multiple fallback entries, and provide an API to support
40719 executing default+fallback menu entries. Renamed the `terminal' menu
40720 viewer to `text'.
40721
40722 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
40723 variable declaration.
40724 (grub_menu_execute_callback): New structure declaration.
40725 (grub_menu_execute_callback_t): New typedef.
40726 (grub_menu_execute_with_fallback): New function declaration.
40727 (grub_menu_get_entry): Likewise.
40728 (grub_menu_get_timeout): Likewise.
40729 (grub_menu_set_timeout): Likewise.
40730
40731 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
40732
40733 * normal/menu.c (grub_wait_after_message): Moved to
40734 `normal/menu_text.c'.
40735 (draw_border): Likewise.
40736 (print_message): Likewise.
40737 (print_entry): Likewise.
40738 (print_entries): Likewise.
40739 (grub_menu_init_page): Likewise.
40740 (get_entry_number): Likewise.
40741 (print_timeout): Likewise.
40742 (run_menu): Likewise.
40743 (grub_menu_execute_entry): Likewise.
40744 (show_text_menu): Likewise.
40745 (get_and_remove_first_entry_number): New function.
40746 (grub_menu_execute_with_fallback): Likewise.
40747 (get_entry): Renamed to ...
40748 (grub_menu_get_entry): .. this and made it global.
40749 (get_timeout): Renamed to ...
40750 (grub_menu_get_timeout): ... this and made it global.
40751 (set_timeout): Renamed to ...
40752 (grub_menu_set_timeout): ... this and made it global.
40753 (grub_normal_terminal_menu_viewer): Renamed to ...
40754 (grub_normal_text_menu_viewer): ... this.
40755
40756 * normal/menu_text.c: New file. Extracted text-menu-specific code
40757 from normal/menu.c.
40758
40759 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
40760 (normal_mod_SOURCES): Likewise.
40761
40762 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40763 (normal_mod_SOURCES): Likewise.
40764
40765 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40766 (normal_mod_SOURCES): Likewise.
40767
40768 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
40769 (normal_mod_SOURCES): Likewise.
40770
40771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40772 (normal_mod_SOURCES): Likewise.
40773
40774 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40775 (normal_mod_SOURCES): Likewise.
40776
40777 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40778 (normal_mod_SOURCES): Likewise.
40779
16ac430e 407802009-02-11 Robert Millan <rmh@aybabtu.com>
40781
40782 * util/grub.d/00_header.in: Update old reference to `font' command.
40783
06ff20fc 407842009-02-10 Felix Zielcke <fzielcke@z-51.de>
40785
40786 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
40787
40788 Based on patch from Javier Martín.
40789
96da9407 407902009-02-09 Felix Zielcke <fzielcke@z-51.de>
40791
40792 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 40793 to avoid false positives with FAT.
96da9407 40794 (grub_fstest_SOURCES): Likewise.
40795 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40796 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40798 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40799 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40800 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40801
6dca6fe4 408022009-02-09 Felix Zielcke <fzielcke@z-51.de>
40803
06ff20fc 40804 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 40805 bpb.version_specific.fat12_or_fat16.fstype and
40806 bpb.version_specific.fat32.fstype.
40807
2550c62f 408082009-02-08 Robert Millan <rmh@aybabtu.com>
40809
be110b30 40810 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 40811
56978920 408122009-02-08 Robert Millan <rmh@aybabtu.com>
40813
40814 * Makefile.in (host_os, host_cpu): New variables.
40815 (target_os): Remove. Update all users.
40816
d64399b5 408172009-02-08 Marco Gerards <marco@gnu.org>
40818
40819 * Makefile.in (enable_grub_emu_usb): New variable.
40820 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
40821 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
40822 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
40823 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
40824 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
40825 `usbtest.mod' and `usbms.mod'.
40826 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
40827 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
40828 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
40829 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
40830 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
40831 variables.
40832
40833 * disk/usbms.c: New file.
40834
40835 * include/grub/usb.h: Likewise.
40836
40837 * include/grub/usbtrans.h: Likewise.
40838
40839 * include/grub/usbdesc.h: Likewise.
40840
40841 * bus/usb/usbtrans.c: Likewise.
40842
40843 * bus/usb/ohci.c: Likewise.
40844
40845 * bus/usb/uhci.c: Likewise.
40846
40847 * bus/usb/usbhub.c: Likewise.
40848
40849 * bus/usb/usb.c: Likewise.
40850
40851 * commands/usbtest.c: Likewise.
40852
40853 * util/usb.c: Likewise.
50fb7002 40854
d64399b5 40855 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
40856
40857 * configure.ac: Test for libusb presence.
50fb7002 40858
d64399b5 40859 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
40860
2b40d6bb 408612009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
40862
40863 * kern/mm.c: Add more comments.
40864
73a4ce81 408652009-02-08 Robert Millan <rmh@aybabtu.com>
40866
40867 Patch from Javier Martín.
40868 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
40869 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
40870
f821ce59 408712009-02-08 Robert Millan <rmh@aybabtu.com>
40872
40873 * fs/cpio.c: Split tar functionality to ...
40874 * fs/tar.c: ... here (new file). Update all users.
40875
aebfc4b0 408762009-02-07 Robert Millan <rmh@aybabtu.com>
40877
40878 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
40879 backward-incompatible features.
40880
40881 Based on patch from Javier Martín, with some adjustments.
40882
50fb7002 408832009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 40884
40885 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
40886
0bb5115e 408872009-02-07 Robert Millan <rmh@aybabtu.com>
40888
40889 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
40890 position of `disk/lvm.c' to ensure grub_init_all() always picks it
40891 after the RAID stuff.
40892
38a0f8e7 408932009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
40894
50fb7002 40895 Fixes problem when running vbetest command as reported by
38a0f8e7 40896 Vladimir Serbinenko <phcoder@gmail.com>.
40897
40898 * (grub_vbe_set_video_mode): Fixed problem with text modes.
40899
3143cc1c 409002009-02-04 Felix Zielcke <fzielcke@z-51.de>
40901
40902 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
40903 /dev/md/NpN style mdraid devices.
40904
9cba6fce 409052009-02-03 Felix Zielcke <fzielcke@z-51.de>
40906
40907 * util/unifont2pff.rb: Remove.
40908
e507a2c1 409092009-02-03 Felix Zielcke <fzielcke@z-51.de>
40910
40911 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
40912 `#'.
40913
d2c2b4cd 409142009-02-03 Felix Zielcke <fzielcke@z-51.de>
40915
40916 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
40917 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40918 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40919 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40921 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40922 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40923
b4315fb0 409242009-02-02 Christian Franke <franke@computer.org>
40925
40926 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
40927
de3aa260 409282009-02-01 Felix Zielcke <fzielcke@z-51.de>
40929
7c3ff286 40930 * INSTALL: Note that we now require at least autoconf 2.59 and
40931 that LZO is optional.
de3aa260 40932
825a182b 409332009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40934
40935 Base on patch on bug #24154 created by Tomas Tintera
40936 <trosos@seznam.cz>.
40937
40938 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
40939
a69ef770 409402009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40941
7c3ff286 40942 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 40943 <bero@arklinux.org>.
40944
40945 * normal/parser.y (script_init): Add missing semicolon.
40946
6fa42fa6 409472009-01-31 Colin D Bennett <colin@gibibit.com>
40948
7c3ff286 40949 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 40950 (free_menu_entry_classes): Added.
40951 (grub_normal_menu_addentry): Added class property handling.
40952 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
40953 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
40954
40955 * normal/menu_viewer.c: New file.
40956
40957 * normal/menu.c (run_menu_entry): Renamed to ...
40958 (grub_menu_execute_entry): ... this and made it as global.
40959 (grub_menu_run): Renamed to ...
40960 (show_text_menu): ... this and made it local.
40961 (show_text_menu): Adapt to new function names.
40962 (grub_normal_terminal_menu_viewer): New global variable.
40963
40964 * include/grub/menu.h: New file.
40965
40966 * include/grub/menu_viewer.h: New file.
40967
40968 * include/grub/normal.h: Added include to grub/menu.h.
40969 (grub_menu_entry): Moved to include/grub/menu.h.
40970 (grub_menu_entry_t): Likewise.
40971 (grub_menu): Likewise.
40972 (grub_menu_t): Likewise.
40973 (grub_normal_terminal_menu_viewer): Added.
40974 (grub_menu_execute_entry): Likewise.
40975 (grub_menu_run): Removed.
40976
40977 * DISTLIST: Added include/grub/menu.h.
40978 Added include/grub/menu_viewer.h.
40979 Added normal/menu_viewer.c.
40980
409812009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
40982
40983 * normal/execute.c (grub_script_execute_menuentry): Changed to use
40984 arglist for menutitle arguments.
40985
40986 * normal/main.c (grub_normal_menu_addentry): Likewise.
40987
40988 * normal/parser.y (menuentry): Likewise.
40989
40990 * normal/script.c (grub_script_create_cmdmenu): Likewise.
40991
40992 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
40993 (grub_script_create_cmdmenu): Likewise.
40994
40995 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
40996
40997 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
40998 changes.
40999
41000 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
41001
41002 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
41003
41004 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
41005
41006 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41007
41008 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41009
41010 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41011
56192c23 410122009-01-30 Christian Franke <franke@computer.org>
41013
41014 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
41015 in option help text.
41016
d72521b3 410172009-01-27 Pavel Roskin <proski@gnu.org>
41018
41019 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
41020
994b5e84 410212009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41022
41023 * commands/lsmmap.c: Add include to grub/machine/memory.h.
41024
41025 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
41026
41027 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
41028 unregister function.
41029
6a7eab2c 410302009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41031
41032 * disk/scsi.c (grub_scsi_read): Fix sign problem.
41033
41034 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
41035
41036 * util/grub-mkfont.c (usage): Fix typo.
41037
41038 * util/elf/grub-mkimage.c (load_modules): Fix warning.
41039
1806b56e 410402009-01-26 Daniel Mierswa <impulze@impulze.org>
41041
3fb18f09 41042 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
41043
336e1fb9 41044 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
41045
1806b56e 41046 * kern/misc.c (grub_strcasecmp): New function.
41047 (grub_strcasecmp): Use grub_size_t instead of int for length.
41048 Fix return value.
41049 * include/grub/misc.h: Update function prototypes.
41050
580b2a0f 410512009-01-26 Robert Millan <rmh@aybabtu.com>
41052
41053 * configure.ac: Fix cross-compilation check.
ef257b36 41054
d31c24f1 410552009-01-22 Christian Franke <franke@computer.org>
41056
41057 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
41058 (precision) digit string. Allow `.format2' without `format1' (width).
41059 Limit input chars for `%s' output to `format2' if specified. This is
41060 compatible with standard printf ().
41061
3138b44c 410622009-01-22 Christian Franke <franke@computer.org>
41063
41064 * disk/ata.c (grub_ata_wait_status): Replace by ...
41065 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
41066 other status bits may be invalid while BSY is asserted.
41067 (grub_ata_check_ready): New function.
41068 (grub_ata_cmd): Removed.
41069 (grub_ata_wait_drq): New function.
41070 (grub_ata_strncpy): Remove inline.
41071 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
41072 and error check now done by grub_ata_wait_drq ().
41073 (grub_ata_pio_write): Likewise.
41074 (grub_atapi_identify): Set DEV before check for !BSY. Use
41075 grub_ata_wait_drq () to wait for data.
41076 (grub_ata_device_initialize): Add status register check to
41077 detect missing SATA slave devices. Add debug messages.
41078 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
41079 (grub_atapi_packet): Set DEV before check for !BSY. Replace
41080 transfer loop by grub_ata_pio_write ().
41081 (grub_ata_identify): Set DEV before check for !BSY. Use
41082 grub_ata_wait_drq () to wait for data.
ef257b36 41083 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 41084 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
41085 read/write in one loop. Fix invalid command on write. Fix incomplete
41086 command on (size % batch) == 0. Add missing error check after write of
41087 last block. Add debug messages.
41088 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
41089
59a64ef6 410902009-01-19 Christian Franke <franke@computer.org>
41091
41092 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
41093 (GRUB_ATAPI_IREASON_*): Likewise.
41094 (grub_ata_pio_write): Fix timeout error return.
41095 (grub_atapi_identify): Add grub_ata_wait () after cmd.
41096 (grub_atapi_wait_drq): New function.
41097 (grub_atapi_packet): New parameter `size'.
41098 Use grub_atapi_wait_drq () and direct write instead of
41099 grub_ata_pio_write ().
41100 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
41101 reads the number of bytes requested by the device for each DRQ
41102 assertion.
41103 (grub_atapi_write): Remove old implementation, return not
41104 implemented instead.
41105
1cfe20b3 411062009-01-19 Christian Franke <franke@computer.org>
41107
41108 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
41109 of 512 to calculate data size.
41110 (grub_scsi_read12): Likewise.
41111 (grub_scsi_write10): Likewise.
41112 (grub_scsi_write12): Likewise.
41113 (grub_scsi_read): Adjust size according to blocksize.
41114 Add checks for invalid blocksize and unaligned transfer.
41115
bee5fe5d 411162009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
41117
41118 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
41119
ef257b36 41120 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 41121 width glyphs.
41122
3e643f8c 411232009-01-19 Robert Millan <rmh@aybabtu.com>
41124
41125 * config.guess: Update to latest version from config git.
41126 * config.sub: Likewise.
41127
4fa80998 411282009-01-17 Felix Zielcke <fzielcke@z-51.de>
41129
41130 * Makefile.in: Change font compilation to use new grub-mkfont instead
41131 of java version.
41132
41133 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
41134 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41135 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41136 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41137 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41138 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41139 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41140 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41141 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41142
7086085b 411432009-01-16 Christian Franke <franke@computer.org>
41144
41145 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
41146 (enum grub_ata_timeout_milliseconds): New enum.
41147 (grub_ata_wait_status): Add parameter milliseconds.
41148 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
41149 recovery from timed-out commands.
41150 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
41151 return grub_errno instead of REG_ERROR.
41152 (grub_ata_pio_write): Add parameter milliseconds.
41153 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
41154 Pass milliseconds to grub_ata_wait_status () and
41155 grub_ata_pio_read ().
41156 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
41157 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
41158 grub_ata_wait_status (). Fix IDENTIFY timeout check.
41159 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
41160 It is not suitable for device detection, because DEV bit is ignored,
41161 the command may run too long, and not all devices set the signature
41162 properly.
41163 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
41164 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
41165 Fix device selection, DEV bit must be set first to address the registers
41166 of the correct device.
41167 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
41168 grub_ata_pio_read/write ().
41169 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
41170 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
41171
4a412913 411722009-01-13 Carles Pina i Estany <carles@pina.cat>
41173
41174 * util/grub-editenv.c (main): Use fseeko(), not fseek().
41175
7795c55e 411762009-01-13 Bean <bean123ch@gmail.com>
d913988c 41177
41178 * util/grub-mkfont.c (write_font): forget to remove some debug code.
41179
7795c55e 411802009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 41181
41182 * Makefile.in: (enable_grub_mkfont): New variable.
41183 (freetype_cflags): Likewise.
41184 (freetype_libs): Likewise.
41185
41186 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
41187 (grub_mkfont_SOURCES): New variable.
41188 (grub_mkfont_CFLAGS): Likewise.
41189 (grub_mkfont_LDFLAGS): Likewise.
41190
41191 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
41192 library if `--enable-grub-mkfont' is requested.
41193 (enable_grub_mkfont): New variable.
41194 (freetype_cflags): Likewise.
41195 (freetype_libs): Likewise.
41196
41197 * util/grub-mkfont.c: New file.
41198
093af1fe 411992009-01-12 Christian Franke <franke@computer.org>
41200
41201 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
41202 mode check. Fix setting of compat_use[].
41203
f36cc108 412042009-01-10 Robert Millan <rmh@aybabtu.com>
41205
41206 Update a few copyright years which we forgot to do in 2008 (only for
41207 files whose changes made in 2008 were copyright-significant)
41208
41209 * Makefile.in: Add 2008 to Copyright line.
41210 * disk/ieee1275/ofdisk.c: Likewise.
41211 * disk/efi/efidisk.c: Likewise.
41212 * kern/dl.c: Likewise.
41213 * kern/sparc64/ieee1275/init.c: Likewise.
41214 * kern/mm.c: Likewise.
41215 * kern/efi/mm.c: Likewise.
41216 * boot/i386/pc/boot.S: Likewise.
41217 * genfslist.sh: Likewise.
41218 * fs/iso9660.c: Likewise.
41219 * fs/hfs.c: Likewise.
41220 * fs/jfs.c: Likewise.
41221 * fs/minix.c: Likewise.
41222 * fs/ufs.c: Likewise.
41223 * gensymlist.sh.in: Likewise.
41224 * genkernsyms.sh.in: Likewise.
41225 * include/grub/misc.h: Likewise.
41226 * include/grub/types.h: Likewise.
41227 * include/grub/symbol.h: Likewise.
41228 * include/grub/elf.h: Likewise.
41229 * include/grub/kernel.h: Likewise.
41230 * include/grub/disk.h: Likewise.
41231 * include/grub/dl.h: Likewise.
41232 * include/grub/i386/linux.h: Likewise.
41233 * include/grub/i386/pc/biosdisk.h: Likewise.
41234 * include/grub/efi/api.h: Likewise.
41235 * include/grub/efi/pe32.h: Likewise.
41236 * include/grub/util/misc.h: Likewise.
41237 * normal/execute.c: Likewise.
41238 * normal/arg.c: Likewise.
41239 * normal/completion.c: Likewise.
41240 * normal/lexer.c: Likewise.
41241 * normal/parser.y: Likewise.
41242 * normal/misc.c: Likewise.
41243 * commands/i386/pc/vbeinfo.c: Likewise.
41244 * commands/hexdump.c: Likewise.
41245 * commands/terminal.c: Likewise.
41246 * commands/ls.c: Likewise.
41247 * commands/help.c: Likewise.
41248 * partmap/pc.c: Likewise.
41249 * loader/efi/chainloader.c: Likewise.
41250 * loader/multiboot_loader.c: Likewise.
41251 * loader/i386/pc/multiboot2.c: Likewise.
41252 * term/efi/console.c: Likewise.
41253 * term/i386/pc/serial.c: Likewise.
41254 * util/lvm.c: Likewise.
41255 * util/console.c: Likewise.
41256 * util/i386/efi/grub-mkimage.c: Likewise.
41257 * util/raid.c: Likewise.
41258
7f02114b 412592009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
41260
41261 * commands/videotest.c: Removed include to grub/machine/memory.h.
41262
41263 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
41264 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
41265 (video_mod_SOURCES): Removed.
41266 (video_mod_CFLAGS): Likewise.
41267 (video_mod_LDFLAGS): Likewise.
41268 (gfxterm_mod_SOURCES): Likewise.
41269 (gfxterm_mod_CFLAGS): Likewise.
41270 (gfxterm_mod_LDFLAGS): Likewise.
41271 (videotest_mod_SOURCES): Likewise.
41272 (videotest_mod_CFLAGS): Likewise.
41273 (videotest_mod_LDFLAGS): Likewise.
41274 (bitmap_mod_SOURCES): Likewise.
41275 (bitmap_mod_CFLAGS): Likewise.
41276 (bitmap_mod_LDFLAGS): Likewise.
41277 (tga_mod_SOURCES): Likewise.
41278 (tga_mod_CFLAGS): Likewise.
41279 (tga_mod_LDFLAGS): Likewise.
41280 (jpeg_mod_SOURCES): Likewise.
41281 (jpeg_mod_CFLAGS): Likewise.
41282 (jpeg_mod_LDFLAGS): Likewise.
41283 (png_mod_SOURCES): Likewise.
41284 (png_mod_CFLAGS): Likewise.
41285 (png_mod_LDFLAGS): Likewise.
41286
41287 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
41288 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
41289 (video_mod_SOURCES): Added.
41290 (video_mod_CFLAGS): Likewise.
41291 (video_mod_LDFLAGS): Likewise.
41292 (videotest_mod_SOURCES): Likewise.
41293 (videotest_mod_CFLAGS): Likewise.
41294 (videotest_mod_LDFLAGS): Likewise.
41295 (bitmap_mod_SOURCES): Likewise.
41296 (bitmap_mod_CFLAGS): Likewise.
41297 (bitmap_mod_LDFLAGS): Likewise.
41298 (tga_mod_SOURCES): Likewise.
41299 (tga_mod_CFLAGS): Likewise.
41300 (tga_mod_LDFLAGS): Likewise.
41301 (jpeg_mod_SOURCES): Likewise.
41302 (jpeg_mod_CFLAGS): Likewise.
41303 (jpeg_mod_LDFLAGS): Likewise.
41304 (png_mod_SOURCES): Likewise.
41305 (png_mod_CFLAGS): Likewise.
41306 (png_mod_LDFLAGS): Likewise.
41307 (gfxterm_mod_SOURCES): Likewise.
41308 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 41309 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 41310
41311 * term/gfxterm.c: Removed include to grub/machine/memory.h,
41312 grub/machine/console.h.
41313
644fff97 413142009-01-04 Jerone Young <jerone@gmail.com>
41315
41316 Make on screen instructions clearer
41317
41318 Based on patch created by Jidanni <jidanni@jidanni.org>
41319
41320 * normal/menu.c: print clearer instructions on the screen
41321
1e901a75 413222009-01-02 Colin D Bennett <colin@gibibit.com>
41323
41324 New font engine.
34c44600 41325
1e901a75 41326 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
41327 build system and fixed gfxterm.c to work with different sized fonts.
41328
41329 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 41330
1e901a75 41331 * configure: Re-generated.
34c44600 41332
1e901a75 41333 * DISTLIST: Removed font/manager.c.
41334 Added font/font.c.
41335 Added font/font_cmd.c.
34c44600 41336
1e901a75 41337 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
41338 compilation.
34c44600 41339
1e901a75 41340 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 41341
41342 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 41343
41344 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 41345
1e901a75 41346 * normal/menu.c: Likewise.
34c44600 41347
1e901a75 41348 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
41349 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 41350
1e901a75 41351 * include/grub/font.h: Replaced with new file.
34c44600 41352
1e901a75 41353 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
41354 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
41355 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
41356 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
41357 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 41358 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 41359 fg_red, fg_green, fg_blue, fg_alpha.
41360 (grub_video_adapter): Removed blit_glyph.
34c44600 41361 (grub_video_blit_glyph): Removed.
41362
1e901a75 41363 * font/manager.c: Removed file.
34c44600 41364
41365 * font/font.c: New file.
41366
1e901a75 41367 * font/font_cmd.c: Likewise.
34c44600 41368
1e901a75 41369 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 41370
1e901a75 41371 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
41372 (grub_video_vbe_map_rgba): Likewise.
41373 (grub_video_vbe_unmap_color_int): Likewise.
41374 (grub_video_vbe_blit_glyph): Removed.
41375 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 41376
1e901a75 41377 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
41378 (get_pixel): Likewise.
34c44600 41379 (set_pixel): Likewise.
41380
1e901a75 41381 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 41382
1e901a75 41383 * term/gfxterm.c: Adapted to new font engine.
34c44600 41384
1e901a75 41385 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 41386
1e901a75 41387 * term/i386/pc/vga.c: Likewise.
34c44600 41388
1e901a75 41389 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 41390
1e901a75 41391 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 41392
1e901a75 41393 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 41394
1e901a75 41395 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 41396
1e901a75 41397 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 41398
1e901a75 41399 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 41400
1e901a75 41401 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 41402
1e901a75 41403 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 41404
1e901a75 41405 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41406
41407 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 41408
1e901a75 41409 * util/grub-mkconfig_lib.in: Changed font extension.
41410
278922e8 414112008-12-28 Felix Zielcke <fzielcke@z-51.de>
41412
41413 * util/getroot.c (grub_util_get_grub_dev): Add support for
41414 /dev/md/dNNpNN style partitionable mdraid devices.
41415
3ced05cf 414162008-12-12 Alex Smith <alex@alex-smith.me.uk>
41417
41418 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
41419 at a time limit of the PXE TFTP API correctly.
41420 (grub_pxefs_close): Likewise.
41421
7fd0ee30 414222008-11-29 Robert Millan <rmh@aybabtu.com>
41423
34c44600 41424 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 41425 grub_ata_device_initialize() calls.
41426
34c44600 414272008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 41428
41429 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
41430 iteration failed.
41431 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
41432
89313780 414332008-11-28 Robert Millan <rmh@aybabtu.com>
41434
41435 Fix build on powerpc-ieee1275. Based on patch created by
41436 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
41437 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41438 `kern/ieee1275/mmap.c'.
41439 * include/grub/powerpc/ieee1275/memory.h: New file.
41440
15257703 41441 Provide grub-install on coreboot.
41442 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
41443 (grub_install_SOURCES): New variable.
41444 * util/i386/pc/grub-install.in: Add a few condition checks to make it
41445 usable on coreboot.
41446
9fc5388a 414472008-11-25 Felix Zielcke <fzielcke@z-51.de>
41448
41449 * util/grub-fstest.c (grub_term_get_current_input): Change return type
41450 to `grub_term_input_t'.
41451 (grub_term_get_current_output): Change return type to
41452 `grub_term_output_t'.
41453
bc3a2f31 414542008-11-22 Robert Millan <rmh@aybabtu.com>
41455
34c44600 41456 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 41457 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
41458 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
41459 grub_vga_text_cls().
41460
80fc88f2 41461 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 41462 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 41463
cbf36fd3 41464 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
41465 to 0x200000 (avoids trouble with some OFW implementations, and matches
41466 with the one in Yaboot).
41467 Reported by Manoel Abranches
41468
73e8e268 414692008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 41470
41471 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
41472 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
41473
73e8e268 41474 * util/grub-mkconfig_lib.in (grub_warn): New function.
41475 (convert_system_path_to_grub_path): Use grub_warn() when issuing
41476 warnings, to obtain consistent formatting.
41477 * util/grub.d/00_header.in: Likewise.
41478 * util/update-grub_lib.in: Likewise.
41479
e94045a1 41480 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 41481 Move comment text to `#error' stanza.
e94045a1 41482
79d29fd7 41483 Harmonize ieee1275's grub_available_iterate() with the generic
41484 grub_machine_mmap_iterate() interface (fixes a recently-introduced
41485 build problem on i386-ieee1275):
41486 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
41487 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
41488 parameter `type'. Update all users of this function.
41489 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41490 `kern/ieee1275/mmap.c'.
41491 * kern/ieee1275/init.c
41492 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
41493 with ...
41494 (grub_machine_mmap_iterate): ... this.
41495 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
41496 return type to `grub_err_t'. Update all implementations of this
41497 function prototype.
41498 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
41499 Likewise.
41500
60d6b16e 41501 Add `lsmmap' command (lists firmware-provided memory map):
41502 * commands/lsmmap.c: New file.
41503 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
41504 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
41505 variables.
41506 * conf/powerpc-ieee1275.rmk: Likewise.
41507 * conf/i386-coreboot.rmk: Likewise.
41508 * conf/i386-ieee1275.rmk: Likewise.
41509
ebaaf49b 415102008-11-19 Robert Millan <rmh@aybabtu.com>
41511
41512 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 41513 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
41514 constraints to initrd allocation (based on code from
41515 loader/i386/pc/linux.c). Without them, initrd was allocated too high
41516 for Linux to find it.
ebaaf49b 41517
dfab719f 415182008-11-14 Robert Millan <rmh@aybabtu.com>
41519
41520 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
41521 order to cope with duplicate slashes.
41522
10fc3eb9 415232008-11-14 Robert Millan <rmh@aybabtu.com>
41524
41525 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
41526 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
41527 don't want to mess with lower memory, because it is used in the Linux
41528 loader.
41529
41530 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 41531 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 41532 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
41533 is in our heap (probably as a result of it being corrupted during
2f2a3442 41534 decompression). Add #error instance with comment to explain why this
41535 loader isn't currently usable on PC/BIOS.
10fc3eb9 41536
e2e07847 415372008-11-14 Robert Millan <rmh@aybabtu.com>
41538
41539 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 41540 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 41541
fe8e8d69 415422008-11-12 Robert Millan <rmh@aybabtu.com>
41543
41544 Make loader/i386/linux.c buildable on i386-pc (although disabled).
41545
41546 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
41547 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
41548 from here ...
41549 * include/grub/i386/pc/memory.h: ... to here.
41550
976b07d0 415512008-11-12 Robert Millan <rmh@aybabtu.com>
41552
41553 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
41554 split).
41555
41556 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
41557 (grub_console_cur_color, grub_console_real_putchar)
41558 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41559 (grub_console_setcolorstate, grub_console_setcolor)
41560 (grub_console_getcolor): Move from here ...
41561 * include/grub/i386/vga_common.h: ... to here (new file).
41562
41563 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
41564 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
41565 `<grub/i386/io.h>'.
41566 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
41567 `<grub/i386/vga_common.h>'.
41568
76679cd3 415692008-11-12 Robert Millan <rmh@aybabtu.com>
41570
41571 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
41572 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
41573 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
41574 variables.
41575 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41576 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
41577
41578 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
41579 grub_console_init() with call to grub_vga_text_init().
41580 (grub_machine_fini): Replace call to
41581 grub_console_fini() with call to grub_vga_text_fini() and
41582 grub_at_keyboard_fini().
41583
41584 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
41585 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41586 (grub_console_setcolorstate, grub_console_setcolor)
41587 (grub_console_getcolor): New function prototypes.
41588
41589 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
41590 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
41591 (grub_vga_text_setcursor): Static-ize.
41592 (grub_vga_text_term): New structure.
41593 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
41594
41595 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
41596 (grub_console_cur_color, grub_console_standard_color)
41597 (grub_console_normal_color, grub_console_highlight_color)
41598 (map_char, grub_console_putchar, grub_console_getcharwidth)
41599 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
41600 (grub_console_getcolor): Move from here ...
41601 * term/i386/vga_common.c: ... to here (same function names).
41602
95b841d3 416032008-11-12 Robert Millan <rmh@aybabtu.com>
41604
41605 Use newly-added Multiboot support in coreboot.
41606
41607 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41608 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
41609
41610 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
41611 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
41612 (codestart): Store the MBI in `startup_multiboot_info' when we're
41613 being loaded using Multiboot.
41614
41615 * kern/i386/coreboot/init.c (grub_machine_init): Move
41616 grub_at_keyboard_init() call to beginning of function (useful for
41617 debugging). Call grub_machine_mmap_init() before attempting to use
41618 grub_machine_mmap_iterate().
41619 (grub_lower_mem, grub_upper_mem): Move from here ...
41620 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
41621 here (new file).
41622
41623 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
41624 function prototype.
41625
761ca975 416262008-11-12 Robert Millan <rmh@aybabtu.com>
41627
41628 Fix a regression introduced by the at_keyboard.mod split. Because
41629 some terminals are default on some platforms and non-default on
41630 others, the first terminal being registered determines which is
41631 going to be default.
41632
41633 * kern/term.c (grub_term_register_input): If this is the first
41634 terminal being registered, set it as the current one.
41635 (grub_term_register_output): Likewise.
41636
41637 * term/efi/console.c (grub_console_init): Do not call
41638 grub_term_set_current_output() or grub_term_set_current_input().
41639 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
41640 * term/i386/pc/console.c (grub_console_init): Likewise.
41641 (grub_console_fini): Do not call grub_term_set_current_input()
41642 (but leave grub_term_set_current_output() to restore text mode).
41643
6c529df7 416442008-11-10 Robert Millan <rmh@aybabtu.com>
41645
41646 * util/grub.d/00_header.in: Add backward compatibility check for
41647 versions of terminal.mod that don't understand `terminal_input' or
41648 `terminal_output'.
41649
132e4113 416502008-11-09 Robert Millan <rmh@aybabtu.com>
41651
41652 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
41653 `terminal_input' / `terminal_output', not `terminal'.
41654
ac293d50 416552008-11-08 Robert Millan <rmh@aybabtu.com>
41656
41657 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 41658 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 41659
0025933a 416602008-11-08 Robert Millan <rmh@aybabtu.com>
41661
41662 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 41663 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 41664 members. Update all users.
41665 * util/console.c (grub_ncurses_term): Split in ...
41666 (grub_ncurses_term_input): ... this, and ...
41667 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 41668 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 41669
37c86336 416702008-11-08 Robert Millan <rmh@aybabtu.com>
41671
41672 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
41673 (PKGDATA): Add $(pkgdata_SRCDIR).
41674 (pkglib_BUILDDIR): New variable.
41675 (pkgdata_SRCDIR): New variable.
41676 (build_env.mk): New target.
41677 (include_DATA): New variable.
41678 (install-local): Install $(include_DATA) files in $(includedir).
41679
b6c15a2d 416802008-11-07 Pavel Roskin <proski@gnu.org>
41681
d99d46f1 41682 * gendistlist.sh: Use C locale for sorting to ensure consistent
41683 output on all systems.
41684
b6c15a2d 41685 * util/grub.d/00_header.in: Remove incorrect space before
41686 "serial".
41687
c32ee8c9 416882008-11-07 Robert Millan <rmh@aybabtu.com>
41689
41690 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
41691 per specification.
41692 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
41693 * loader/multiboot_loader.c (find_multi_boot2_header): New function
41694 (based on find_multi_boot1_header).
41695 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
41696 using find_multi_boot2_header(), and abort if neither Multiboot or
41697 Multiboot headers were found.
41698
651c29b7 416992008-11-07 Robert Millan <rmh@aybabtu.com>
41700
41701 Modularize at_keyboard.mod:
41702
41703 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
41704 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
41705 (at_keyboard_mod_LDFLAGS): New variables.
41706
41707 Actual terminal split:
41708
41709 * include/grub/term.h (struct grub_term): Split in ...
41710 (struct grub_term_input): ... this, and ...
41711 (struct grub_term_output): ... this. Update all users.
41712 (grub_term_set_current): Split in ...
41713 (grub_term_set_current_input): ... this, and ...
41714 (grub_term_set_current_output): ... this.
41715 (grub_term_get_current): Split in ...
41716 (grub_term_get_current_input): ... this, and ...
41717 (grub_term_get_current_output): ... this.
41718 (grub_term_register): Split in ...
41719 (grub_term_register_input): ... this, and ...
41720 (grub_term_register_output): ... this.
41721 (grub_term_unregister): Split in ...
41722 (grub_term_unregister_input): ... this, and ...
41723 (grub_term_unregister_output): ... this.
41724 (grub_term_iterate): Split in ...
41725 (grub_term_iterate_input): ... this, and ...
41726 (grub_term_iterate_output): ... this.
41727
41728 * kern/term.c (grub_term_list): Split in ...
41729 (grub_term_list_input): ... this, and ...
41730 (grub_term_list_output): ... this. Update all users.
41731 (grub_cur_term): Split in ...
41732 (grub_cur_term_input): ... this, and ...
41733 (grub_cur_term_output): ... this. Update all users.
41734 (grub_term_set_current): Split in ...
41735 (grub_term_set_current_input): ... this, and ...
41736 (grub_term_set_current_output): ... this.
41737 (grub_term_get_current): Split in ...
41738 (grub_term_get_current_input): ... this, and ...
41739 (grub_term_get_current_output): ... this.
41740 (grub_term_register): Split in ...
41741 (grub_term_register_input): ... this, and ...
41742 (grub_term_register_output): ... this.
41743 (grub_term_unregister): Split in ...
41744 (grub_term_unregister_input): ... this, and ...
41745 (grub_term_unregister_output): ... this.
41746 (grub_term_iterate): Split in ...
41747 (grub_term_iterate_input): ... this, and ...
41748 (grub_term_iterate_output): ... this.
41749
41750 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
41751 a check for input and one for output (and only attempt to get keys
41752 from user when input works).
41753
41754 * util/grub-probe.c (grub_term_get_current): Split in ...
41755 (grub_term_get_current_input): ... this, and ...
41756 (grub_term_get_current_output): ... this.
41757 * util/grub-fstest.c: Likewise.
41758 * util/i386/pc/grub-setup.c: Likewise.
41759 * util/grub-editenv.c: Likewise.
41760
41761 Portability adjustments:
41762
41763 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
41764 `term/i386/pc/at_keyboard.c'.
41765 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
41766 grub_keyboard_controller_init() (now handled by terminal .init).
41767 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
41768 grub_at_keyboard_init().
41769 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
41770 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
41771 at_keyboard.mod via input terminal interface).
41772 * include/grub/i386/coreboot/console.h: Convert into a stub for
41773 `<grub/i386/pc/console.h>'.
41774
41775 Migrate full terminals to new API:
41776
41777 * term/efi/console.c (grub_console_term): Split into ...
41778 (grub_console_term_input): ... this, and ...
41779 (grub_console_term_output): ... this. Update all users.
41780 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
41781 (grub_ofconsole_init): Split into ...
41782 (grub_ofconsole_init_input): ... this, and ...
41783 (grub_ofconsole_init_output): ... this.
41784 (grub_ofconsole_term): Split into ...
41785 (grub_ofconsole_term_input): ... this, and ...
41786 (grub_ofconsole_term_output): ... this. Update all users.
41787 * term/i386/pc/serial.c (grub_serial_term): Split into ...
41788 (grub_serial_term_input): ... this, and ...
41789 (grub_serial_term_output): ... this. Update all users.
41790 * term/i386/pc/console.c (grub_console_term): Split into ...
41791 (grub_console_term_input): ... this, and ...
41792 (grub_console_term_output): ... this. Update all users.
41793 (grub_console_term_input): Only enable it on PC/BIOS platform.
41794 (grub_console_init): Remove grub_keyboard_controller_init() call.
41795
41796 Migrate input terminals to new API:
41797
41798 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
41799 `i386' and `i386/pc' to enable build on x86_64 (this driver is
41800 i386-specific anyway).
41801 (grub_console_checkkey): Rename to ...
41802 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
41803 users.
41804 (grub_keyboard_controller_orig): New variable.
41805 (grub_console_getkey): Rename to ...
41806 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
41807 users.
41808 (grub_keyboard_controller_init): Static-ize. Save original
41809 controller value so that it can be restored ...
41810 (grub_keyboard_controller_fini): ... here (new function).
41811 (grub_at_keyboard_term): New structure.
41812 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
41813 functions.
41814
41815 Migrate output terminals to new API:
41816
41817 * term/i386/pc/vga.c (grub_vga_term): Change type to
41818 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41819 members. Update all users.
41820 * term/gfxterm.c (grub_video_term): Change type to
41821 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41822 members. Update all users.
41823 * include/grub/i386/pc/console.h (grub_console_checkkey)
41824 (grub_console_getkey): Do not export (no longer needed by gfxterm,
41825 etc).
41826
41827 Migrate `terminal' command and userland tools to new API:
41828
41829 * commands/terminal.c (grub_cmd_terminal): Split into ...
41830 (grub_cmd_terminal_input): ... this, and ...
41831 (grub_cmd_terminal_output): ... this.
41832 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
41833 `terminal_input' and `terminal_output'.
41834 * util/grub.d/00_header.in: Adjust `terminal' calls to new
41835 `terminal_input' / `terminal_output' API.
41836 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
41837 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
41838 provided ${GRUB_TERMINAL}, convert it).
41839
96e5d876 418402008-11-04 Robert Millan <rmh@aybabtu.com>
41841
41842 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
41843 for FreeBSD.
41844 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
41845
556f3775 418462008-11-03 Bean <bean123ch@gmail.com>
41847
41848 * kern/elf.c (grub_elf32_load): Revert to previous code.
41849 (grub_elf64_load): Likewise.
41850
41851 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
41852
926b9823 418532008-11-01 Robert Millan <rmh@aybabtu.com>
41854
41855 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
41856 (TARGET_CPPFLAGS): Likewise.
41857 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
41858
1432e958 418592008-11-01 Carles Pina i Estany <carles@pina.cat>
41860
41861 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
41862
dba3f844 418632008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 41864
41865 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
41866 addition of objects until the code is not going to be able to fail.
41867
dba3f844 418682008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 41869
41870 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
41871 (add a missing NULL check, and correct them by moving the pointer
41872 operations after the actual check).
41873
7ab28c21 418742008-10-29 Robert Millan <rmh@aybabtu.com>
41875
41876 * util/i386/pc/grub-install.in: Handle empty string as output from
41877 make_system_path_relative_to_its_root().
41878
1b7748eb 418792008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
41880
41881 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
41882 circular metadata worst case scenario. If the metadata is circular
41883 then copy the wrap in place.
41884 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
41885 project lib/format_text/layout.h
41886 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
41887
c9618ab2 418882008-10-03 Felix Zielcke <fzielcke@z-51.de>
41889
7a36edca 41890 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 41891
bf981c62 418922008-10-03 Felix Zielcke <fzielcke@z-51.de>
41893
41894 * util/update-grub_lib.in: Mention filename in warning message.
41895
6d994591 418962008-09-29 Felix Zielcke <fzielcke@z-51.de>
41897
41898 * NEWS: Update for rename of update-grub to grub-mkconfig.
41899
18ade780 419002008-09-29 Felix Zielcke <fzielcke@z-51.de>
41901
41902 * util/update-grub_lib.in: Copy to ...
41903 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 41904 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 41905 * util/update-grub.in: Rename to ...
41906 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
41907 option. Add `--output' option to allow users to specify the generated
41908 configuration file. Default to stdout.
41909 (update_grub_dir): Rename to ...
41910 (grub_mkconfig_dir): ... this.
41911 (grub_cfg): Default to an empty string.
41912 * conf/common.rmk (update-grub): Rename to ...
41913 (grub-mkconfig): ... this.
41914 (update-grub_lib): Copy to ...
41915 (grub-mkconfig_lib): ... this.
41916 (update-grub_SCRIPTS): Copy to ...
41917 (grub-mkconfig_SCRIPTS): ... this. Update all users.
41918 (update-grub_DATA): Rename to ...
41919 (grub-mkconfig_DATA): ... this.
41920
556ce6ac 419212008-09-28 Robert Millan <rmh@aybabtu.com>
41922
41923 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
41924 to `modified'. Add the real `created' field.
41925 (grub_iso9660_uuid): Use `modified' rather than `created' for
41926 constructing the UUID.
41927
419282008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 41929
41930 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
41931 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
41932
92274e85 419332008-09-28 Bean <bean123ch@gmail.com>
41934
41935 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
41936 Thanks to Christian Franke for finding this bug.
41937
add6f17a 419382008-09-25 Robert Millan <rmh@aybabtu.com>
41939
41940 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
41941 instances of grub_util_get_disk_name() (see previous commit).
41942
d2a367b8 419432008-09-25 Robert Millan <rmh@aybabtu.com>
41944
41945 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
41946 `util/i386/get_disk_name.c'.
41947 * conf/i386-efi.rmk: Likewise.
41948 * conf/x86_64-efi.rmk: Likewise.
41949 * conf/i386-coreboot.rmk: Likewise.
41950 * conf/i386-ieee1275.rmk: Likewise.
41951 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
41952 `util/ieee1275/get_disk_name.c'.
41953 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
41954 * util/ieee1275/get_disk_name.c: Remove file.
41955 * util/i386/get_disk_name.c: Remove file.
41956 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
41957 "hd%d" for device.map entries, rather than using
41958 grub_util_get_disk_name().
41959
81a06771 419602008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 41961
41962 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
41963 warning.
41964 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
41965
5a004279 419662008-09-24 Carles Pina i Estany <carles@pina.cat>
41967
41968 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
41969 Changed to 0x5100.
41970 (GRUB_TERM_PPAGE): Changed to 0x4900.
41971
397093d3 419722008-09-24 Robert Millan <rmh@aybabtu.com>
41973
41974 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
41975 macros (they were i386-pc specific).
41976 * include/grub/sparc64/ieee1275/console.h: Likewise.
41977 * include/grub/efi/console.h: Likewise.
41978
a91b6c7c 419792008-09-22 Bean <bean123ch@gmail.com>
41980
41981 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
41982 resident and in attribute list.
41983
41984 * include/grub/ntfs.h (BMP_LEN): Removed.
41985
c40fd116 419862008-09-22 Bean <bean123ch@gmail.com>
41987
81a06771 41988 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 41989 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
41990
41991 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
41992 error occurs, as grub_disk_open will call grub_disk_close, which will
41993 call p->close (scsi).
41994
81a06771 419952008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 41996
41997 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
41998 (AC_PREREQ): Bumped to 2.59.
41999 (AC_TRY_COMPILE): Replace obsolete macro with ...
42000 (AC_COMPILE_IFELSE): ... this.
42001 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
42002 (AC_LINK_IFELSE): ... this.
42003
5dc43410 420042008-09-21 Felix Zielcke <fzielcke@z-51.de>
42005
42006 * autogen.sh: Add a call to `gendistlist.sh'.
42007
9035dce4 420082008-09-19 Christian Franke <franke@computer.org>
42009
42010 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
42011 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
42012 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
42013 Export __enable_execute_stack() to modules.
42014 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
42015 New function.
42016
7fd75377 420172008-09-09 Felix Zielcke <fzielcke@z-51.de>
42018
040030b3 42019 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
42020 Sort the list.
42021
420222008-09-09 Felix Zielcke <fzielcke@z-51.de>
42023
42024 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 42025 #include <grub/util/hostdisk.h>.
42026
89d5ffcf 420272008-09-08 Robert Millan <rmh@aybabtu.com>
42028
42029 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
42030 segments when their filesz is zero (grub_file_read() interprets
81a06771 42031 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 42032 Use `lowest_segment' rather than 0 for calculating the current
42033 segment load address.
42034
40da438f 420352008-09-08 Robert Millan <rmh@aybabtu.com>
42036
42037 * util/hostdisk.c (open_device): Replace a grub_util_info() call
42038 with grub_dprintf("hostdisk", ...), as it was so verbose that it
42039 clobbered useful information.
42040
ddbf5556 420412008-09-08 Robert Millan <rmh@aybabtu.com>
42042
42043 * include/grub/util/biosdisk.h: Move to ...
42044 * include/grub/util/hostdisk.h: ... here. Update all users.
42045 * util/biosdisk.c: Move to ...
42046 * util/hostdisk.c: ... here. Update all users.
42047
783d0f48 420482008-09-07 Robert Millan <rmh@aybabtu.com>
42049
42050 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
42051 variables.
42052 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
42053 and length can be stored directly in the `mbi->mmap_addr' and
42054 `mbi->mmap_length' struct fields.
42055
548e2ea5 420562008-09-07 Robert Millan <rmh@aybabtu.com>
42057
42058 * conf/i386.rmk: New file. Provides declaration for building
42059 `cpuid.mod'.
42060 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
42061 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
42062 variables.
42063 Include `conf/i386.mk'.
42064 * conf/i386-efi.rmk: Likewise.
42065 * conf/x86_64-efi.rmk: Likewise.
42066 * conf/i386-coreboot.rmk: Likewise.
42067 * conf/i386-ieee1275.rmk: Likewise.
42068
0ea85a37 420692008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
42070
42071 Based on patch created by Colin D Bennett <colin@gibibit.com>.
42072 Adds optimization support for BGR based modes.
42073
42074 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
42075 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42076 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42077 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42078 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42079 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42080 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42081 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42082 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42083 (grub_video_i386_vbeblit_index_index): Likewise.
42084 (grub_video_i386_vbeblit_replace_directN): Added.
42085 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42086 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42087 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42088 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42089 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42090 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 42091 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 42092 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42093 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42094 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42095 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42096 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42097 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42098
42099 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
42100 (grub_video_i386_vbefill_R8G8B8): Likewise.
42101 (grub_video_i386_vbefill_index): Likewise.
42102 (grub_video_i386_vbefill_direct32): Added.
42103 (grub_video_i386_vbefill_direct24): Likewise.
42104 (grub_video_i386_vbefill_direct16): Likewise.
42105 (grub_video_i386_vbefill_direct8): Likewise.
42106
81a06771 42107 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 42108 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
42109 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
42110 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
42111 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
42112 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 42113
0ea85a37 42114 * video/video.c (grub_video_get_blit_format): Updated to use new
42115 blit formats. Added handling for 16 bit color modes.
81a06771 42116
42117 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 42118 fillers.
42119 (common_blitter): Updated to use new blitters.
42120
42121 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
42122 Removed.
42123 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42124 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42125 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42126 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42127 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42128 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42129 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42130 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42131 (grub_video_i386_vbeblit_index_index): Likewise.
42132 (grub_video_i386_vbeblit_replace_directN): Added.
42133 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42134 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42135 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42136 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42137 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42138 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42139 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42140 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42141 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42142 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42143 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42144 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42145 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 42146
0ea85a37 42147 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
42148 (grub_video_i386_vbefill_R8G8B8): Likewise.
42149 (grub_video_i386_vbefill_index): Likewise.
42150 (grub_video_i386_vbefill_direct32): Added.
42151 (grub_video_i386_vbefill_direct24): Likewise.
42152 (grub_video_i386_vbefill_direct16): Likewise.
42153 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 42154
0ea85a37 42155 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
42156 types.
81a06771 42157
0ea85a37 42158 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
42159 types.
81a06771 42160
0ea85a37 42161 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
42162 blitter types.
81a06771 42163
0ea85a37 42164 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
42165 types.
42166
e8a83df6 421672008-09-06 Felix Zielcke <fzielcke@z-51.de>
42168
42169 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
42170 RAID level 1.
42171
6bcd8ee5 421722008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 42173
6bcd8ee5 42174 * fs/iso9660.c (grub_iso9660_date): New structure.
42175 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
42176 (grub_iso9660_uuid): New function.
c375ae58 42177
59261157 421782008-09-05 Bean <bean123ch@gmail.com>
42179
42180 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
42181
42182 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
42183 insensitive bit for names in Win32 and Win32 & DOS namespace.
42184
42185 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
42186
42187 * include/grub/types.h (LONG_MAX): Likewise.
42188
58b6645a 421892008-09-04 Felix Zielcke <fzielcke@z-51.de>
42190
4ee55921 42191 * util/getroot.c: Include <config.h>.
42192 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
42193 add support for /dev/md/N devices and handle LVM double dash escaping.
42194
421952008-09-04 Felix Zielcke <fzielcke@z-51.de>
42196
42197 * config.guess: Update to latest version from config git.
42198 * config.sub: Likewise.
58b6645a 42199
9124f65d 422002008-09-03 Robert Millan <rmh@aybabtu.com>
42201
42202 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
42203 `disk->total_sectors'.
42204
81a06771 422052008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 42206
42207 * include/grub/normal.h: Fixed incorrect comment for
42208 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
42209
81a06771 422102008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 42211
42212 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
42213 values with defines.
42214
42215 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
42216 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
42217 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
42218 (GRUB_VBE_MODEATTR_COLOR): Likewise.
42219 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
42220 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
42221 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
42222 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
42223 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
42224 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
42225 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
42226 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
42227 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
42228 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
42229 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
42230 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
42231 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
42232 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
42233 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
42234
93d5cbf8 422352008-08-31 Robert Millan <rmh@aybabtu.com>
42236
42237 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
42238 declaration.
42239 (grub_multiboot): Fix a few warnings.
42240
21751d50 422412008-08-31 Robert Millan <rmh@aybabtu.com>
42242
42243 * loader/i386/pc/multiboot.c: Update comment not to say that
42244 boot_device support is unimplemented.
42245
e27a75c5 422462008-08-31 Robert Millan <rmh@aybabtu.com>
42247
42248 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
42249 or memory map support are unimplemented.
42250
81a06771 422512008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 42252
42253 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
42254
81a06771 422552008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 42256
42257 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
42258 total video memory in 'vbeinfo' output; show color format details for
42259 each video mode.
42260
7c5d8d95 422612008-08-30 Pavel Roskin <proski@gnu.org>
42262
42263 * util/genmoddep.c: Remove for real this time.
42264 * DISTLIST: Remove util/genmoddep.c.
42265
4cebd25a 422662008-08-30 Robert Millan <rmh@aybabtu.com>
42267
42268 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
42269 as required by Multiboot spec (it was already 4-byte aligned, but
42270 only by chance).
42271
b497a269 422722008-08-29 Pavel Roskin <proski@gnu.org>
42273
e3925185 42274 * kern/powerpc/ieee1275/crt0.S: Rename to ...
42275 * kern/powerpc/ieee1275/startup.S: ... this.
42276 * conf/powerpc-ieee1275.rmk: Adjust for the above.
42277 * DISTLIST: Likewise.
42278
b497a269 42279 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
42280 grub/cpu/kernel.h. Add start label for consistency with other
42281 platforms. Add grub_prefix immediately after start. Add jump
42282 to the code after grub_prefix.
42283 * include/grub/powerpc/kernel.h: Provide valid values for
42284 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
42285
6e5a42fe 422862008-08-29 Bean <bean123ch@gmail.com>
42287
42288 * configure.ac: Change host_os to cygwin for mingw.
42289 (asprintf): New check for function.
42290
42291 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
42292 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
42293
42294 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 42295 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 42296 sync, sleep and grub_util_get_disk_size for mingw.
42297
42298 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
42299 to get size in mingw.
42300 (open_device): Use flag O_BINARY if it's defined.
42301 (find_root_device): Add dummy code for mingw.
42302
42303 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
42304 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
42305 (get_scsi_disk_name): Return 0 for mingw.
42306
42307 * util/hostfs.c: #include <grub/util/misc.h>.
42308 (grub_hostfs_open): Use "rb" flag to open file, use
42309 grub_util_get_disk_size to get disk size for mingw.
42310
42311 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
42312 (asprintf): New function if HAVE_ASPRINTF is not set.
42313 (sync): New function for mingw.
42314 (sleep): Likewise.
42315 (grub_util_get_disk_size): Likewise.
42316
ab3f2673 423172008-08-28 Pavel Roskin <proski@gnu.org>
42318
42319 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42320 kern/time.c.
42321
1c282483 423222008-08-28 Robert Millan <rmh@aybabtu.com>
42323
42324 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
42325
678e849c 423262008-08-28 Robert Millan <rmh@aybabtu.com>
42327
42328 Change find_grub_drive() syntax so it doesn't prevent it from
42329 detecting NULL names as errors.
42330
42331 * util/biosdisk.c (find_grub_drive): Move free slot search code
42332 from here ...
42333 (find_free_slot): ... to here.
42334 (read_device_map): Use find_free_slot() to search for free slots.
42335
965c75ca 423362008-08-27 Marco Gerards <marco@gnu.org>
42337
42338 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
42339 (scsi_mod_SOURCES): New variable.
42340 (scsi_mod_CFLAGS): Likewise
42341 (scsi_mod_LDFLAGS): Likewise.
42342
42343 * disk/scsi.c: New file.
42344
42345 * include/grub/scsi.h: Likewise.
42346
42347 * include/grub/scsicmd.h: Likewise.
42348
42349 * disk/ata.c: Include <grub/scsi.h>.
42350 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
42351 instead.
42352 (grub_ata_iterate): Skip ATAPI devices.
42353 (grub_ata_open): Only handle ATAPI devices.
42354 (struct grub_atapi_read): Removed.
42355 (grub_atapi_readsector): Likewise.
42356 (grub_ata_read): No longer handle ATAPI devices.
42357 (grub_ata_write): Likewise.
42358 (grub_atapi_iterate): New function.
42359 (grub_atapi_read): Likewise.
42360 (grub_atapi_write): Likewise.
42361 (grub_atapi_open): Likewise.
42362 (grub_atapi_close): Likewise.
42363 (grub_atapi_dev): New variable.
42364 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
42365 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
42366
42367 * include/grub/disk.h (enum grub_disk_dev_id): Add
42368 `GRUB_DISK_DEVICE_SCSI_ID'.
42369
c07ae501 423702008-08-26 Robert Millan <rmh@aybabtu.com>
42371
42372 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
42373 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
42374 descriptive.
42375
5ed20adc 423762008-08-23 Bean <bean123ch@gmail.com>
42377
42378 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
42379 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42380 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
42381 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
42382 dm_nv.mod.
42383 (raid5rec_mod_SOURCES): New macro.
42384 (raid5rec_mod_CFLAGS): Likewise.
42385 (raid5rec_mod_LDFLAGS): Likewise.
42386 (raid6rec_mod_SOURCES): Likewise.
42387 (raid6rec_mod_CFLAGS): Likewise.
42388 (raid6rec_mod_LDFLAGS): Likewise.
42389 (mdraid_mod_SOURCES): Likewise.
42390 (mdraid_mod_CFLAGS): Likewise.
42391 (mdraid_mod_LDFLAGS): Likewise.
42392 (dm_nv_mod_SOURCES): Likewise.
42393 (dm_nv_mod_CFLAGS): Likewise.
42394 (dm_nv_mod_LDFLAGS): Likewise.
42395
42396 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
42397 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42398 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42399
42400 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
42401 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42402
42403 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42404
42405 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42406
42407 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42408
42409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42410
42411 * disk/raid5_recover.c: New file.
42412
42413 * disk/raid6_recover.c: Likewise.
42414
42415 * disk/mdraid_linux.c: Likewise.
42416
42417 * disk/dmraid_nvidia.c: Likewise.
42418
42419 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
42420 ULONG_MAX.
42421
42422 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
42423 calculate the size of raid device.
42424 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
42425 different layout of raid5.
42426 (grub_raid_scan_device): Remove code specific to mdraid.
42427 (grub_raid_list): New variable.
42428 (free_array): New function.
42429 (grub_raid_register): Likewise.
42430 (grub_raid_unregister): Likewise.
42431 (grub_raid_rescan): Likewise.
42432 (GRUB_MOD_INIT): Don't iterate device here.
42433 (GRUB_MOD_FINI): Use free_array to release resource.
42434
42435 * include/grub/raid.h: Remove macro and structure specific to mdraid.
42436 (grub_raid5_recover_func_t): New function variable type.
42437 (grub_raid6_recover_func_t): Likewise.
42438 (grub_raid5_recover_func): New variable.
42439 (grub_raid6_recover_func): Likewise.
42440 (grub_raid_register): New function.
42441 (grub_raid_unregister): Likewise.
42442 (grub_raid_rescan): Likewise.
42443 (grub_raid_block_xor): Likewise.
42444
42445 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
42446 (CMD_CRC): New macro.
42447 (part): Removed.
42448 (read_file): Handle device as well as file.
42449 (cmd_crc): New function.
42450 (fstest): Handle multiple disks.
42451 (options): Remove part, raw and long, add root and diskcount.
42452 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 42453 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 42454 add handling for the new options, support multiple disks.
42455
42456 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
42457
29c18915 424582008-08-23 Bean <bean123ch@gmail.com>
42459
42460 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
42461
42462 * genfslist.sh: Ignore kernel.mod.
42463
42464 * genpartmaplist.sh: Likewise.
42465
8415f261 424662008-08-23 Robert Millan <rmh@aybabtu.com>
42467
42468 * util/getroot.c (find_root_device): Skip anything that starts with
42469 a dot, not just directories. This avoids things like /dev/.tmp.md0.
42470
d5a7dc5b 424712008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 42472
d5a7dc5b 42473 * util/update-grub.in (GRUB_GFXMODE): Export variable.
42474 * util/grub.d/00_header.in: Allow the administrator to change default
42475 gfxmode via ${GRUB_GFXMODE}.
42476
380cfbb4 424772008-08-21 Felix Zielcke <fzielcke@z-51.de>
42478
42479 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
42480
c9baafe7 424812008-08-21 Robert Millan <rmh@aybabtu.com>
42482
42483 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
42484 loader.
42485 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
42486 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
42487
e290bef2 424882008-08-20 Carles Pina i Estany <carles@pina.cat>
42489
42490 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
42491 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
42492
f9dbfc96 424932008-08-19 Robert Millan <rmh@aybabtu.com>
42494
42495 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
42496 (struct grub_virtual_screen): Remove `cursor_color'.
42497 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
42498 initialization.
42499 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
42500
dd6bd6ab 425012008-08-18 Robert Millan <rmh@aybabtu.com>
42502
42503 Unify (identical) linux_normal.c files.
42504 * loader/i386/efi/linux_normal.c: Move from here ...
42505 * loader/linux_normal.c: ... to here. Update all users.
42506 * loader/i386/pc/linux_normal.c: Delete. Update all users.
42507 * loader/i386/ieee1275/linux_normal.c: Likewise.
42508
7f42f83e 425092008-08-18 Robert Millan <rmh@aybabtu.com>
42510
42511 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
42512 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
42513 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
42514 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
42515 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
42516 New macros.
42517 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
42518 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
42519 (GRUB_LINUX_CL_END_OFFSET): ... to here.
42520 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
42521 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
42522 (GRUB_EFI_CL_END_OFFSET): Rename to ...
42523 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
42524 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
42525 Initialize `params->video_cursor_x' and `params->video_cursor_y'
42526 portably using grub_getxy().
42527 Replace `-EFI' with `-bzImage' in boot message.
42528
38487ddb 425292008-08-17 Robert Millan <rmh@aybabtu.com>
42530
42531 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
42532
deceb3ec 425332008-08-17 Robert Millan <rmh@aybabtu.com>
42534
42535 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
42536
42537 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
42538 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
42539 (grub_machine_mmap_iterate): New function declaration.
42540 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
42541 structure.
42542 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
42543 macros.
42544
42545 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
42546 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
42547 Move e820 parsing from here ...
42548 * kern/i386/pc/mmap.c: New file.
42549 (grub_machine_mmap_iterate): ... to here.
42550
42551 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
42552 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
42553 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
42554 (grub_available_iterate): Redeclare to return `void', and redeclare
42555 its hook to use grub_uint64_t as addr and size parameters, and rename
42556 to ...
42557 (grub_machine_mmap_iterate): ... this. Update all users.
42558
42559 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
42560 to make it more readable. Rename to ...
42561 (grub_machine_mmap_iterate): ... this.
42562
42563 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
42564 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
42565 (grub_multiboot): Allocate an extra region after the payload, and fill
42566 it with a Multiboot memory map. Adjust a.out loader to calculate size
42567 with the extra space.
42568 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
42569 with the extra space.
42570
f8aa0f43 425712008-08-17 Carles Pina i Estany <carles@pina.cat>
42572
9807deb9 42573 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 42574
605f5bb6 425752008-08-17 Felix Zielcke <fzielcke@z-51.de>
42576
42577 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
42578 mdate-sh to the list `find' searches for.
42579 * DISTLIST: Regenerated.
42580
210db6c6 425812008-08-16 Felix Zielcke <fzielcke@z-51.de>
42582
42583 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
42584 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 42585 genmoddep.awk, gensymlist.sh.in.
42586 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 42587 * DISTLIST: Regenerated.
48cdbfd4 42588 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 42589
1082b929 425902008-08-16 Robert Millan <rmh@aybabtu.com>
42591
42592 * disk/raid.c (grub_raid_init): Handle/report errors set by
42593 grub_device_iterate().
42594 * disk/lvm.c (grub_lvm_init): Likewise.
42595
42ce5170 425962008-08-15 Bean <bean123ch@gmail.com>
42597
42598 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42599 and datehook.mod.
42600 (datetime_mod_SOURCES): New macro.
42601 (datetime_mod_CFLAGS): Likewise.
42602 (datetime_mod_LDFLAGS): Likewise.
42603 (date_mod_SOURCES): Likewise.
42604 (date_mod_CFLAGS): Likewise.
42605 (date_mod_LDFLAGS): Likewise.
42606 (datehook_mod_SOURCES): Likewise.
42607 (datehook_mod_CFLAGS): Likewise.
42608 (datehook_mod_LDFLAGS): Likewise.
42609
42610 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42611 and datehook.mod.
42612 (datetime_mod_SOURCES): New macro.
42613 (datetime_mod_CFLAGS): Likewise.
42614 (datetime_mod_LDFLAGS): Likewise.
42615 (date_mod_SOURCES): Likewise.
42616 (date_mod_CFLAGS): Likewise.
42617 (date_mod_LDFLAGS): Likewise.
42618 (datehook_mod_SOURCES): Likewise.
42619 (datehook_mod_CFLAGS): Likewise.
42620 (datehook_mod_LDFLAGS): Likewise.
42621
42622 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42623 and datehook.mod.
42624 (datetime_mod_SOURCES): New macro.
42625 (datetime_mod_CFLAGS): Likewise.
42626 (datetime_mod_LDFLAGS): Likewise.
42627 (date_mod_SOURCES): Likewise.
42628 (date_mod_CFLAGS): Likewise.
42629 (date_mod_LDFLAGS): Likewise.
42630 (datehook_mod_SOURCES): Likewise.
42631 (datehook_mod_CFLAGS): Likewise.
42632 (datehook_mod_LDFLAGS): Likewise.
42633
42634 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42635 and datehook.mod.
42636 (datetime_mod_SOURCES): New macro.
42637 (datetime_mod_CFLAGS): Likewise.
42638 (datetime_mod_LDFLAGS): Likewise.
42639 (date_mod_SOURCES): Likewise.
42640 (date_mod_CFLAGS): Likewise.
42641 (date_mod_LDFLAGS): Likewise.
42642 (datehook_mod_SOURCES): Likewise.
42643 (datehook_mod_CFLAGS): Likewise.
42644 (datehook_mod_LDFLAGS): Likewise.
42645
42646 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42647 and datehook.mod.
42648 (datetime_mod_SOURCES): New macro.
42649 (datetime_mod_CFLAGS): Likewise.
42650 (datetime_mod_LDFLAGS): Likewise.
42651 (date_mod_SOURCES): Likewise.
42652 (date_mod_CFLAGS): Likewise.
42653 (date_mod_LDFLAGS): Likewise.
42654 (datehook_mod_SOURCES): Likewise.
42655 (datehook_mod_CFLAGS): Likewise.
42656 (datehook_mod_LDFLAGS): Likewise.
42657
42658 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
42659
42660 * commands/date.c: New file.
42661
42662 * hook/datehook.c: Likewise.
42663
42664 * include/grub/lib/datetime.h: Likewise.
42665
42666 * include/grub/i386/cmos.h: Likewise.
42667
42668 * lib/datetime.c: Likewise.
42669
42670 * lib/i386/datetime.c: Likewise.
42671
42672 * lib/efi/datetime.c: Likewise.
42673
0e9242da 426742008-08-14 Robert Millan <rmh@aybabtu.com>
42675
42676 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
42677 (grub_mkelfimage_SOURCES): New variable.
42678 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
42679
42680 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
42681 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
42682 * conf/powerpc-ieee1275.rmk: Likewise.
42683 * conf/i386-ieee1275.rmk: Likewise.
42684
42685 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
42686 * kern/i386/coreboot/init.c: Likewise.
42687
42688 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
42689 with `<grub/cpu/kernel.h>'.
42690 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
42691 to ...
42692 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
42693 * kern/i386/coreboot/startup.S: Likewise.
42694
42695 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
42696 (GRUB_MOD_GAP): Remove.
42697 * include/grub/powerpc/kernel.h: New file.
42698 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
42699 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42700 * include/grub/i386/kernel.h: New file.
42701 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
42702 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
42703 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42704
42705 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
42706 `grub-mkelfimage'.
42707 Use --directory when invoking grub_mkimage.
42708
42709 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
42710 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
42711 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
42712 and GRUB_KERNEL_CPU_PREFIX.
42713
b86408f8 427142008-08-14 Felix Zielcke <fzielcke@z-51.de>
42715
d5e619ca 42716 * include/grub/err.h (grub_err_printf): New function prototype.
42717 * util/misc.c (grub_err_printf): New function.
42718 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
42719 grub_printf.
42720 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 42721
7161f0e0 427222008-08-13 Robert Millan <rmh@aybabtu.com>
42723
42724 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
42725
a1967522 427262008-08-13 Robert Millan <rmh@aybabtu.com>
42727
42728 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
42729 boot entry.
42730
371458b5 427312008-08-12 Robert Millan <rmh@aybabtu.com>
42732
42733 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
42734 of the relocation code from here ...
42735 (grub_multiboot): ... to here.
42736 (forward_relocator, backward_relocator): Move from here ...
42737 * kern/i386/loader.S (grub_multiboot_forward_relocator)
42738 (grub_multiboot_backward_relocator): ... to here.
42739 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
42740 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
42741 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
42742 (grub_multiboot_forward_relocator_end)
42743 (grub_multiboot_backward_relocator)
42744 (grub_multiboot_backward_relocator_end): New variables.
42745
05f9452b 427462008-08-12 Bean <bean123ch@gmail.com>
42747
42748 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
42749
20024ab0 427502008-08-11 Robert Millan <rmh@aybabtu.com>
42751
42752 * kern/i386/linuxbios/startup.S: Move from here ...
42753 * kern/i386/coreboot/startup.S: ... to here.
42754
42755 * kern/i386/linuxbios/init.c: Move from here ...
42756 * kern/i386/coreboot/init.c: ... to here.
42757
42758 * kern/i386/linuxbios/table.c: Move from here ...
42759 * kern/i386/coreboot/mmap.c: ... to here.
42760
42761 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
42762
e352e9cd 427632008-08-11 Robert Millan <rmh@aybabtu.com>
42764
42765 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
42766 errors. Leave it to the upper layer to handle them.
42767
2d05bc6a 427682008-08-09 Christian Franke <franke@computer.org>
42769
42770 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
42771 * conf/common.rmk: Install `grub-pe2elf' only if requested.
42772 Install `grub.d/10_windows' only on Cygwin.
42773 * configure.ac: Add subst of `target_os'.
42774 Check `target_os' also before setting TARGET_OBJ2ELF.
42775 Add `--enable-grub-pe2elf'.
42776
042bd419 427772008-08-08 Robert Millan <rmh@aybabtu.com>
42778
42779 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42780 (grub_last_time): Change type to grub_uint64_t.
42781 (grub_disk_open): Migrate code from to using grub_get_time_ms().
42782 (grub_disk_close): Likewise.
42783
42784 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42785 (run_menu): Migrate code from to using grub_get_time_ms().
42786
42787 * util/misc.c (grub_get_time_ms): New function.
42788
7f280db5 427892008-08-08 Marco Gerards <marco@gnu.org>
42790
42791 * disk/ata.c (grub_ata_regget): Change return type to
42792 `grub_uint8_t'.
42793 (grub_ata_regget2): Likewise.
42794 (grub_ata_wait_status): New function.
42795 (grub_ata_wait_busy): Removed function, updated all users to use
42796 `grub_ata_wait_status'.
42797 (grub_ata_wait_drq): Likewise.
42798 (grub_ata_cmd): New function.
42799 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
42800 error handling.
42801 (grub_ata_pio_write): Add error handling.
42802 (grub_atapi_identify): Likewise.
42803 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
42804 handling.
42805 (grub_ata_identify): Use `grub_ata_cmd' and improve error
42806 handling. Actually use the detected registers. Reorder the
42807 detection logic such that it is easier to read.
42808 (grub_ata_pciinit): Do not assign the same ID to each controller.
42809 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
42810 handling.
42811 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
42812
42813 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
42814
1fbc5e66 428152008-08-08 Marco Gerards <marco@gnu.org>
42816
42817 * NEWS: Update.
42818
819ce6c0 428192008-08-07 Bean <bean123ch@gmail.com>
42820
42821 * include/grub/x86_64/pci.h: New file.
42822
5c41d44d 428232008-08-07 Christian Franke <franke@computer.org>
42824
42825 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
42826 (TIMER2_GATE): Likewise.
42827 (grub_pit_wait): Add enable/disable of the timer2 gate
42828 bit of port 0x61. This fixes a possible infinite loop.
42829
5ebc275d 428302008-08-07 Bean <bean123ch@gmail.com>
42831
42832 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
42833 kern/i386/tsc.c and kern/i386/pit.c.
42834
42835 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
42836 x86_64 platform.
42837
42838 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
42839 <grub/i386/tsc.h>.
42840
42841 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
42842
e383b3d0 428432008-08-07 Bean <bean123ch@gmail.com>
42844
42845 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
42846
42847 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
42848
42849 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
42850 multiple inclusion. Add #include <grub/types.h>.
42851
1cbb58ac 428522008-08-06 Christian Franke <franke@computer.org>
42853
42854 * conf/common.rmk: Build and install `10_windows'.
42855 * util/grub.d/10_windows.in: New script.
42856
337f5a1e 428572008-08-06 Pavel Roskin <proski@gnu.org>
42858
42859 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
42860
057bc4ac 428612008-08-06 Robert Millan <rmh@aybabtu.com>
42862
42863 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
42864 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
42865
2b99f123 428662008-08-06 Bean <bean123ch@gmail.com>
42867
42868 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
42869 (grub_pxefs_fs_int): Remove dummy definition.
42870 (grub_pxefs_open): Use data->block_size to store the current block
42871 size setting.
42872 (grub_pxefs_read): Use block size stored in data->block_size. As the
42873 value of grub_pxe_blksize can be changed after the file is opened.
42874
9f0234cb 428752008-08-06 Bean <bean123ch@gmail.com>
42876
42877 * fs/i386/pc/pxe.c (curr_file): new variable.
42878 (grub_pxefs_open): Simply the handling of pxe file system. Don't
42879 require the dummy internal file system anymore.
42880 (grub_pxefs_read): Removed.
42881 (grub_pxefs_close): Likewise.
42882 (grub_pxefs_fs_int): Likewise.
42883 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
42884 connection when we switch file.
42885 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
42886
a55d42e0 428872008-08-06 Robert Millan <rmh@aybabtu.com>
42888
42889 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
42890 `halt.mod'.
42891 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
42892 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
42893
42894 * kern/i386/halt.c: New file.
42895 * kern/i386/reboot.c: Likewise.
42896 * include/grub/i386/reboot.h: Likewise.
42897 * include/grub/i386/halt.h: Likewise.
42898
42899 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
42900 Include `<grub/cpu/halt.h>'.
42901 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
42902 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
42903
42904 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
42905 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
42906 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
42907 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
42908 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
42909 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
42910 from here ...
42911 * include/grub/i386/at_keyboard.h: ... to here.
42912
24371d26 429132008-08-05 Robert Millan <rmh@aybabtu.com>
42914
42915 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
42916 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
42917 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
42918 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42919 `kern/generic/millisleep.c'.
42920
42921 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
42922 instead of grub_get_rtc().
42923 (grub_tsc_init): Initialize `tsc_boot_time'.
42924
42925 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
42926 (grub_machine_init): Use grub_tsc_init() rather than
42927 installing an RTC-based handler via grub_install_get_time_ms().
42928
42929 * kern/i386/pit.c: New file.
42930 * include/grub/i386/pit.h: Likewise.
42931
9e7007b3 429322008-08-05 Bean <bean123ch@gmail.com>
42933
42934 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
42935
42936 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
42937 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
42938 (pxe_mod_SOURCES): New macro.
42939 (pxe_mod_CFLAGS): Likewise.
42940 (pxe_mod_LDFLAGS): Likewise.
42941 (pxecmd_mod_SOURCES): Likewise.
42942 (pxecmd_mod_CFLAGS): Likewise.
42943 (pxecmd_mod_LDFLAGS): Likewise.
42944
42945 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
42946 (grub_pxe_call): Likewise.
42947
42948 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
42949
42950 * commands/i386/pc/pxecmd.c: New file.
42951
9f0234cb 42952 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 42953
42954 * include/grub/i386/pc/pxe.h: Likewise.
42955
6977d49f 429562008-08-05 Bean <bean123ch@gmail.com>
42957
42958 * util/console.c (grub_console_cur_color): New variable.
42959 (grub_console_standard_color): Likewise.
42960 (grub_console_normal_color): Likewise.
42961 (grub_console_highlight_color): Likewise.
42962 (color_map): Likewise.
42963 (use_color): Likewise.
42964 (NUM_COLORS): New macro.
42965 (grub_ncurses_setcolorstate): Handle color properly.
42966 (grub_ncurses_setcolor): Don't change color here, just remember the
42967 settings, color will be set in grub_ncurses_setcolorstate.
42968 (grub_ncurses_getcolor): New function.
42969 (grub_ncurses_init): Initialize color pairs.
42970 (grub_ncurses_term): New member grub_ncurses_getcolor.
42971
9c2ff3ee 429722008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 42973
9c2ff3ee 42974 High resolution timer support. Implemented for x86 CPUs using TSC.
42975 Extracted generic grub_millisleep() so it's linked in only as needed.
42976 This requires a Pentium compatible CPU; if the RDTSC instruction is
42977 not supported, then it falls back on the generic grub_get_time_ms()
42978 implementation that uses the machine's RTC.
42979
42980 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
42981 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42982 `kern/generic/millisleep.c'.
42983
42984 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
42985 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
42986
42987 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
42988 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
42989
42990 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42991
42992 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42993 `kern/generic/millisleep.c'.
42994
42995 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42996
42997 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
42998
42999 * kern/generic/rtc_get_time_ms.c: New file.
43000
43001 * kern/generic/millisleep.c: New file.
337f5a1e 43002
9c2ff3ee 43003 * kern/misc.c: Don't include
43004 <kern/time.h> anymore.
43005 (grub_millisleep_generic): Removed.
43006
43007 * commands/sleep.c (grub_interruptible_millisleep): Uses
43008 grub_get_time_ms() instead of grub_get_rtc().
43009
43010 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
43011 function.
43012 (grub_cpu_is_cpuid_supported): New inline function.
43013 (grub_cpu_is_tsc_supported): New inline function.
43014 (grub_tsc_init): New function prototype.
43015 (grub_tsc_get_time_ms): New function prototype.
43016
43017 * kern/i386/tsc.c (grub_get_time_ms): New file.
43018
43019 * include/grub/time.h: Include <grub/types.h.
43020 (grub_millisleep_generic): Removed.
43021 (grub_get_time_ms): New prototype.
43022 (grub_install_get_time_ms): New prototype.
43023 (grub_rtc_get_time_ms): New prototype.
43024
43025 * kern/time.c (grub_get_time_ms): New function.
43026 (grub_install_get_time_ms): New function.
43027
43028 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
43029 <grub/time.h> anymore.
43030 (grub_millisleep): Removed.
43031 (grub_machine_init): Call grub_tsc_init.
43032
43033 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
43034 get_time_ms() implementation.
43035
43036 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
43037 (ieee1275_get_time_ms): New function.
43038 (grub_machine_init): Install get_time_ms() implementation.
43039
43040 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
43041 (grub_machine_init): Call grub_tsc_init().
43042 (grub_millisleep): Removed.
bf06a93f 43043
9c2ff3ee 43044 * kern/ieee1275/init.c (grub_millisleep): Removed.
43045 (grub_machine_init): Install ieee1275_get_time_ms()
43046 implementation.
43047 (ieee1275_get_time_ms): New function.
43048 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
43049 real work.
43050
9ec92aaf 430512008-08-05 Marco Gerards <marco@gnu.org>
43052
43053 * disk/ata.c: Include <grub/pci.h>.
43054 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
43055 (grub_ata_initialize): Rewritten.
43056 (grub_ata_device_initialize): New function.
43057
8d23f507 430582008-08-04 Pavel Roskin <proski@gnu.org>
43059
43060 * kern/main.c: Include grub/mm.h.
43061
5e15ee3d 430622008-08-04 Robert Millan <rmh@aybabtu.com>
43063
43064 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
43065 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
43066 corruption problem).
43067
a9053f8f 430682008-08-04 Robert Millan <rmh@aybabtu.com>
43069
43070 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
43071 warnings introduced in my last commit.
43072
dd19c7d7 430732008-08-03 Robert Millan <rmh@aybabtu.com>
43074
43075 Make PCI available on all i386 architectures.
43076
43077 * include/grub/i386/pc/pci.h: Move from here ...
43078 * include/grub/i386/pci.h: ... to here.
43079
43080 * include/grub/i386/pc/pci.h: Remove.
43081 * include/grub/i386/efi/pci.h: Remove.
43082 * include/grub/x86_64/efi/pci.h: Remove.
43083
43084 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
43085 `<grub/cpu/pci.h>'.
43086
43087 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
43088 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
43089 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
43090
43091 * conf/i386-ieee1275.rmk: Likewise.
43092
e14a6184 430932008-08-03 Robert Millan <rmh@aybabtu.com>
43094
43095 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
43096 (grub_console_setcursor): Make it possible to set cursor off.
43097
52768e37 430982008-08-03 Robert Millan <rmh@aybabtu.com>
43099
43100 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
43101 of modules instead of assuming which platform provides what.
43102 * util/update-grub.in: Likewise.
43103
2d52f57f 431042008-08-03 Robert Millan <rmh@aybabtu.com>
43105
43106 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
43107 instead of `grub_install_dos_part' to determine whether a drive needs
43108 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 43109 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 43110
2a5cd121 431112008-08-02 Robert Millan <rmh@aybabtu.com>
43112
43113 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
43114
93808428 431152008-08-02 Robert Millan <rmh@aybabtu.com>
43116
43117 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
43118 of informational grub_dprintf() calls.
43119
3bd0a12a 431202008-08-02 Robert Millan <rmh@aybabtu.com>
43121
43122 * disk/memdisk.c (memdisk_size): Don't initialize.
43123 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
43124
43125 * include/grub/i386/pc/kernel.h
43126 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
43127 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
43128 (grub_memdisk_image_size, grub_arch_memdisk_addr)
43129 (grub_arch_memdisk_size): Remove.
43130
43131 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
43132 field (was only used to transfer a constant). Add `type' field to
43133 support multiple module types.
43134 (grub_module_iterate): New function.
43135
43136 * kern/device.c (grub_device_open): Do not hide error messages
43137 when grub_disk_open() fails. Use grub_print_error() instead.
43138
43139 * kern/i386/pc/init.c (grub_arch_modules_addr)
43140 (grub_arch_memdisk_size): Remove functions.
43141 (grub_arch_modules_addr): Return the module address in high memory
43142 (now that it isn't copied anymore).
43143
43144 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
43145 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
43146 decompression routine (grub_total_module_size already includes that
43147 now). Don't copy modules back to low memory.
43148
43149 * kern/main.c: Include `<grub/mm.h>'.
43150 (grub_load_modules): Split out (and use) ...
43151 (grub_module_iterate): ... this function, which iterates through
43152 module objects and runs a hook.
43153 Comment out grub_mm_init_region() call, as it would cause non-ELF
43154 modules to be overwritten.
43155
43156 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
43157 the memdisk image in its own region, make it part of the module list.
43158 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
43159 (main): Parse --memdisk|-m option, and pass user-provided path as
43160 parameter to generate_image().
43161 (add_segments): Pass `memdisk_path' down to load_modules().
43162 (load_modules): Embed memdisk image in module section when requested.
43163 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
43164 `header.type' instead of `header.offset'.
43165
43166 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
43167 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
43168 (memdisk_mod_LDFLAGS): New variables.
43169 * conf/i386-coreboot.rmk: Likewise.
43170 * conf/i386-ieee1275.rmk: Likewise.
43171
a927cc73 431722008-08-02 Robert Millan <rmh@aybabtu.com>
43173
43174 * loader/i386/pc/multiboot.c (playground, forward_relocator)
43175 (backward_relocator): New variables. Used to allocate and relocate
43176 the payload, respectively.
43177 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 43178 address, install the appropriate relocator code in each bound of
a927cc73 43179 the payload, and set the entry point such that
43180 grub_multiboot_real_boot() will jump to one of them.
43181
43182 * kern/i386/loader.S (grub_multiboot_payload_size)
43183 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43184 (grub_multiboot_payload_entry_offset): New variables.
43185 (grub_multiboot_real_boot): Set cpu context to what the relocator
43186 expects, and jump to the relocator instead of the payload.
43187
43188 * include/grub/i386/loader.h (grub_multiboot_payload_size)
43189 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43190 (grub_multiboot_payload_entry_offset): Export.
43191
b15d8a0c 431922008-08-01 Bean <bean123ch@gmail.com>
43193
43194 * normal/menu_entry.c (editor_getline): Don't return the original
43195 string as result, as it will be released by lexer once it has done
43196 using it.
43197
cdfb3d22 431982008-08-01 Robert Millan <rmh@aybabtu.com>
43199
43200 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
43201 within menuentries, not before them.
43202 util/grub.d/10_hurd.in: Likewise.
43203
9175e93d 432042008-08-01 Bean <bean123ch@gmail.com>
43205
43206 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
43207 (bufio_mod_SOURCES): New macro.
43208 (bufio_mod_CFLAGS): Likewise.
43209 (bufio_mod_LDFLAGS): Likewise.
43210
43211 * include/grub/bufio.h: New file.
43212
43213 * io/bufio.c: Likewise.
43214
43215 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
43216 (grub_video_reader_png): Use grub_buffile_open to open file.
43217
43218 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
43219 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
43220
43221 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
43222 (grub_video_reader_tga): Use grub_buffile_open to open file.
43223
43224 * font/manager.c: Include <grub/bufio.h>.
43225 (add_font): Use grub_buffile_open to open file.
43226
3d8383e7 432272008-07-31 Robert Millan <rmh@aybabtu.com>
43228
43229 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
43230 ELF segments, use a macro for arbitrarily accessing any of them instead
43231 of preparing a pointer that allows access to one at a time.
43232 (grub_multiboot_load_elf64): Likewise.
43233
16e641b6 432342008-07-31 Bean <bean123ch@gmail.com>
43235
43236 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
43237 GRUB_KERNEL_MACHINE_DATA_END.
43238
59198b72 432392008-07-30 Robert Millan <rmh@aybabtu.com>
43240
43241 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
43242 Increase from 0x50 to 0x60.
43243 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
43244 use UUIDs to identify the root drive for them. If that's not
43245 possible, abort.
43246 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
43247 check, for cross-disk installs.
43248
ae88bca3 432492008-07-30 Robert Millan <rmh@aybabtu.com>
43250
43251 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
43252 is non-empty, use it to set the `prefix' environment variable instead
43253 of the usual approach.
43254 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
43255 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
43256 environment variable instead of dummy make_install_device().
43257
43258 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
43259 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 43260 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 43261
43262 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
43263 New variable reference.
43264 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
43265 New macro. Defines offset of `grub_prefix' within startup.S (relative
43266 to `start').
43267 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
43268 section within startup.S (relative to `start').
43269 * include/grub/i386/coreboot/kernel.h: Likewise.
43270
43271 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
43272 Overwrite grub_prefix with its contents, at the beginning of the
43273 first segment.
43274 (main): Understand -p|--prefix.
43275
14f41dd1 432762008-07-30 Robert Millan <rmh@aybabtu.com>
43277
43278 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
43279
4ca049a3 432802008-07-30 Robert Millan <rmh@aybabtu.com>
43281
43282 * term/i386/pc/vga_text.c (grub_console_cls): Use
43283 grub_console_gotoxy() to go back to beginning of the screen.
43284 Found by Patrick Georgi <patrick.georgi@coresystems.de>
43285
2921d337 432862008-07-29 Christian Franke <franke@computer.org>
43287
43288 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43289 Add conversion of emulated mount points on Cygwin.
43290
b609876d 432912008-07-29 Christian Franke <franke@computer.org>
43292
43293 * util/update-grub.in: Add a check for admin
43294 group on Cygwin.
43295 Remove old `grub.cfg.new' before creation.
43296 Add `-f' to `mv' to handle the different filesystem
43297 semantics of Windows.
43298
e93e4679 432992008-07-29 Bean <bean123ch@gmail.com>
43300
43301 * normal/main.c (get_line): Fix buffer overflow bug.
43302
41694fd0 433032008-07-28 Robert Millan <rmh@aybabtu.com>
43304
43305 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
43306 (struct grub_apple_header): New struct. Describes the layout of
43307 the partmap header.
43308 (apple_partition_map_iterate): Check the header magic as well as the
43309 partition magic (which was already being checked).
43310
cfd0b4e6 433112008-07-28 Pavel Roskin <proski@gnu.org>
43312
43313 * genmk.rb: Add a warning to the beginning of the output that
43314 it's a generated file and should not be edited.
43315
93cce016 433162008-07-28 Robert Millan <rmh@aybabtu.com>
43317
43318 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
43319 with the same number are found, just use issue a warning with
43320 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 43321
cd1df915 433222008-07-27 Robert Millan <rmh@aybabtu.com>
43323
43324 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
43325 information.
43326
b70a8427 433272008-07-27 Bean <bean123ch@gmail.com>
43328
43329 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
43330 (grub_fat_find_dir): Ignore case when comparing filename.
43331
8f5e379f 433322008-07-27 Bean <bean123ch@gmail.com>
43333
43334 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
43335 smallino, as it's more descriptive, and i8count can be confused with
43336 the other field count.
43337 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
43338 inode type.
43339
a85cd5a0 433402008-07-27 Bean <bean123ch@gmail.com>
43341
43342 * commands/crc.c: New file.
43343
43344 * lib/crc.c: Likewise.
43345
43346 * include/grub/lib/crc.h: Likewise.
43347
43348 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
43349
43350 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
43351 (hexdump): Move this function to ...
43352
43353 * lib/hexdump.c: ... here.
43354
43355 * include/grub/hexdump.h: Renamed to ...
43356
43357 * include/grub/lib/hexdump.h: ... this.
43358
43359 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
43360
43361 * util/grub-editenv.c: Likewise.
43362
43363 * include/envblk.h: Renamed to ...
43364
43365 * include/lib/envblk.h: ... this.
43366
43367 * util/envblk.c: Renamed to ...
43368
43369 * lib/envblk.c: ... this.
43370
43371 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
43372 lib/hexdump.c.
43373 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
43374 (pkglib_MODULES): Add crc.mod.
43375 (hexdump_mod_SOURCES): Add lib/hexdump.c.
43376 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
43377 (crc_mod_SOURCES): New macro.
43378 (crc_mod_CFLAGS): Likewise.
43379 (crc_mod_LDFLAGS): Likewise.
43380
43381 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
43382
43383 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43384
43385 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43386
43387 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43388
43389 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
43390
c298def0 433912008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 43392
43393 * commands/help.c: Include <grub/term.h>.
43394 (TERM_WIDTH): Removed. Updated all users.
43395
cc349fb3 433962008-07-27 Pavel Roskin <proski@gnu.org>
43397
43398 * util/getroot.c (find_root_device): Rephrase a comment to avoid
43399 spurious warnings about a comment within a comment.
43400
9051607e 434012008-07-25 Robert Millan <rmh@aybabtu.com>
43402
43403 * util/getroot.c (find_root_device): Skip devices that match
43404 /dev/dm-[0-9]. This lets the real device be found for any type of
43405 abstraction (LVM, EVMS, RAID..).
43406 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
43407 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
43408 device is found first, find_root_device() will now skip it.
43409
01453bfc 434102008-07-24 Pavel Roskin <proski@gnu.org>
43411
43412 * include/grub/types.h: Use __builtin_bswap32() and
43413 __builtin_bswap64() with gcc 4.3 and newer.
43414
6af9849f 434152008-07-24 Christian Franke <franke@computer.org>
43416
3a0fa256 43417 * util/i386/pc/grub-install.in: If `--debug' is specified,
43418 pass `--verbose' to grub-setup.
43419 Abort script if make_system_path_relative_to_its_root() fails.
43420
7810e747 434212008-07-24 Bean <bean123ch@gmail.com>
43422
43423 * configure.ac: Fixed a bug caused by the previous cygwin patch,
43424 variable `target_platform' should be `platform'.
43425
42290e17 434262008-07-24 Bean <bean123ch@gmail.com>
43427
51cc5193 43428 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 43429 (grub_png_init_fixed_block): New function.
43430 (grub_png_decode_image_data): Handle fixed huffman code compression.
43431
2a8a80e4 434322008-07-24 Bean <bean123ch@gmail.com>
43433
43434 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
43435 (grub_pe2elf_SOURCES): New macro.
43436 (CLEANFILES): Add grub-pe2elf.
43437
43438 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
43439 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
43440 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
43441 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
43442 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
43443 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
43444 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
43445 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
43446 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
43447 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
43448 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
43449 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
43450 (GRUB_PE32_DT_FUNCTION): Likewise.
43451 (GRUB_PE32_REL_I386_DIR32): Likewise.
43452 (GRUB_PE32_REL_I386_REL32): Likewise.
43453 (grub_pe32_symbol): New structure.
43454 (grub_pe32_reloc): Likewise.
43455
43456 * util/grub-pe2elf.c: New file.
43457
43458 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
43459 start symbol in non pc platform.
43460
43461 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
43462
43463 The following patches are from Christian Franke.
43464
43465 * include/grub/dl.h: Remove .previous, gas supports this only
43466 for ELF format.
43467
43468 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
43469 Remove .type, gas supports this only for ELF format.
43470
43471 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
43472 nullbytes in symbol table. This fixes an infinite loop if table is
43473 zero filled.
43474
43475 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
43476 TARGET_IMG_LDFLAGS and EXEEXT.
43477
43478 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
43479 TARGET_IMG_LDFLAGS_AC.
43480 (grub_CHECK_STACK_ARG_PROBE): New function.
43481
43482 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
43483
43484 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
43485
43486 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
43487 to set TARGET_IMG_LD* accordingly.
43488 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
43489 Add call to grub_CHECK_STACK_ARG_PROBE.
43490 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
43491
43492 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
43493
43494 * genmk.rb: Add EXEEXT to CLEANFILES.
43495
12ccdb75 434962008-07-23 Robert Millan <rmh@aybabtu.com>
43497
43498 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
43499 define the codes for arrows and lines used for the menu).
43500 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
43501 as well.
43502
43503 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
43504 fonts, because the latter are too slow.
43505
18eeaf04 435062008-07-21 Bean <bean123ch@gmail.com>
43507
43508 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
43509 a20. Run keyboard test last, as it will cause macbook to halt.
43510
b095e2ad 435112008-07-18 Pavel Roskin <proski@gnu.org>
43512
43513 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
43514 load foreign architecture modules correctly anyway. Keep
43515 support for loading host architecture modules, whether we
43516 compile them or not.
43517
737feb35 435182008-07-17 Pavel Roskin <proski@gnu.org>
43519
3f4ce737 43520 * configure.ac: Use -m32 or -m64 regardless of whether we had to
43521 change target_cpu. The compiler default can mismatch target_cpu
43522 in any case.
43523
4ad2d049 43524 * disk/efi/efidisk.c: Fix format warnings on x86_64.
43525 * kern/efi/efi.c: Likewise.
43526
f6130a12 43527 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
43528 target compiler is functional.
43529 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
43530 are set up.
43531
58393a2d 43532 * configure.ac: Default to efi platform for x86_64-apple. Allow
43533 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
43534 adjustments from the rest, only do them if target is not
43535 explicitly given. Merge other adjustments with the final sanity
43536 check. Remove an extraneous check for supported CPU. Be
43537 specific which CPU and which platform is not supported.
43538
737feb35 43539 * configure.ac: Default to pc platform for x86_64.
43540
546f966a 435412008-07-17 Robert Millan <rmh@aybabtu.com>
43542
43543 Partial LinuxBIOS -> Coreboot rename.
43544
43545 * conf/i386-linuxbios.rmk: Renamed to ...
43546 * conf/i386-coreboot.rmk: ... this.
43547 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
43548 * configure.ac: Accept "coreboot" as input platform (but maintain
43549 compatibility with "linuxbios").
43550 * include/grub/i386/linuxbios: Renamed to ...
43551 * include/grub/i386/coreboot: ... this.
43552
20011694 435532008-07-17 Bean <bean123ch@gmail.com>
43554
43555 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 43556 (appleldr_mod_SOURCE): New variable.
20011694 43557 (appleldr_mod_CFLAGS): Likewise.
43558 (appleldr_mod_LDFLAGS): Likewise.
43559 (pci_mod_SOURCES): Likewise.
43560 (pci_mod_CFLAGS): Likewise.
43561 (pci_mod_LDFLAGS): Likewise.
43562 (lspci_mod_SOURCES): Likewise.
43563 (lspci_mod_CFLAGS): Likewise.
43564 (lspci_mod_LDFLAGS): Likewise.
43565
43566 * conf/x86_64-efi.rmk: New file.
43567
43568 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
43569 macro.
43570 (grub_efidisk_write): Likewise.
43571
43572 * include/efi/api.h (efi_call_0): New macro.
43573 (efi_call_1): Likewise.
43574 (efi_call_2): Likewise.
43575 (efi_call_3): Likewise.
43576 (efi_call_4): Likewise.
43577 (efi_call_5): Likewise.
43578 (efi_call_6): Likewise.
43579
43580 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
43581 grub_rescue_cmd_chainloader.
43582
43583 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
43584 (grub_pe32_optional_header): Change some fields based on i386 or
43585 x86_64 platform.
43586 (GRUB_PE32_PE32_MAGIC): Likewise.
43587
43588 * include/grub/efi/uga_draw.h: New file.
43589
43590 * include/grub/elf.h (STN_ABS): New constant.
43591 (R_X86_64_NONE): Relocation constant for x86_64.
43592 (R_X86_64_64): Likewise.
43593 (R_X86_64_PC32): Likewise.
43594 (R_X86_64_GOT32): Likewise.
43595 (R_X86_64_PLT32): Likewise.
43596 (R_X86_64_COPY): Likewise.
43597 (R_X86_64_GLOB_DAT): Likewise.
43598 (R_X86_64_JUMP_SLOT): Likewise.
43599 (R_X86_64_RELATIVE): Likewise.
43600 (R_X86_64_GOTPCREL): Likewise.
43601 (R_X86_64_32): Likewise.
43602 (R_X86_64_32S): Likewise.
43603 (R_X86_64_16): Likewise.
43604 (R_X86_64_PC16): Likewise.
43605 (R_X86_64_8): Likewise.
43606 (R_X86_64_PC8): Likewise.
43607
43608 * include/grub/i386/efi/pci.h: New file.
43609
43610 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
43611 Change it value based on platform.
43612 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
43613 (GRUB_E820_RAM): Likewise.
43614 (GRUB_E820_RESERVED): Likewise.
43615 (GRUB_E820_ACPI): Likewise.
43616 (GRUB_E820_NVS): Likewise.
43617 (GRUB_E820_EXEC_CODE): Likewise.
43618 (GRUB_E820_MAX_ENTRY): Likewise.
43619 (grub_e820_mmap): New structure.
43620 (linux_kernel_header): Change the efi field according to different
43621 kernel version, also field from linux_kernel_header.
43622
43623 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
43624
43625 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
43626 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
43627 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
43628 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
43629 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
43630 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
43631 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
43632 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
43633 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
43634 (GRUB_PCI_ADDR_IO_MASK): Likewise.
43635
43636 * include/grub/x86_64/efi/kernel.h: New file.
43637
43638 * include/grub/x86_64/efi/loader.h: Likewise.
43639
43640 * include/grub/x86_64/efi/machine.h: Likewise.
43641
43642 * include/grub/x86_64/efi/pci.h: Likewise.
43643
43644 * include/grub/x86_64/efi/time.h: Likewise.
43645
43646 * include/grub/x86_64/linux.h: Likewise.
43647
43648 * include/grub/x86_64/setjmp.h: Likewise.
43649
43650 * include/grub/x86_64/time.h: Likewise.
43651
43652 * include/grub/x86_64/types.h: Likewise.
43653
43654 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
43655 GRUB_TARGET_SIZEOF_VOID_P.
43656
43657 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
43658 (grub_efi_locate_handle): Likewise.
43659 (grub_efi_open_protocol): Likewise.
43660 (grub_efi_set_text_mode): Likewise.
43661 (grub_efi_stall): Likewise.
43662 (grub_exit): Likewise.
43663 (grub_reboot): Likewise.
43664 (grub_halt): Likewise.
43665 (grub_efi_exit_boot_services): Likewise.
43666 (grub_get_rtc): Likewise.
43667
43668 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
43669 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
43670 (grub_efi_allocate_pages): Wrap efi calls.
43671 (grub_efi_free_pages): Wrap efi calls.
43672 (grub_efi_get_memory_map): Wrap efi calls.
43673
43674 * kern/x86_64/dl.c: New file.
43675
43676 * kern/x86_64/efi/callwrap.S: Likewise.
43677
43678 * kern/x86_64/efi/startup.S: Likewise.
43679
43680 * loader/efi/appleloader.c: Likewise.
43681
43682 * loader/efi/chainloader.c (cmdline): New variable.
43683 (grub_chainloader_unload): Wrap efi calls.
43684 (grub_chainloader_boot): Likewise.
43685 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
43686 command line.
43687
43688 * loader/efi/chainloader_normal.c (chainloader_command):
43689 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
43690 command line.
43691
43692 * loader/i386/efi/linux.c (allocate_pages): Change allocation
43693 method.
43694 (grub_e820_add_region): New function.
43695 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
43696 booting.
43697 (grub_find_video_card): New function.
43698 (grub_linux_setup_video): New function.
43699 (grub_rescue_cmd_linux): Probe for video information.
43700
43701 * normal/x86_64/setjmp.S: New file.
43702
43703 * term/efi/console.c (map_char): New function.
43704 (grub_console_putchar): Map unicode char.
43705 (grub_console_checkkey): Wrap efi calls.
43706 (grub_console_getkey): Likewise.
43707 (grub_console_getwh): Likewise.
43708 (grub_console_gotoxy): Likewise.
43709 (grub_console_cls): Likewise.
43710 (grub_console_setcolorstate): Likewise.
43711 (grub_console_setcursor): Likewise.
43712
43713 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
43714
59652a20 437152008-07-16 Pavel Roskin <proski@gnu.org>
43716
ef294055 43717 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
43718 format strings.
43719
59652a20 43720 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
43721 pointer, not an integer. This fixes a warning and prevents
43722 precision loss on 64-bit systems.
43723 (relocate_addresses): Remove unneeded cast.
43724
afc3b5d7 437252008-07-15 Pavel Roskin <proski@gnu.org>
43726
506b2b3e 43727 * kern/i386/ieee1275/init.c: Include grub/cache.h.
43728
62ead89c 43729 * term/ieee1275/ofconsole.c: Disable code unused on i386.
43730
c4cd51d7 43731 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
43732 Fix comparison between signed and unsigned.
43733
0d3d8f28 43734 * include/grub/i386/ieee1275/console.h: Declare
43735 grub_console_init() and grub_console_fini().
43736
8804b286 43737 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
43738 It's empty and unused.
43739
ee01cf35 43740 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
43741 beginning to avoid warnings with some compilers.
43742
afc3b5d7 43743 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
43744 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
43745
e4e8eaa5 437462008-07-14 Pavel Roskin <proski@gnu.org>
43747
407aceb4 43748 * kern/env.c (grub_register_variable_hook): Don't copy empty
43749 string, it leaks memory. Pass "" to grub_env_set(), it should
43750 handle constant strings.
43751
e4e8eaa5 43752 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
43753 * commands/cmp.c (grub_cmd_cmp): Likewise.
43754 * kern/dl.c (grub_dl_flush_cache): Likewise.
43755 (grub_dl_load_core): Likewise.
43756 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
43757 (grub_elf64_load_phdrs): Likewise.
43758
d4e2dad3 437592008-07-13 Pavel Roskin <proski@gnu.org>
43760
43761 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
43762 between signed and unsigned.
43763 (LzmaEnc_Finish): Fix warning about an unused parameter.
43764
aa24b516 437652008-07-13 Bean <bean123ch@gmail.com>
43766
43767 * Makefile.in (enable_lzo): New rule.
43768
43769 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
43770
43771 * configure.ac (ENABLE_LZO): New option --enable-lzo.
43772
43773 * boot/i386/pc/lnxboot.S: #include <config.h>.
43774
43775 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 43776 its value according to the compression algorithm used, lzo or lzma.
aa24b516 43777
43778 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
43779 compression algorithm according to configure macro.
43780
43781 * kern/i386/pc/startup.S (codestart): Likewise.
43782
43783 * kern/i386/pc/lzma_decode.S: New file.
43784
43785 * include/grub/lib/LzFind.h: Likewise.
43786
43787 * include/grub/lib/LzHash.h: Likewise.
43788
43789 * include/grub/lib/LzmaDec.h: Likewise.
43790
43791 * include/grub/lib/LzmaEnc.h: Likewise.
43792
43793 * include/grub/lib/LzmaTypes.h: Likewise.
43794
43795 * lib/LzFind.c: Likewise.
43796
43797 * lib/LzmaDec.c: Likewise.
43798
43799 * lib/LzmaEnc.c: Likewise.
43800
4ae821ac 438012008-07-13 Bean <bean123ch@gmail.com>
43802
43803 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
43804 (grub_ext4_extent_header): New structure.
43805 (grub_ext4_extent): Likewise.
43806 (grub_ext4_extent_idx): Likewise.
43807 (grub_ext4_find_leaf): New function.
43808 (grub_ext2_read_block): Handle extents.
43809
9a745147 438102008-07-12 Robert Millan <rmh@aybabtu.com>
43811
43812 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
43813
d49a4cf6 438142008-07-11 Robert Millan <rmh@aybabtu.com>
43815
43816 * util/grub.d/40_custom.in: New file. Example on how to add custom
43817 entries to /etc/grub.d.
43818 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
43819 40_custom (implicitly, by merging all the grub.d rules).
43820
947414b4 438212008-07-11 Pavel Roskin <proski@gnu.org>
43822
0059cf6f 43823 * commands/read.c (grub_getline): Fix invalid memory access.
43824 Don't add newline to the variable value.
43825
947414b4 43826 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
43827 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
43828 (serial_hw_get_port): Check validity of the port number.
43829 (grub_cmd_serial): Check return value of serial_hw_get_port().
43830
62a02d00 438312008-07-07 Pavel Roskin <proski@gnu.org>
43832
43833 * boot/i386/pc/diskboot.S (notification_string): Replace
43834 "Loading kernel" with just "loading". This is shorter, less
43835 confusing and saves a few bytes for possible future changes.
43836
3e5581b0 438372008-07-05 Pavel Roskin <proski@gnu.org>
43838
ea387a48 43839 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
43840 size for ATAPI devices, they are undefined. Output sector
43841 number in decimal form.
43842
3e5581b0 43843 * disk/ata.c: Use named constants for status bits.
43844
fdecb8fd 438452008-07-04 Pavel Roskin <proski@gnu.org>
43846
bcd35b90 43847 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
43848 grub_addr_t before casting it to the void pointer to fix a
43849 warning. Non-addressable regions are discarded earlier.
43850 (grub_arch_modules_addr): Cast _end to grub_addr_t.
43851 * kern/i386/linuxbios/table.c: Include grub/misc.h.
43852 (check_signature): Don't shadow table_header.
43853 (grub_linuxbios_table_iterate): Cast numeric constants to
43854 grub_linuxbios_table_header_t.
43855 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
43856 grub_stop().
43857
af58ab3d 43858 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
43859 prevent warnings.
43860
1759aa57 43861 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
43862 pointer, which can cause warnings. Support 64-bit addresses.
43863
fdecb8fd 43864 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
43865 of sizeof(long). This fixes PowerPC image generation on x86_64.
43866
8516d2a8 438672008-07-04 Robert Millan <rmh@aybabtu.com>
43868
43869 This fixes a performance issue when pc & gpt partmap iterators
43870 didn't abort iteration even after our hook found what it was
fe987087 43871 looking for (often causing expensive probes of non-existent drives).
8516d2a8 43872
43873 Some callers relied on previous buggy behaviour, since they would
34c44600 43874 raise an error when their own hooks caused early abortion of its
8516d2a8 43875 iteration.
43876
43877 * kern/device.c (grub_device_open): Improve error message.
43878 * disk/lvm.c (grub_lvm_open): Likewise.
43879 * disk/raid.c (grub_raid_open): Likewise.
43880
43881 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
43882 when hook requests it, independently of grub_errno.
43883 (pc_partition_map_probe): Do not fail when find_func() caused
43884 early abortion of pc_partition_map_iterate().
43885
43886 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
43887 when hook requests it, independently of grub_errno.
43888 (gpt_partition_map_probe): Do not fail when find_func() caused
43889 early abortion of gpt_partition_map_iterate().
43890
43891 * kern/partition.c (grub_partition_iterate): Abort parent iteration
43892 when hook requests it, independently of grub_errno. Do not fail when
43893 part_map_iterate_hook() caused early abortion of p->iterate().
43894
43895 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
43896 when grub_partition_iterate() returned with non-zero.
43897
277d0de9 438982008-07-03 Pavel Roskin <proski@gnu.org>
43899
43900 * disk/ata.c (grub_ata_pio_write): Check status before writing,
43901 like we do in grub_ata_pio_read().
43902 (grub_ata_readwrite): Always write individual sectors. Fix the
43903 sector count for the remainder.
43904 (grub_ata_write): Enable writing to ATA devices. Correctly
43905 report error for ATAPI devices.
43906
d4c9b428 439072008-07-02 Pavel Roskin <proski@gnu.org>
43908
e43fc690 43909 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
43910 warning.
43911
f707af42 43912 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
43913 for every read sector, we already increment it for the whole
43914 batch. This fixes reading more than 256 sectors at once.
43915
11e16b15 43916 * util/grub-editenv.c (cmd_info): Cast argument to long
43917 explicitly. ptrdiff_t reduces to int on i386.
43918
cbabfdd4 43919 * util/grub-editenv.c (main): Be specific which parameter is
43920 missing.
43921
b8fbce0a 43922 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
43923 (memdisk): Make memdisk_orig_addr a pointer.
43924
c9c8e606 43925 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
43926 for file offsets, use grub_off_t instead. Fix printf format
43927 warnings.
43928
ca62e598 43929 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
43930 there. Real unexpected warnings should not drown in the noise
43931 about known problems.
43932
ce8d1766 43933 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
43934 grub_disk_addr_t for memory addresses.
43935
00c7a56a 43936 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
43937 explicitly to fix a warning.
43938
08d3ef09 43939 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
43940
cb71ba20 43941 * Makefile.in (MODULE_LDFLAGS): New variable.
43942 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
43943 the linker accepts --build-id=none.
43944 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
43945 MODULE_LDFLAGS.
43946 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
43947
d4c9b428 43948 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
43949 those in Linux XFS code. Provide a way to access 64-bit parent
43950 inode.
43951 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
43952 the end of struct grub_xfs_dir_header.
43953
d4156eee 439542008-07-02 Bean <bean123ch@gmail.com>
43955
43956 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
43957 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43958 and GRUB_IEEE1275_FLAG_NO_ANSI.
43959
43960 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
43961 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43962 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
43963
43964 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
43965 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
43966
43967 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
43968 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
43969
43970 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
43971 esc sequence on non ANSI terminal.
43972 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
43973
43974 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
43975 beginning of file.
43976
2270f77b 439772008-07-02 Bean <bean123ch@gmail.com>
43978
43979 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
43980 (grub_editenv_SOURCES): New variable.
43981 (pkglib_MODULES): Add loadenv.mod.
43982 (loadenv_mod_SOURCES): New variable.
43983 (loadenv_mod_CFLAGS): Likewise.
43984 (loadenv_mod_LDFLAGS): Likewise.
43985
43986 * include/grub/envblk.h: New file.
43987
43988 * util/envblk.c: New file.
43989
43990 * util/grub-editenv.c: New file.
43991
43992 * commands/loadenv.c: New file.
43993
0e9e51ec 439942008-07-01 Pavel Roskin <proski@gnu.org>
43995
d89b7634 43996 * include/multiboot2.h (struct multiboot_tag_module): Use char,
43997 not unsigned char. This fixes warnings and is consistent with
43998 other tags.
43999
bf1835b1 44000 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
44001
8222a04b 44002 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
44003
6a42d99d 44004 * term/tparm.c (analyze): Always set *popcount.
44005
10b159d1 44006 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
44007 cast to fix a warning.
44008
b8789f6c 44009 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
44010 cast to suppress a warning.
44011
29d7e38a 44012 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
44013 grub_fshelp_read_file() expects.
44014
f341f669 44015 * fs/fat.c: Fix UUID calculation on big-endian systems. We
44016 write uuid as a 32-bit value in CPU byte order, so declare and
44017 use it as such.
44018
0e9e51ec 44019 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
44020 long if the format specifier expects it.
44021 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
44022 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44023 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
44024 long to fix a warning.
44025 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
44026 grub_dprintf() arguments to fix warnings.
44027
3aefa857 440282008-06-30 Pavel Roskin <proski@gnu.org>
44029
56c7668b 44030 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
44031 install_bsd_part immediately before core.img is embedded or
44032 modified on disk. This fixes core.img verification if core.img
44033 cannot be embedded.
44034
3aefa857 44035 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
44036 core_path to calculate the blocklist.
44037 Patch from Javier Martín <lordhabbit@gmail.com>
44038
5444088d 440392008-06-29 Robert Millan <rmh@aybabtu.com>
44040
44041 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
44042 block to disk block.
44043 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
44044 Patch from Niels Böhm <bitbucket@arcor.de>
44045
674835c8 440462008-06-29 Robert Millan <rmh@aybabtu.com>
44047
44048 * util/update-grub_lib.in (font_path): Search for fonts in
44049 /boot/grub first, which is more likely to be readable (we aren't
44050 deciding where fonts live, just looking for them).
44051
f527dbc8 440522008-06-26 Pavel Roskin <proski@gnu.org>
44053
6c2d8df6 44054 * util/biosdisk.c (read_device_map): Don't leave dead map
44055 entries for devices failing stat() check.
44056
f527dbc8 44057 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
44058 core_path_dev for the core.img path on the target device.
44059
aebe3d13 440602008-06-26 Robert Millan <rmh@aybabtu.com>
44061
44062 * disk/fs_uuid.c: New file.
44063 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
44064 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
44065 (fs_uuid_mod_LDFLAGS): New variables.
44066 * include/grub/disk.h (grub_disk_dev_id): Add
44067 `GRUB_DISK_DEVICE_UUID_ID'.
44068 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
44069 implement iterate().
44070
37aaf354 440712008-06-26 Robert Millan <rmh@aybabtu.com>
44072
44073 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
44074 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
44075 Linux image includes no initrd.
44076
25ff262a 440772008-06-21 Javier Martín <lordhabbit@gmail.com>
44078
44079 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
44080 call to resolve the core image location that effectively appended the
44081 name twice.
44082
76a2bd44 440832008-06-21 Robert Millan <rmh@aybabtu.com>
44084
44085 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
44086 call from here ...
44087
44088 * util/grub.d/10_hurd.in: ... to here ...
44089 * util/grub.d/10_linux.in: ... and here.
44090
650e1c79 440912008-06-19 Robert Millan <rmh@aybabtu.com>
44092
fe987087 44093 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 44094 after it has been set by grub_machine_set_prefix().
44095
6ce63911 440962008-06-19 Robert Millan <rmh@aybabtu.com>
44097
44098 * commands/search.c (search_label, search_fs_uuid, search_file): Print
44099 search result when not saving to variable, not the other way around.
44100 When saving to variable, abort iteration as soon as a match is found.
44101
73940cec 441022008-06-19 Robert Millan <rmh@aybabtu.com>
44103
44104 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
44105 check for partition that provides /boot/grub. Its logic is flawed,
44106 as it prevents prepare_grub_to_access_device() from being called
44107 multiple times.
44108
3c62a39d 441092008-06-19 Robert Millan <rmh@aybabtu.com>
44110
44111 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
44112 "insmod" command directly when abstraction modules are needed,
fe987087 44113 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 44114 since it had already been processed).
44115
47395a42 441162008-06-19 Pavel Roskin <proski@gnu.org>
44117
44118 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
44119 changed. This is needed in case GRUB_LIBDIR changes.
44120 * conf/i386-ieee1275.rmk: Likewise.
44121 * conf/i386-linuxbios.rmk: Likewise.
44122 * conf/i386-pc.rmk: Likewise.
44123 * conf/powerpc-ieee1275.rmk: Likewise.
44124
a145ac2d 441252008-06-18 Pavel Roskin <proski@gnu.org>
44126
44127 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
44128 kernel_elf_symlist.c to symlist.c for consistency with other
44129 architectures. Update all users.
44130 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
44131
7847c51e 441322008-06-18 Robert Millan <rmh@aybabtu.com>
44133
44134 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
44135 it in prefix.
44136
44137 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
44138 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
44139 a RAID device, run setup() for all members independently on whether
44140 LVM abstraction is being used.
44141 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
44142 If grub-mkimage has set `*install_dos_part == -2', don't override this
44143 value.
44144 Perform *install_dos_part adjustments independently on whether
44145 we're embedding or not.
44146 Clarify error message when image is too big for embedding.
44147 Remove duplicate *install_dos_part stanza.
44148
b23e5644 441492008-06-17 Robert Millan <rmh@aybabtu.com>
44150
44151 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
44152 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
44153 variables.
44154 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
44155 values in grub_ofconsole_normal_color and
44156 grub_ofconsole_highlight_color (they're not directly related to
44157 background and foreground).
44158 (grub_ofconsole_setcolorstate): Extract background and foreground
44159 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
44160
0aac2f79 441612008-06-17 Robert Millan <rmh@aybabtu.com>
44162
44163 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
44164 /boot/grub for the check in last commit, not /boot (they could be
44165 different partitions).
44166
3cca7ef3 441672008-06-16 Robert Millan <rmh@aybabtu.com>
44168
44169 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
44170 asked to setup access for the same partition that provides /boot,
44171 don't bother using UUIDs since our root already has the value we
44172 want.
44173
347396d8 441742008-06-16 Robert Millan <rmh@aybabtu.com>
44175
44176 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
44177 I2O devices.
44178 Patch from Sven Mueller <sven@debian.org>.
44179
991477f8 441802008-06-16 Robert Millan <rmh@aybabtu.com>
44181
44182 * util/update-grub.in: Check for $EUID instead of $UID.
44183 Reported by Vincent Zweije.
44184
d31a32a1 441852008-06-16 Bean <bean123ch@gmail.com>
44186
fe987087 44187 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 44188 (grub_ext2_read_block): Likewise.
44189 (grub_ext2_read_inode): Likewise.
44190 (grub_ext2_mount): Likewise.
44191 (grub_ext2_close): Likewise.
44192 (grub_ext3_get_journal): Removed.
44193
fe987087 44194 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 44195 (grub_reiserfs_read_symlink): Likewise.
44196 (grub_reiserfs_mount): Likewise.
44197 (grub_reiserfs_open): Likewise.
44198 (grub_reiserfs_read): Likewise.
44199 (grub_reiserfs_close): Likewise.
44200 (grub_reiserfs_get_journal): Removed.
44201
44202 * fs/fshelp.c (grub_fshelp_read): Removed.
44203 (grub_fshelp_map_block): Likewise.
44204
44205 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
44206 (grub_fshelp_journal): Likewise.
44207 (grub_fshelp_read): Likewise.
44208 (grub_fshelp_map_block): Likewise.
44209
3540a760 442102008-06-16 Pavel Roskin <proski@gnu.org>
44211
44212 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
44213 floating point anymore.
44214 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
44215
95614c84 442162008-06-15 Pavel Roskin <proski@gnu.org>
44217
44218 * commands/ls.c (grub_ls_list_files): Use integer calculations
44219 for human readable format, avoid floating point use.
44220 * kern/misc.c (grub_ftoa): Remove.
44221 (grub_vsprintf): Remove floating point support.
44222
50465dd6 442232008-06-15 Robert Millan <rmh@aybabtu.com>
44224
fe6b695a 44225 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 44226 devices.
44227 Reported by Max Vozeler.
44228
a9207284 442292008-06-15 Robert Millan <rmh@aybabtu.com>
44230
44231 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
44232 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
44233 skipped later.
44234 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
44235 the beginning of the prefix.
44236
44237 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
44238 It is assumed that if we have a memdisk, grub-mkimage has set
44239 grub_prefix to include the "(memdisk)" drive in it.
44240
a7cbd45a 442412008-06-15 Robert Millan <rmh@aybabtu.com>
44242
44243 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
44244 Initialize keyboard controller after registering the terminal, so that
44245 grub_printf() can be called from grub_keyboard_controller_init().
44246
21cf716a 442472008-06-15 Robert Millan <rmh@aybabtu.com>
44248
44249 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
44250 extent-btree which is written as big endian on disk.
44251 Reported by Alain Greppin <al@chilibi.org>.
44252
23a64d8e 442532008-06-14 Robert Millan <rmh@aybabtu.com>
44254
44255 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
44256 * util/i386/pc/grub-install.in (modules): Likewise.
44257
d687651c 442582008-06-13 Pavel Roskin <proski@gnu.org>
44259
44260 * commands/ls.c (grub_ls_list_files): Fix format warnings.
44261
dfe9ddd4 442622008-06-13 Bean <bean123ch@gmail.com>
44263
44264 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
44265
44266 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
44267
44268 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
44269 to indicate sparse block.
44270
16ae7781 442712008-06-12 Pavel Roskin <proski@gnu.org>
44272
e6d1a308 44273 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
44274 number, grub_fshelp_read() does it for us.
44275
16ae7781 44276 * fs/fshelp.c (grub_fshelp_read): New function. Implement
44277 linear disk read with journal translation.
44278 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
44279 * include/grub/fshelp.h: Declare grub_fshelp_read().
44280
40fd3a2b 442812008-06-09 Pavel Roskin <proski@gnu.org>
44282
44283 * fs/minix.c (grub_minix_mount): Handle error reading
44284 superblock.
44285
f5679726 442862008-06-08 Robert Millan <rmh@aybabtu.com>
44287
44288 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
44289 don't append the RAID prefix afterwards.
44290 Reported by Clint Adams.
44291
ce525529 442922008-06-08 Robert Millan <rmh@aybabtu.com>
44293
44294 Based on description from Pavel:
44295 * kern/disk.c (grub_disk_check_range): Rename to ...
44296 (grub_disk_adjust_range): ... this. Add a comment explaining the
44297 tasks performed by this function.
44298
ad4936a0 442992008-06-08 Robert Millan <rmh@aybabtu.com>
44300
44301 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
44302 `num_serial' (for consistency with other variables).
44303 (struct grub_ntfs_data): Add `uuid' member.
44304 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
44305 (grub_ntfs_uuid): New function.
44306 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
44307
dc20b0f9 443082008-06-07 Pavel Roskin <proski@gnu.org>
44309
44310 * util/biosdisk.c (open_device): Revert last change to the
44311 function, it broke installation. The sector needs to be
44312 different dependent on which device is opened.
44313
c5e3cfba 443142008-06-06 Robert Millan <rmh@aybabtu.com>
44315
44316 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
44317 rest of GRUB, and breakage doesn't happen if its value were modified.
44318
44319 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44320 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
44321 a constant (same value).
44322 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
44323 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
44324
26a1f8c4 443252008-06-06 Robert Millan <rmh@aybabtu.com>
44326
44327 * util/biosdisk.c (open_device): Do not modify sector offset when
44328 accessing a partition. kern/disk.c already handles this for us.
44329
25d6b327 443302008-06-06 Robert Millan <rmh@aybabtu.com>
44331
44332 * util/grub-emu.c (grub_machine_init): Move code in this function from
44333 here ...
44334 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
44335 segfault in case grub_printf() is called).
44336
44337 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
44338 grub_probe. Update all users not to explicitly add it again.
44339 (grub_device): New variable; contains corresponding device for grubdir.
44340 (fs_module, partmap_module, devabstraction_module): Pass
44341 `--device ${grub_device}' to grub_probe to avoid traversing /dev
44342 every time.
44343
9ece62fb 443442008-06-05 Robert Millan <rmh@aybabtu.com>
44345
44346 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
44347 is found, print it (same layout as with labels).
44348
1ad36d37 443492008-06-04 Robert Millan <rmh@aybabtu.com>
44350
44351 * util/biosdisk.c (get_drive): Rename to ...
44352 (find_grub_drive): ... this. Update all users.
44353
44354 (get_os_disk): Rename to ...
44355 (convert_system_partition_to_system_disk): ... this. Update all users.
44356
44357 (find_drive): Rename to ...
44358 (find_system_device): ... this. Update all users.
44359
e6a30859 443602008-06-04 Robert Millan <rmh@aybabtu.com>
44361
44362 * util/biosdisk.c (get_os_disk): Handle IDA devices.
44363 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44364 (make_device_map): Likewise.
44365
00c108a4 443662008-06-01 Robert Millan <rmh@aybabtu.com>
44367
44368 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
44369 before dereferencing it.
44370
44371 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
44372 union with fat12/fat16-specific ones. Add some new fields, including
44373 `num_serial' for both versions.
44374 (struct grub_fat_data): Add `uuid' member.
44375 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
44376 names. Initialize `data->uuid' using `num_serial'.
44377 (grub_fat_uuid): New function.
44378 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
44379
44380 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
44381 (grub_reiserfs_uuid): New function.
44382 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
44383 member.
44384
44385 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
44386 (grub_xfs_uuid): New function.
44387 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
44388
1385c5bb 443892008-06-01 Robert Millan <rmh@aybabtu.com>
44390
44391 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
44392 code that is backward compatible with pre-uuid search command.
44393
c682dfd7 443942008-05-31 Robert Millan <rmh@aybabtu.com>
44395
44396 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
44397 floppies after everything else, to ensure floppy drive isn't accessed
44398 unnecessarily (patch from Bean).
44399
b7db5d47 444002008-05-31 Robert Millan <rmh@aybabtu.com>
44401
44402 * commands/search.c (search_label, search_fs_uuid, search_file): Do
44403 not print device names when we were asked to set a variable.
44404
6e037aa9 444052008-05-31 Robert Millan <rmh@aybabtu.com>
44406
44407 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
44408 using "cursor-on" and "cursor-off" commands (understood at least by
44409 the Open Firmware flavour on OLPC).
44410
41305bc8 444112008-05-31 Michael Gorven <michael@gorven.za.net>
44412
44413 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
44414 on and off sequences.
44415
69ba137e 444162008-05-31 Robert Millan <rmh@aybabtu.com>
44417
44418 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
44419 * util/update-grub.in: Likewise.
44420
520ae21b 444212008-05-30 Pavel Roskin <proski@gnu.org>
44422
44423 * util/biosdisk.c (linux_find_partition): Simplify logic and
44424 make the code more universal. Keep special processing for
44425 devfs, but use a simple rule for all other devices. If the
44426 device ends with a number, append 'p' and the partition number.
44427 Otherwise, append only the partition number.
44428
5786569b 444292008-05-30 Robert Millan <rmh@aybabtu.com>
44430
44431 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
44432 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
44433 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
44434 the `root' parameter to Linux.
44435
51500452 444362008-05-30 Robert Millan <rmh@aybabtu.com>
44437
44438 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
44439 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
44440 --fs_uuid with --fs-uuid.
44441 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
44442 all filesystems support them).
44443
811d3878 444442008-05-30 Robert Millan <rmh@aybabtu.com>
44445
44446 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 44447 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 44448
cab63c95 444492008-05-30 Robert Millan <rmh@aybabtu.com>
44450
44451 * util/grub.d/00_header.in: Remove obsolete comment referencing
44452 convert_system_path_to_grub_path().
44453 * util/update-grub.in: Likewise.
44454 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
44455 (convert_system_path_to_grub_path): Add a warning message explaining
44456 that this function is deprecated. Rely on is_path_readable_by_grub()
44457 for the readability checks.
44458 (font_path): Use is_path_readable_by_grub() for the readability
44459 check rather than convert_system_path_to_grub_path().
44460
972e2f7a 444612008-05-30 Robert Millan <rmh@aybabtu.com>
44462
44463 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
44464 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
44465 converting it first.
44466 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
44467 grub.cfg for access to font file, and afterwards call it again to set
44468 the root device.
44469
62191274 444702008-05-30 Robert Millan <rmh@aybabtu.com>
44471
44472 * commands/search.c (options): Add --fs_uuid option.
44473 (search_fs_uuid): New function.
44474 (grub_cmd_search): Fix --set argument passing.
44475 Use search_fs_uuid() when requested via --fs_uuid.
44476 (grub_search_init): Update help message.
44477 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
44478 and redeclare it as an array of 16-bit words.
44479 (grub_ext2_uuid): New function.
44480 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
44481 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
44482 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
44483 (GRUB_DEVICE_BOOT_UUID): New variables.
44484 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
44485 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
44486 whenever possible.
44487 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
44488 just assume `root' variable has the right value.
44489 * util/grub.d/10_linux.in: Likewise.
44490 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
44491 via PRINT_FS_UUID.
44492 (main): Recognise `-t fs_uuid' argument.
44493
01b73ec8 444942008-05-30 Robert Millan <rmh@aybabtu.com>
44495
44496 * util/biosdisk.c (map): Redefine structure to hold information
44497 about GRUB drive name.
fe6b695a 44498 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 44499 drive names.
44500 (call_hook): Remove.
44501 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
44502 member. Assume drive has partitions.
44503 (grub_util_biosdisk_open): Access device names via `.device' struct
44504 member.
44505 (open_device): Likewise.
44506 (find_drive): Likewise.
44507 (read_device_map): Adjust map[] usage to match the new struct
44508 definition. Don't check for duplicates (still possible, but not cheap
44509 anymore).
44510 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
44511 (make_device_name): Remove assumption of BIOS-like drive names.
44512
22f16596 445132008-05-30 Pavel Roskin <proski@gnu.org>
44514
44515 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
44516 compiling execute.c doesn't need grub_script.tab.h anymore.
44517 (normal/command.c_DEPENDENCIES): Likewise.
44518 (normal/function.c_DEPENDENCIES): Likewise.
44519 * conf/i386-ieee1275.rmk: Likewise.
44520 * conf/i386-linuxbios.rmk: Likewise.
44521 * conf/i386-pc.rmk: Likewise.
44522 * conf/powerpc-ieee1275.rmk: Likewise.
44523 * conf/sparc64-ieee1275.rmk: Likewise.
44524
528ad8f2 445252008-05-29 Pavel Roskin <proski@gnu.org>
44526
d1dff95d 44527 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
44528 when scanning metadata for volume group name.
44529
528ad8f2 44530 * include/grub/script.h: Don't include grub_script.tab.h. It's
44531 a generated file, which may only be included from the files with
44532 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
44533 use union YYSTYPE, as the later allows forward declaration.
44534 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
44535
47248e08 445362008-05-29 Robert Millan <rmh@aybabtu.com>
44537
44538 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
44539 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
44540 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
44541 (grub_console_checkkey): Add grub_dprintf() call to report unknown
44542 scan codes.
44543
ee632529 445442008-05-29 Robert Millan <rmh@aybabtu.com>
44545
44546 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
44547 control key combinations.
44548
eee96e08 445492008-05-29 Robert Millan <rmh@aybabtu.com>
44550
44551 * util/powerpc/ieee1275/grub-install.in: Move from here ...
44552 * util/ieee1275/grub-install.in: ... to here.
44553 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
44554 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
44555 (grub_install_SOURCES): Likewise.
44556
da9a6a94 445572008-05-29 Robert Millan <rmh@aybabtu.com>
44558
44559 * fs/affs.c: Update copyright year.
44560 * fs/ext2.c: Likewise.
44561 * fs/fshelp.c: Likewise.
44562 * fs/hfsplus.c: Likewise.
44563 * fs/ntfs.c: Likewise.
44564 * fs/xfs.c: Likewise.
44565 * include/grub/fshelp.h: Likewise.
44566 * util/grub-mkdevicemap.c: Likewise.
44567
12e65f3a 445682008-05-28 Robert Millan <rmh@aybabtu.com>
44569
44570 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
44571 might need to be fatfs to support some firmware implementations
44572 (e.g. OFW or EFI).
44573
23023641 445742008-05-28 Robert Millan <rmh@aybabtu.com>
44575
44576 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
44577 devices.
44578 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44579 (make_device_map): Likewise.
44580
887d2619 445812008-05-20 Bean <bean123ch@gmail.com>
44582
44583 * fs/fshelp.c (grub_fshelp_map_block): New function.
44584 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
44585 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
44586
44587 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
44588 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
44589 (grub_fshelp_journal): New structure.
44590 (grub_fshelp_map_block): New function prototype.
44591 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
44592 (grub_fshelp_map_block): Likewise.
44593
44594 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
44595 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
44596 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
44597 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
44598 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
44599 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
44600 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
44601 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
44602 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
44603 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
44604 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
44605 (grub_ext2_sblock): New members for journal support.
44606 (grub_ext3_journal_header): New structure.
44607 (grub_ext3_journal_revoke_header): Likewise.
44608 (grub_ext3_journal_block_tag): Likewise.
44609 (grub_ext3_journal_sblock): Likewise.
44610 (grub_fshelp_node): New members logfile and journal.
44611 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
44612 grub_fshelp_map_block to get real block number.
44613 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
44614 number.
44615 (grub_ext2_read_inode): Likewise.
44616 (grub_ext3_get_journal): New function.
44617 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
44618 (grub_ext2_close): Release memory used by journal.
44619
44620 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
44621 (REISERFS_MAGIC_DESC_BLOCK): New macro.
44622 (grub_reiserfs_transaction_header): Renamed to
44623 grub_reiserfs_description_block, replace field data with real_blocks.
44624 (grub_reiserfs_commit_block): New structure.
44625 (grub_reiserfs_data): New member journal.
44626 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
44627 number.
44628 (grub_reiserfs_read_symlink): Likewise.
44629 (grub_reiserfs_iterate_dir): Likewise.
44630 (grub_reiserfs_open): Likewise.
44631 (grub_reiserfs_read): Likewise.
44632 (grub_reiserfs_get_journal): New function.
44633 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
44634 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
44635 using grub_reiserfs_get_journal.
44636 (grub_reiserfs_close): Release memory used by journal.
44637
44638 * fs/affs.c (grub_affs_read_block): Change block type to
44639 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
44640
44641 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
44642
44643 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
44644
44645 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
44646
44647 * fs/udf.c (grub_udf_read_block): Change block type to
44648 grub_disk_addr_t. Use type cast to avoid warning.
44649
44650 * fs/xfs.c (grub_xfs_read_block): Likewise.
44651
b7c6bed5 446522008-05-16 Christian Franke <franke@computer.org>
44653
44654 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
44655 to ensure that break with ESC will always work.
44656 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
44657 Remove ESC from keyboard queue.
44658
eedf167f 446592008-05-16 Christian Franke <franke@computer.org>
44660
44661 * util/biosdisk.c: [__CYGWIN__] Add includes.
44662 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
44663 (get_os_disk): Move variable declarations to OS specific
44664 parts to avoid warning.
44665 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
44666 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
44667 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
44668 Cygwin.
44669 * util/getroot.c: [__CYGWIN__] Add includes.
44670 (strip_extra_slashes): Fix "/" case.
44671 [__CYGWIN__] (get_win32_path): New function.
44672 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
44673 [__CYGWIN__] (find_root_device): Disable.
44674 [__CYGWIN__] (get_bootsec_serial): New function.
44675 [__CYGWIN__] (find_cygwin_root_device): Likewise.
44676 [__linux__] (grub_guess_root_device): Add early returns to simplify
44677 structure.
44678 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
44679 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
44680 check for Linux only.
44681
a079699e 446822008-05-15 Bean <bean123ch@gmail.com>
44683
44684 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
44685 keyboard hang problem in apple's intel mac.
44686
1cf4059a 446872008-05-09 Robert Millan <rmh@aybabtu.com>
44688
44689 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
44690 devices.
44691 * util/grub-mkdevicemap.c (get_virtio_disk_name)
44692 (make_device_map): Likewise.
44693 Reported by Aurelien Jarno <aurel32@debian.org>
44694
ed759390 446952008-05-07 Ian Campbell <ijc@hellion.org.uk>
44696
44697 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
44698 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
44699 (make_device_map): Output entries for xvd type disks.
44700
b56c4eaa 447012008-05-07 Robert Millan <rmh@aybabtu.com>
44702
44703 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
44704 devices.
44705 * util/grub-mkdevicemap.c (get_cciss_disk_name)
44706 (make_device_map): Likewise.
44707 Reported by Roland Dreier <rdreier@cisco.com>
44708
7f8866ed 447092008-05-07 Robert Millan <rmh@aybabtu.com>
44710
44711 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
44712 grub_strstr() call. Correct a few mistakes in failure path handling.
44713
b0346e0f 447142008-05-06 Robert Millan <rmh@aybabtu.com>
44715
44716 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
44717 Do not print a trailing slash (therefore, the root directory is an
44718 empty string).
44719 (convert_system_path_to_grub_path): Do not remove trailing slash
44720 from make_system_path_relative_to_its_root() output.
44721
44722 * util/i386/pc/grub-install.in: Add trailing slash to output from
44723 make_system_path_relative_to_its_root().
44724
6cf12cbd 447252008-05-06 Robert Millan <rmh@aybabtu.com>
44726
44727 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
44728 ensures that output lines aren't intermangled with those sent to
44729 stderr (via grub_util_info()).
44730 * util/grub-probe.c (grub_refresh): Likewise.
44731 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
44732
0fbb3117 447332008-05-05 Christian Franke <franke@computer.org>
44734
44735 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
44736 Add Cygwin device names.
44737 (get_ide_disk_name) [__CYGWIN__]: Likewise.
44738 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
44739 (check_device): Return error instead of success on empty name.
44740 (make_device_map): Move label inside linux specific code to
44741 prevent compiler warning.
44742
8124cdb7 447432008-04-30 Robert Millan <rmh@aybabtu.com>
44744
44745 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
44746 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
44747 first boot option.
44748 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
44749
094c01d0 447502008-04-29 Robert Millan <rmh@aybabtu.com>
44751
44752 * docs/grub.cfg: New file (example GRUB configuration).
44753
f4b1fc02 447542008-04-26 Robert Millan <rmh@aybabtu.com>
44755
329ce2a5 44756 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
44757 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
44758 and `disk/ieee1275/nand.c'.
f4b1fc02 44759
25f16ec1 447602008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 44761
25f16ec1 44762 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
44763 i386-linuxbios.
44764
44765 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
44766 change the buffer size to 4096 for cdrom device.
44767
44768 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
44769 and nand.mod.
44770 (_linux_mod_SOURCES): New variable.
44771 (_linux_mod_CFLAGS): Likewise.
44772 (_linux_mod_LDFLAGS): Likewise.
44773 (linux_mod_SOURCES): Likewise.
44774 (linux_mod_CFLAGS): Likewise.
44775 (linux_mod_LDFLAGS): Likewise.
44776 (nand_mod_SOURCES): Likewise.
44777 (nand_mod_CFLAGS): Likewise.
44778 (nand_mod_LDFLAGS): Likewise.
44779
44780 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
44781 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
44782 type property. (nand device in olpc don't have this property)
44783
44784 * include/grub/disk.h (grub_disk_dev_id): New macro
44785 GRUB_DISK_DEVICE_NAND_ID.
44786
44787 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
44788 function prototype.
44789 (grub_rescue_cmd_initrd): Likewise.
44790
44791 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
44792 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
44793 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 44794
25f16ec1 44795 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
44796 GRUB_MACHINE_IEEE1275 is defined.
44797
44798 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
44799 Use NESTED_FUNC_ATTR attribute on the hook parameter.
44800
44801 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
44802 on nested function heap_init.
44803 (grub_upper_mem): New variable for i386-ieee1275.
44804 (grub_get_extended_memory): New function for i386-ieee1275.
44805 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
44806
44807 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
44808 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
44809 property.
f19dbdb7 44810
25f16ec1 44811 * loader/i386/ieee1275/linux.c: New file.
44812
44813 * loader/i386/ieee1275/linux_normal.c: New file.
44814
44815 * disk/ieee1275/nand.c: New file.
44816
e89d61e9 448172008-04-18 Thomas Schwinge <tschwinge@gnu.org>
44818
44819 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
44820 value.
44821 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
44822
602566f6 448232008-04-18 Robert Millan <rmh@aybabtu.com>
44824
44825 Restructures early code path on ieee1275 to unify grub_main() as
44826 the first C function that is executed in every platform.
44827
44828 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
44829 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
44830 cmain().
44831 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
44832 * kern/ieee1275/cmain.c (cmain): Rename to ...
44833 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
44834 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
44835 at the beginning.
44836
57490c2b 448372008-04-18 Robert Millan <rmh@aybabtu.com>
44838
44839 * util/update-grub.in: Fix syntax error when setting
44840 `GRUB_PRELOAD_MODULES'.
44841 Reported by Stephane Chazelas <stephane@artesyncp.com>
44842
1977517d 448432008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
44844
44845 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
44846 section into account, newer toolchains generate unique build ids
44847 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 44848 we want build ids to be preserved
1977517d 44849 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
44850 far from other sections don't cause the raw binary images grow
44851 size
44852
bfb1f1a2 448532008-04-15 Robert Millan <rmh@aybabtu.com>
44854
44855 * disk/lvm.c: Update copyright year.
44856 * kern/misc.c: Likewise.
44857
01979850 448582008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44859
44860 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 44861 there is no memory left for physical volume name.
01979850 44862
0a1150e2 448632008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44864
44865 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
44866 volume name mapping to support bigger than 9 character names properly.
44867
82ead3fe 448682008-04-13 Robert Millan <rmh@aybabtu.com>
44869
44870 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
44871 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
44872
e54a72f5 448732008-04-13 Christian Franke <franke@computer.org>
44874
44875 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
44876 to create a floppy emulation boot CD when non emulation mode
44877 does not work.
44878 Enable Joliet CD filesystem extension.
44879
9fe86034 448802008-04-13 Robert Millan <rmh@aybabtu.com>
44881
44882 * kern/misc.c (grub_strncat): Fix off-by-one error.
44883 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
44884
44885 * kern/env.c (grub_env_context_close): Clear current context, not
44886 previous one.
44887 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
44888
44889 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
44890
7ceeee39 448912008-04-13 Robert Millan <rmh@aybabtu.com>
44892
44893 Improve robustness when handling LVM.
44894
44895 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 44896 (and leave `*p' unmodified).
7ceeee39 44897 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
44898 through it.
44899 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
44900 iterating through it.
44901 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
44902 through it.
fe6b695a 44903 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 44904 when due) on each grub_lvm_getvalue() or grub_strstr() call.
44905 Don't assume `vg->pvs != NULL' when iterating through it.
44906
58cd3d85 449072008-04-13 Robert Millan <rmh@aybabtu.com>
44908
44909 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
44910 * genmk.rb (partmap): New variable.
44911 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
44912 (#{partmap}): New target rule.
44913 * genpartmaplist.sh: New file.
44914 * Makefile.in (pkglib_DATA): Add partmap.lst.
44915 (partmap.lst): New target rule.
44916 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
44917 modules (including all partition maps), instead of preloading them.
44918
78b51059 449192007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
44920
44921 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
44922 `linux-boot-prober' (if installed) to detect other operating
44923 systems which are installed on the computer and add them to
44924 the boot menu.
44925 * conf/common.rmk: Build and install 30_os-prober.
44926
a91627b4 449272008-04-12 Robert Millan <rmh@aybabtu.com>
44928
44929 * kern/powerpc/ieee1275/init.c: Move from here ...
44930 * kern/ieee1275/init.c: ... to here. Update all users.
44931
44932 * kern/powerpc/ieee1275/cmain.c: Move from here ...
44933 * kern/ieee1275/cmain.c: ... to here. Update all users.
44934
44935 * kern/powerpc/ieee1275/openfw.c: Move from here ...
44936 * kern/ieee1275/openfw.c: ... to here. Update all users.
44937
44938 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
44939 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
44940
322562ea 449412008-04-10 Pavel Roskin <proski@gnu.org>
44942
44943 * configure.ac: Always use "_cv_" in cache variables for
44944 compatibility with Autoconf 2.62.
44945
a02a73c5 449462008-04-07 Robert Millan <rmh@aybabtu.com>
44947
44948 Revert grub/machine/init.h addition by Pavel (since it breaks on
44949 i386-ieee1275 and others):
44950 * util/i386/pc/misc.c: Remove grub/machine/init.h.
44951 * util/powerpc/ieee1275/misc.c: Likewise.
44952
25c024b1 449532008-04-07 Robert Millan <rmh@aybabtu.com>
44954
44955 * util/grub-probe.c (probe): Improve error message.
44956
3cbd2f98 449572008-04-07 Robert Millan <rmh@aybabtu.com>
44958
44959 * util/biosdisk.c (read_device_map): Skip devices that don't exist
44960 (this prevents the presence of a bogus entry from ruining the whole
44961 thing).
44962
87a297bf 449632008-04-06 Pavel Roskin <proski@gnu.org>
44964
36747a62 44965 * util/biosdisk.c: Include grub/util/biosdisk.h.
44966 * util/grub-fstest.c (execute_command): Make static.
44967 * util/grub-mkdevicemap.c (check_device): Likewise.
44968 * util/i386/pc/misc.c: Include grub/machine/init.h.
44969 * util/powerpc/ieee1275/misc.c: Likewise.
44970 * util/lvm.c: Include grub/util/lvm.h.
44971 * util/misc.c: Include grub/kernel.h, grub/misc.h and
44972 grub/cache.h.
44973 * util/raid.c: Include grub/util/raid.h.
44974 (grub_util_getdiskname): Make static.
44975
87a297bf 44976 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
44977 grub_hostfs_fini(), as they are called from grub_init_all() and
44978 grub_fini_all() respectively. This fixes an infinite loop in
44979 grub-fstest due to double registration of hostfs.
44980 Reported by Christian Franke <Christian.Franke@t-online.de>
44981
f6ce7629 449822008-04-05 Pavel Roskin <proski@gnu.org>
44983
44984 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
44985 all 8 functions. Otherwise, probe function 0 only.
44986
070e49e4 449872008-04-04 Pavel Roskin <proski@gnu.org>
44988
8b088a4c 44989 * commands/lspci.c (grub_lspci_iter): Print the bus number
44990 correctly.
44991
4f657021 44992 * commands/lspci.c (grub_pci_classes): Fix typos.
44993 (grub_lspci_iter): Don't print func twice. Print vendor ID
44994 before device ID, as it's normally done.
44995
070e49e4 44996 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44997 Fix signedness warnings.
44998 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
44999 Likewise.
45000 * util/ieee1275/get_disk_name.c: Include config.h so that
45001 _GNU_SOURCE is defined and getline() is declared. Mark an
45002 unused argument as such. Fix a signedness warning.
45003
ba7328dc 450042008-04-02 Pavel Roskin <proski@gnu.org>
45005
26887f22 45006 * genkernsyms.sh.in: Use more robust assignments for CC and
45007 srcdir. Quote srcdir.
45008 * gensymlist.sh.in: Likewise. Assert at the compile time that
45009 the symbol table is not empty.
45010
ba7328dc 45011 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
45012 * fs/cpio.c (grub_cpio_read): Likewise.
45013
0f582c6b 450142008-04-01 Pavel Roskin <proski@gnu.org>
45015
4b6e1995 45016 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
45017 * disk/host.c (grub_host_open): Likewise.
45018 * disk/loopback.c (grub_loopback_open): Likewise.
45019 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
45020 disk->id as in disk/host.c, not a multi-character constant.
45021
828a2768 45022 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
45023 later is obsolete, potentially dangerous and sets a bad example.
45024 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
45025 * util/misc.c (grub_util_get_image_size): Likewise.
45026
2bb4fb47 45027 * disk/loopback.c (options): Improve help for "--partitions".
45028
0f582c6b 45029 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
45030 options to align them with the short options, e.g. "echo -e".
45031
a33224e0 450322008-03-31 Bean <bean123ch@gmail.com>
45033
45034 * video/reader/png.c (grub_png_data): New member is_16bit and
45035 image_data.
45036 (grub_png_decode_image_header): Detect 16 bit png image.
45037 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
45038 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
45039 (grub_video_reader_png): Release memory occupied by image_data.
45040
45041 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
45042 4096 bytes.
45043 (grub_nfs_mount): Skip the test for sector per cluster.
45044
45045 * include/grub/ntfs.h (MAX_SPC): Removed.
45046
86cb4f54 450472008-03-31 Bean <bean123ch@gmail.com>
45048
45049 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
45050 (grub_probe_SOURCES): Add fs/afs.c.
45051 (grub_fstest_SOURCES): Likewise.
45052 (afs_mod_SOURCES): New variable.
45053 (afs_mod_CFLAGS): Likewise.
45054 (afs_mod_LDFLAGS): Likewise.
45055
45056 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
45057 (grub_emu_SOURCES): Likewise.
45058
45059 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45060
45061 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45062
45063 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45064
45065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45066
45067 * fs/afs.c: New file.
45068
17c74c21 450692008-03-30 Pavel Roskin <proski@gnu.org>
45070
4cb68e89 45071 * disk/host.c: Include grub/misc.h to fix a warning.
45072 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
45073 warnings about implicit declarations.
45074
8790bb04 45075 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
45076 variable.
45077 * include/grub/i386/loader.h: Change declaration of
45078 grub_linux_boot() to match what grub_loader_set() expects.
45079 * util/getroot.c (grub_guess_root_device): Return const char* to
45080 fix a warning.
45081 * util/grub-probe.c (probe): Fix a warning about uninitialized
45082 abstraction_name variable.
45083 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
45084 second argument as unused to fix a warning.
45085
9a3f3296 45086 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
45087 missing grub_error() call.
45088
0ecef90d 45089 * util/update-grub_lib.in: Define datarootdir, since Autoconf
45090 2.60 and newer uses it to define datadir.
45091
0bf6d401 45092 * commands/sleep.c: Fix warning about implicit declaration.
45093 * disk/memdisk.c: Likewise.
45094 * loader/aout.c: Likewise.
45095 * loader/i386/bsd_normal.c: Likewise.
45096 * util/grub-probe.c: Likewise.
45097
7cdacf97 45098 * commands/i386/cpuid.c (has_longmode): Make static.
45099 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
45100 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
45101
17c74c21 45102 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
45103 GDT. This is more robust, as %ds can change.
45104 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
45105 calling real_to_prot().
45106 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
45107
80a3e68b 451082008-03-28 Pavel Roskin <proski@gnu.org>
45109
45110 * kern/i386/pc/startup.S: Assert that uncompressed functions
45111 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
45112 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
45113 code, as they push parts of the code (error handlers) beyond
45114 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
45115 code as correctness and size.
45116
77bcd272 451172008-03-28 Pavel Roskin <proski@gnu.org>
45118
45119 * kern/i386/pc/startup.S
45120 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
45121 data block address to the real mode, keep offset minimal. This
45122 works around a bug in AWARD BIOS on old Athlon systems, which
45123 makes CD detection hang.
45124
c5dfd43b 451252008-03-26 Pavel Roskin <proski@gnu.org>
45126
45127 * normal/color.c (grub_parse_color_name_pair): Make `name' a
45128 const.
45129 * include/grub/normal.h: Add grub_parse_color_name_pair()
45130 declaration.
45131
bf962df2 451322008-03-24 Bean <bean123ch@gmail.com>
45133
45134 * disk/i386/pc/biosdisk.c (cd_start): Removed.
45135 (cd_count): Removed.
45136 (cd_drive): New variable.
45137 (grub_biosdisk_get_drive): Don't check for (cdN) device.
45138 (grub_biosdisk_call_hook): Likewise.
45139 (grub_biosdisk_iterate): Change cdrom detection method.
45140 (grub_biosdisk_open): Replace cd_start with cd_drive.
45141 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
45142 detect cdrom device.
45143
45144 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
45145 Removed.
45146 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
45147 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
45148 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
45149 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
45150 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
45151 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
45152 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
45153 (grub_biosdisk_cdrp): New structure.
45154 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
45155
45156 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
45157
45158 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
45159 device.
45160
45161 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
45162 New function.
45163
68e7fc7a 451642008-03-20 Robert Millan <rmh@aybabtu.com>
45165
45166 Remove 2 TiB limit in ata.mod.
45167 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
45168 (grub_ata_dumpinfo): Print sector count with 0x%llx.
45169 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
45170 grub_uint64_t instead of grub_uint32_t.
45171
38ad2cf5 451722008-03-05 Bean <bean123ch@gmail.com>
45173
45174 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
45175 (grub_multiboot): Set boot device.
45176
45177 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
45178
2b89344e 451792008-03-02 Bean <bean123ch@gmail.com>
45180
45181 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
45182 symlink_buffer.
45183
87a95d1f 451842008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
45185
45186 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
45187 texinfo.tex.
45188
45189 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
45190 modified.
45191
45192 * docs/fdl.texi: New file.
f19dbdb7 45193
87a95d1f 45194 * docs/mdate-sh: New file. Copied from gnulib.
45195 * docs/texinfo.tex: Likewise.
45196
45197 * config.guess: Updated from gnulib.
45198 * install-sh: Likewise.
45199
7dc15d8e 452002008-02-28 Robert Millan <rmh@aybabtu.com>
45201
45202 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
45203 (aout_mod_SOURCES): New variable.
45204 (aout_mod_CFLAGS): Likewise.
45205 (aout_mod_LDFLAGS): Likewise.
45206
45207 * conf/i386-ieee1275.rmk: Likewise.
45208
b00ab696 452092008-02-28 Robert Millan <rmh@aybabtu.com>
45210
45211 * util/update-grub.in: Reorganise terminal validity check. Accept
45212 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
45213 Based on suggestion by Franklin PIAT.
45214
79ca2d78 452152008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
45216
45217 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
45218 function.
45219 * util/getroot.c (grub_util_check_block_device): New function that
45220 returns the given argument if it is a block device and returns NULL else.
45221 * util/grub-probe.c (argument_is_device): New variable.
45222 (probe): Promote device_name from a variable to an argument. Receive
45223 device_name from grub_util_check_block_device() if path is NULL and from
45224 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 45225 (options): Introduce new parameter '-d, --device'.
79ca2d78 45226 (main): Add description of the new parameter to the help screen.
45227 Rename path variable to argument. Set argument_is_device if the '-d'
45228 option is given. Pass argument to probe() depending on
45229 argument_is_device.
45230
0d16e571 452312008-02-24 Bean <bean123ch@gmail.com>
45232
45233 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
45234 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
45235 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
45236 (GRUB_ISO9660_VOLDESC_PART): Likewise.
45237 (GRUB_ISO9660_VOLDESC_END): Likewise.
45238 (grub_iso9660_primary_voldesc): New member escape.
45239 (grub_iso9660_data): New member joliet.
45240 (grub_iso9660_convert_string): New function.
45241 (grub_iso9660_mount): Detect joliet extension.
45242 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
45243 (grub_iso9660_iso9660_label): Likewise.
45244
45245 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
45246 (grub_setup_SOURCES): Add fs/udf.c.
45247 (grub_fstest_SOURCES): Likewise.
45248 (udf_mod_SOURCES): New variable.
45249 (udf_mod_CFLAGS): Likewise.
45250 (udf_mod_LDFLAGS): Likewise.
45251
45252 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
45253 (grub_emu_SOURCES): Likewise.
45254
45255 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45256
45257 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45258
45259 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45260
45261 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45262
45263 * fs/udf.c: New file.
45264
8a594a17 452652008-02-24 Robert Millan <rmh@aybabtu.com>
45266
45267 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
45268 (normal/lexer.c_DEPENDENCIES): New variables.
45269 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45270 (normal/lexer.c_DEPENDENCIES): Likewise.
45271 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
45272 (normal/lexer.c_DEPENDENCIES): Likewise.
45273 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
45274 (normal/lexer.c_DEPENDENCIES): Likewise.
45275 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45276 (normal/lexer.c_DEPENDENCIES): Likewise.
45277 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45278 (normal/lexer.c_DEPENDENCIES): Likewise.
45279
2dc33c03 452802008-02-23 Robert Millan <rmh@aybabtu.com>
45281
45282 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
45283 since they were intended to be in hex. This didn't break previously
45284 because of a bug in gpt_partition_map_iterate() (see below).
45285
45286 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
45287 when checking the validity of GPT header.
45288 Remove `partno', since it always provides the same information as `i'.
45289
f6f4cfb0 452902008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
45291
45292 * include/grub/efi/time.h: Fix a wrong comment.
45293
79ff665f 452942008-02-19 Pavel Roskin <proski@gnu.org>
45295
45296 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
45297 message.
45298
d38e24c2 452992008-02-19 Bean <bean123ch@gmail.com>
45300
45301 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
45302 (aout_mod_SOURCES): New variable.
45303 (aout_mod_CFLAGS): Likewise.
45304 (aout_mod_LDFLAGS): Likewise.
45305 (_bsd_mod_SOURCES): New variable.
45306 (_bsd_mod_CFLAGS): Likewise.
45307 (_bsd_mod_LDFLAGS): Likewise.
45308 (bsd_mod_SOURCES): New variable.
45309 (bsd_mod_CFLAGS): Likewise.
45310 (bsd_mod_LDFLAGS): Likewise.
45311
45312 * include/grub/aout.h: New file.
45313
45314 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
45315
45316 * include/grub/i386/bsd.h: New file.
45317
45318 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
45319 to make it public.
45320
45321 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
45322 function is called, so that it's possible to change it inside the hook.
45323 (grub_elf64_load): Likewise.
45324 (grub_elf_file): Don't close the file if elf header is not found.
45325 (grub_elf_close): Close the file if grub_elf_file fails (The new
45326 grub_elf_file won't close it).
45327 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
45328 (grub_elf64_size): Likewise.
45329
45330 * kern/i386/loader.S (grub_unix_real_boot): New function.
45331
45332 * loader/aout.c: New file.
45333
45334 * loader/i386/bsd.c: New file.
45335
45336 * loader/i386/bsd_normal.c: New file.
45337
45338 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
45339
45340 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 45341 can test other formats.
d38e24c2 45342
b93bdb0f 453432008-02-19 Robert Millan <rmh@aybabtu.com>
45344
45345 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
45346 (grub_gpt_partition_type_empty): Redefine with macro from
45347 `<grub/gpt_partition.h>'.
45348 (gpt_partition_map_iterate): Adjust partition type comparison.
45349
45350 Export `entry' as partmap-specific `part.data' struct.
45351 (grub_gpt_header, grub_gpt_partentry): Move from here ...
45352
45353 * include/grub/gpt_partition.h (grub_gpt_header)
45354 (grub_gpt_partentry): ... to here (new file).
45355
45356 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
45357
45358 (grub_gpt_partition_type_bios_boot): New const variable, defined
45359 with macro from `<grub/gpt_partition.h>'.
45360
45361 (setup): Replace `first_start' with `embed_region', which keeps
45362 track of the embed region (and is partmap-agnostic).
45363
45364 Replace find_first_partition_start() with find_usable_region(),
45365 which finds a usable region for embedding using partmap-specific
45366 knowledge (supports PC/MSDOS and GPT).
45367
45368 Fix all assumptions that the embed region start at sector 1, using
45369 `embed_region.start' from now on. Similarly, use `embed_region.end'
45370 rather than `first_start' to calculate available size.
45371
45372 In grub_util_info() message, replace "into after the MBR" with an
45373 indication of the specific sector our embed region starts at.
45374
66cb40f6 453752008-02-19 Robert Millan <rmh@aybabtu.com>
45376
45377 * DISTLIST: Replace `commands/ieee1275/halt.c' and
45378 `commands/ieee1275/reboot.c' with `commands/halt.c' and
45379 `commands/reboot.c'.
45380 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45381 (halt_mod_SOURCES): Likewise.
45382 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45383 (halt_mod_SOURCES): Likewise.
45384
b7202015 453852008-02-17 Christian Franke <franke@computer.org>
45386
45387 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
45388
32b0fc49 453892008-02-17 Robert Millan <rmh@aybabtu.com>
45390
45391 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45392 set `first_start' to 0 for non-PC/MSDOS partition maps.
45393
aca63502 453942008-02-16 Robert Millan <rmh@aybabtu.com>
45395
45396 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45397 do not assume partition map is PC/MSDOS before performing checks that
45398 are specific to that layout.
45399
0de8be86 454002008-02-13 Robert Millan <rmh@aybabtu.com>
45401
45402 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
45403 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
45404 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
45405
c3db8364 454062008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
45407
45408 * configure.ac: Only a cosmetic change on the handling of
45409 -fno-stack-protector.
45410
f714229e 454112008-02-12 Alexandre Boeglin <alex@boeglin.org>
45412
c3db8364 45413 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
45414 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
45415 reboot.c.
f714229e 45416 (grub_install_SOURCES): Add halt.mod and reboot.mod.
45417 (halt_mod_SOURCES): New variable.
45418 (halt_mod_CFLAGS): Likewise.
45419 (halt_mod_LDFLAGS): Likewise.
45420 (reboot_mod_SOURCES): Likewise.
45421 (reboot_mod_CFLAGS): Likewise.
45422 (reboot_mod_LDFLAGS): Likewise.
45423
c3db8364 45424 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
45425 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
45426 reboot.c.
f714229e 45427 (halt_mod_SOURCES): Likewise.
45428 (reboot_mod_SOURCES): Likewise.
45429
c3db8364 45430 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
45431 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 45432 (reboot_mod_SOURCES): Likewise.
45433
45434 * commands/i386/pc/reboot.c: merge this file ...
45435
45436 * commands/ieee1275/reboot.c: ... and this file ...
45437
45438 * commands/reboot.c: ... to this file.
c3db8364 45439 Add some precompiler directive to include the correct header for
45440 each machine.
f714229e 45441
45442 * commands/ieee1275/halt.c: move this file ...
45443
45444 * commands/halt.c: ... to here.
c3db8364 45445 Add some precompiler directive to include the correct header for
45446 each machine.
f714229e 45447
45448 * include/grub/efi/efi.h (grub_reboot): New function declaration.
45449 (grub_halt): Likewise.
45450
45451 * kern/efi/efi.c (grub_reboot): New function.
45452 (grub_halt): Likewise.
45453
c74493e0 454542008-02-12 Robert Millan <rmh@aybabtu.com>
45455
45456 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
45457 /dev (like it is done for /dev/mapper). This doesn't provide support
45458 for EVMS, but at least it is now easy to identify the problem when it
45459 arises.
45460
d0db4b04 454612008-02-11 Robert Millan <rmh@aybabtu.com>
45462
45463 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
45464 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
45465 comparing it with -1, not 0.
45466
bf748642 454672008-02-10 Robert Millan <rmh@aybabtu.com>
45468
45469 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
45470 `disk/lvm.c'.
45471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45472 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
45473
45474 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
45475 `disk/lvm.c' to the end of the list.
45476 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45477 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45478
b5db202a 454792008-02-10 Robert Millan <rmh@aybabtu.com>
45480
45481 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
45482 grub_print_error() instead. This will let user know why we're entering
45483 rescue mode.
45484 Based on suggestions from Sam Morris.
45485
83abee31 454862008-02-10 Alexandre Boeglin <alex@boeglin.org>
45487
45488 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
45489 on remaining N args, instead of "--" arg N times.
45490
78d5a08b 454912008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
45492
45493 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
45494 (fill_with_default_glyph): Changed to use unknown_glyph for fill
45495 pattern for unknown glyphs.
45496
68807e5f 454972008-02-09 Robert Millan <rmh@aybabtu.com>
45498
45499 * configure.ac: Probe for `help2man'.
45500 * Makefile.in (builddir): New variable.
45501 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
45502 or otherwise add a few flags/options to it.
45503 (install-local): For every executable utility or script that is
45504 installed, invoke $(HELP2MAN) to install a manpage based on --help
45505 output.
45506
45507 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
45508 that it doesn't prevent --help from working in build tree.
45509
45510 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
45511 with `bug-grub@gnu.org'.
45512 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
45513 * util/update-grub.in (usage): New function.
45514 Implement proper argument check, with support for --help and --version
45515 (as well as existing -y).
45516
455172008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 45518
45519 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
45520 avoid overwriting previous output.
45521 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
45522
c1962162 455232008-02-09 Robert Millan <rmh@aybabtu.com>
45524
45525 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
45526 drawing the menu.
45527
3dac2e3f 455282008-02-09 Robert Millan <rmh@aybabtu.com>
45529
45530 * commands/sleep.c: New file.
45531 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
45532 (sleep_mod_SOURCES): New variable.
45533 (sleep_mod_CFLAGS): Likewise.
45534 (sleep_mod_LDFLAGS): Likewise.
45535
7a634e08 455362008-02-09 Robert Millan <rmh@aybabtu.com>
45537
45538 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
45539 situations in which we can deduce the RAID size and the superblock
45540 doesn't match it.
45541
b92f0c18 455422008-02-09 Robert Millan <rmh@aybabtu.com>
45543
45544 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
45545 and return a grub_diskmemberlist_t composed of LVM physical volumes.
45546 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
45547
45548 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
45549 and return a grub_diskmemberlist_t composed of physical array members.
45550 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
45551
45552 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
45553 prototype.
45554 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
45555 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
45556 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
45557
45558 * util/grub-probe.c (probe): Move partmap probing code from here ...
45559 (probe_partmap): ... to here.
45560 (probe): Use probe_partmap() once for the disk we're probing, and
45561 additionally, when such disk contains a memberlist() struct member,
45562 once for each disk that is contained in the structure returned by
45563 memberlist().
45564
91a4bf68 455652008-02-09 Robert Millan <rmh@aybabtu.com>
45566
45567 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
45568 environment variable to 'all' in order to obtain debug output from
45569 non-util/ code.
45570 * util/i386/pc/grub-setup.c (main): Likewise.
45571
a96f9caa 455722008-02-08 Robert Millan <rmh@aybabtu.com>
45573
45574 * disk/raid.c (grub_raid_scan_device): Check for
45575 `array->device[sb.this_disk.number]' rather than for
45576 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 45577 guaranteed to be accessible.
a96f9caa 45578
b37a9222 455792008-02-08 Robert Millan <rmh@aybabtu.com>
45580
45581 * disk/raid.c: Update copyright.
45582 * fs/cpio.c: Likewise.
45583 * include/grub/raid.h: Likewise.
45584 * loader/i386/pc/multiboot.c: Likewise.
45585 * util/hostfs.c: Likewise.
45586
5626aee1 455872008-02-08 Robert Millan <rmh@aybabtu.com>
45588
45589 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
45590 to a grub_disk_t array.
45591 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
45592 `device[x]'.
45593 (grub_raid_scan_device): Replace `device[x].name' accesses with
45594 `device[x]->name'. Simplify initialization of `array->device[x]'.
45595
554f0187 455962008-02-08 Robert Millan <rmh@aybabtu.com>
45597
45598 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
45599 grub_dprintf() calls.
45600 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
45601 error message.
45602
1ec8425d 456032008-02-07 Christian Franke <franke@computer.org>
45604
45605 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
45606 instead of fseek and ftell to support large files.
45607 (grub_hostfs_read): Likewise.
45608
f2156fda 456092008-02-07 Robert Millan <rmh@aybabtu.com>
45610
45611 Patch from Jeroen Dekkers.
45612 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 45613 failure, since successfully reading all array members might not be
f2156fda 45614 required.
45615
9216e0e7 456162008-02-06 Robert Millan <rmh@aybabtu.com>
45617
45618 * util/grub-probe.c (probe): Simplify partmap probing (with the
45619 assumption that the first word up to the underscore equals to
45620 the module name).
45621
b0dfd29a 456222008-02-06 Christian Franke <franke@computer.org>
45623
45624 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
45625 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
45626 last block of a cpio or tar stream.
45627 Check for "TRAILER!!!" instead of any empty data
45628 block to detect last block of a cpio stream.
45629 (grub_cpio_dir): Fix constness of variable np.
45630 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
45631 cpio or tar trailer is detected. This fixes a crash
45632 on open of a non existing file.
45633
c32865bf 456342008-02-05 Bean <bean123ch@gmail.com>
45635
45636 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
45637 address of entry.
45638 (grub_multiboot_load_elf64): Likewise.
45639 (grub_multiboot): Initialize mbi structure.
45640
45641 * util/grub-fstest.c: Don't include unused header file script.h.
45642
fe6b695a 45643 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 45644 of file.
45645 (grub_fstest_SOURCES): Likewise.
45646
409480b7 456472008-02-05 Robert Millan <rmh@aybabtu.com>
45648
45649 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
45650 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
45651 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
45652 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
45653
45654 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
45655 (translation_table): Replace hardcoded values with macros
45656 provided by `<grub/term.h>'.
45657
45658 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
45659 (keyboard_map): Correct/add a few values, with macros provided
45660 by `<grub/term.h>'.
45661 (keyboard_map_shift): Zero values that don't differ from their
45662 `keyboard_map' equivalents.
45663 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
45664 Discard the second scan code that is always sent by Caps lock.
45665 Only use `keyboard_map_shift' when it provides a non-zero value,
45666 otherwise fallback to `keyboard_map'.
45667
99fadbaa 456682008-02-04 Bean <bean123ch@gmail.com>
45669
45670 * Makefile.in (enable_grub_fstest): New variable.
45671
45672 * conf/common.rmk (grub_fstest_init.lst): New rule.
45673 (grub_fstest_init.h): Likewise.
45674 (grub_fstest_init.c): Likewise.
45675 (util/grub-fstest.c_DEPENDENCIES): New variable.
45676 (grub_fstest_SOURCES): Likewise.
45677
45678 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
45679
45680 * util/grub-fstest.c: New file.
45681
bf567c50 456822008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45683
45684 Make grub-setup handle a separate root device.
f19dbdb7 45685
bf567c50 45686 * util/i386/pc/grub-setup.c (setup): Always open the root device,
45687 so that the root device can be compared with the destination
45688 device.
45689 When embedding the core image, if the root and destination devices
45690 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
45691 0xFF.
45692 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 45693
9be6b98b 456942008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45695
45696 Add support for having a grub directory in a different drive. This
45697 is still only the data handling part.
f19dbdb7 45698
9be6b98b 45699 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
45700 (codestart): Save %dh in GRUB_ROOT_DRIVE.
45701 (grub_root_drive): New variable.
45702
45703 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
45704 instead of GRUB_BOOT_DRIVE to construct a device name. Set
45705 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
45706 as it was.
45707
45708 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
45709
45710 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
45711 macro.
45712 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
45713
45714 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
45715 is bogus, because PXE booting does not specify any drive
45716 correctly.
45717
45718 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
45719 am not sure if this is really correct.
45720
45721 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
45722 is always identical to the boot drive when booting from a CD.
45723
45724 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
45725 longer.
45726 (root_drive): New variable.
45727 (real_start): Unconditionally set %dh to ROOT_DRIVE.
45728 (setup_sectors): Push %dx right after popping it, because %dh will
45729 be modified later.
45730 (copy_buffer): Restore %dx.
45731
e0ca0677 457322008-02-03 Robert Millan <rmh@aybabtu.com>
45733
45734 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
45735 use `cdboot.img' for cdrom images.
45736
3b3f6629 457372008-02-03 Robert Millan <rmh@aybabtu.com>
45738
45739 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
45740 only setup gfxterm when `font' command has succeeded.
45741
d42b3672 457422008-02-03 Robert Millan <rmh@aybabtu.com>
45743
45744 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
45745 (grub_rescue_cmd_multiboot_loader)
45746 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
45747
fa370ea6 457482008-02-03 Pavel Roskin <proski@gnu.org>
45749
e0c5dacb 45750 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 45751 %edx and %esi from stack only after grub_gate_a20() is called.
45752 grub_gate_a20() clobbers %edx.
45753
f2a76e1d 457542008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45755
45756 * configure.ac (AC_INIT): Bumped to 1.96.
45757
45758 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
45759 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
45760 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
45761 video/readers/png.c.
45762
90fd32d1 457632008-02-03 Bean <bean123ch@gmail.com>
9be665dd 45764
45765 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
45766 (cdboot_img_SOURCES): New variable.
45767 (cdboot_img_ASFLAGS): New variable.
45768 (cdboot_img_LDFLAGS): New variable.
45769
45770 * boot/i386/pc/cdboot.S: New file.
45771
45772 * disk/i386/pc/biosdisk.c (cd_start): New variable.
45773 (cd_count): Likewise.
45774 (grub_biosdisk_get_drive): Add support for cd device.
45775 (grub_biosdisk_call_hook): Likewise.
45776 (grub_biosdisk_iterate): Likewise.
45777 (grub_biosdisk_open): Likewise.
45778 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
45779 (grub_biosdisk_rw): Support reading from cd device.
45780 (GRUB_MOD_INIT): Iterate cd devices.
45781
45782 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
45783 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
45784 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
45785
45786 * kern/i386/pc/init.c (make_install_device): Check for cd device.
45787
4020aa53 457882008-02-02 Robert Millan <rmh@aybabtu.com>
45789
45790 * commands/read.c: New file.
45791 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
45792 (read_mod_SOURCES): New variable.
45793 (read_mod_CFLAGS): Likewise.
45794 (read_mod_LDFLAGS): Likewise.
45795
e03a1132 457962008-02-02 Robert Millan <rmh@aybabtu.com>
45797
45798 * normal/main.c (grub_normal_execute): Check for `menu->size' when
45799 determining whether menu has to be displayed.
45800
58c69220 458012008-02-02 Marco Gerards <marco@gnu.org>
45802
45803 * bus/pci.c: New file.
45804
45805 * include/grub/pci.h: Likewise.
45806
45807 * include/grub/i386/pc/pci.h: Likewise.
45808
45809 * commands/lspci.c: Likewise.
45810
45811 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
45812 `lspci.mod'.
45813 (pci_mod_SOURCES): New variable.
45814 (pci_mod_CFLAGS): Likewise.
45815 (pci_mod_LDFLAGS): Likewise.
45816 (lspci_mod_SOURCES): Likewise.
45817 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 45818 (lspci_mod_LDFLAGS): Likewise.
58c69220 45819
c004e1b4 458202008-02-02 Bean <bean123ch@gmail.com>
45821
45822 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
45823 (grub_ufs_get_file_block): Fix indirect block calculation problem.
45824
45825 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
45826 (grub_xfs_btree_node): New structure.
45827 (grub_xfs_btree_root): New structure.
45828 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
45829 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
45830 (GRUB_XFS_EXTENT_BLOCK): Likewise.
45831 (GRUB_XFS_EXTENT_SIZE): Likewise.
45832 (grub_xfs_read_block): Support btree format type.
45833 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
45834 Use directory block as basic unit.
45835
45836 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
45837
45838 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
45839 __attribute__ ((__regparm__ (1))).
45840
f95562bf 458412008-02-01 Robert Millan <rmh@aybabtu.com>
45842
45843 Correct a mistake in previous commit.
45844
45845 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
45846 top.
45847 (normal/command.c_DEPENDENCIES): New variable.
45848
7d31f41f 458492008-02-01 Robert Millan <rmh@aybabtu.com>
45850
45851 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
45852 top.
45853 (normal/command.c_DEPENDENCIES): New variable.
45854 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
45855 * conf/i386-ieee1275.rmk: Likewise.
45856 * conf/i386-linuxbios.rmk: Likewise.
45857 * conf/i386-pc.rmk: Likewise.
45858 * conf/sparc64-ieee1275.rmk: Likewise.
45859 * conf/powerpc-ieee1275.rmk: Likewise.
45860 (grub_emu_SOURCES): Add `fs/fshelp.c'.
45861
45862 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
45863
60b6be74 458642008-02-01 Robert Millan <rmh@aybabtu.com>
45865
45866 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
45867 call at beginning of function.
45868
078522ab 458692008-01-31 Pavel Roskin <proski@gnu.org>
45870
45871 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 45872 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
45873 (grub_mkrescue_SOURCES): Likewise.
078522ab 45874 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
45875
ccaa8a5f 458762008-01-30 Robert Millan <rmh@aybabtu.com>
45877
45878 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
45879 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
45880 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
45881 (grub_probe_SOURCES): ... to here.
45882
45883 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
45884 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
45885 * conf/i386-ieee1275.rmk: Likewise.
45886 * conf/i386-linuxbios.rmk: Likewise.
45887 * conf/powerpc-ieee1275.rmk: Likewise.
45888
ae5a9cd7 458892008-01-30 Tristan Gingold <gingold@free.fr>
45890
45891 * kern/rescue.c: Silently accept empty lines.
45892
70bc2ef2 458932008-01-29 Bean <bean123ch@gmail.com>
45894
45895 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
45896 (real_code_2): Code cleanup and change comment style.
45897 (move_memory): Avoid using 32-bit address mode.
45898
6a4d50ea 458992008-01-29 Bean <bean123ch@gmail.com>
45900
45901 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
45902 (png_mod_SOURCES): New variable.
45903 (png_mod_CFLAGS): Likewise.
45904 (png_mod_LDFLAGS): Likewise.
45905
45906 * video/readers/png.c: New file.
45907
11cc30ac 459082008-01-28 Robert Millan <rmh@aybabtu.com>
45909
45910 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
45911 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
45912 `ifndef GRUB_MOD_GAP' hack.
45913 * util/elf/grub-mkimage.c (add_segments): Likewise.
45914
3abc589f 459152008-01-27 Robert Millan <rmh@aybabtu.com>
45916
45917 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
45918 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 45919 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 45920
e1907778 459212008-01-27 Robert Millan <rmh@aybabtu.com>
45922
45923 Get grub-emu to build again (including parallel builds).
45924
45925 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
45926 Split into ...
45927 (util/grub-emu.c_DEPENDENCIES): ... this, ...
45928 (normal/execute.c_DEPENDENCIES): ... this, ...
45929 (grub-emu_DEPENDENCIES): ... and this.
45930
45931 * conf/i386-efi.rmk: Likewise.
45932 * conf/i386-linuxbios.rmk: Likewise.
45933 * conf/i386-ieee1275.rmk: Likewise.
45934 * conf/powerpc-ieee1275.rmk: Likewise.
45935 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
45936
2216b101 459372008-01-27 Robert Millan <rmh@aybabtu.com>
45938
45939 * NEWS: Add a few items.
45940
f75172d9 459412008-01-27 Robert Millan <rmh@aybabtu.com>
45942
45943 Fix parallel builds with grub-emu. Based on earlier commit for
45944 grub-probe and grub-setup.
45945
45946 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45947 (util/grub-emu.c_DEPENDENCIES): ... this.
45948 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45949 (util/grub-emu.c_DEPENDENCIES): ... this.
45950 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45951 (util/grub-emu.c_DEPENDENCIES): ... this.
45952 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45953 (util/grub-emu.c_DEPENDENCIES): ... this.
45954 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45955 (util/grub-emu.c_DEPENDENCIES): ... this.
45956
3f51de77 459572008-01-27 Pavel Roskin <proski@gnu.org>
45958
45959 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
45960 to create a gap between _end and the modules added to the image
45961 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
45962 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
45963 * util/elf/grub-mkimage.c (add_segments): Likewise.
45964
2033f53e 459652008-01-26 Pavel Roskin <proski@gnu.org>
45966
45967 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
45968 just return an error.
45969
22da1f6f 459702008-01-26 Bean <bean123ch@gmail.com>
45971
45972 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
45973 (grub_reiserfs_get_item): Save offset of the next item.
45974 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
45975
2a9525e6 459762008-01-25 Robert Millan <rmh@aybabtu.com>
45977
45978 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
45979 make all filesystem sources appear together (possibly fixing omissions
45980 while at it).
45981 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45982 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45983 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45984 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45985
45986 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
45987 add `kern/file.c'.
45988 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
45989 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45990 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
45991 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45992
45993 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
45994 (probe): Add a sanity check to make sure of our ability to read
45995 requested files when probing for filesystem type.
45996
45997 * genmk.rb: Update copyright year (2007).
45998
45999 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
46000 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
46001 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
46002 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
46003 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
46004 : Remove function prototypes.
46005
b95f71b5 460062008-01-25 Robert Millan <rmh@aybabtu.com>
46007
46008 Revert my previous commits (based on wrong assumption of how grub_errno
46009 works).
46010
fe6b695a 46011 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 46012 * kern/file.c (grub_file_open): Likewise.
46013
d08bbb49 460142008-01-24 Pavel Roskin <proski@gnu.org>
46015
46016 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
46017 that hang if GRUB tries to setup colors.
46018 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
46019 colors for firmwares that don't support it.
46020 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
46021 Recognize Open Hack'Ware, set flags to work around its
46022 limitations.
46023
605e36ed 460242008-01-24 Robert Millan <rmh@aybabtu.com>
46025
46026 * kern/file.c (grub_file_open): Do not account previous failures of
46027 unrelated functions when grub_errno is checked for.
46028 Reported by Oleg Strikov.
46029
bac332a1 460302008-01-24 Bean <bean123ch@gmail.com>
46031
46032 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
46033 (grub_ufs_sblock): New member volume name.
46034 (grub_ufs_find_file): Fix string copy bug.
46035 (grub_ufs_label): Implement this function properly.
46036
46037 * fs/hfs.c (grub_hfs_cnid_type): New enum.
46038 (grub_hfs_iterate_records): Use the correct file number for extents
46039 and catalog file. Fix problem in next index calculation.
46040 (grub_hfs_find_node): Replace recursive function call with loop.
46041 (grub_hfs_iterate_dir): Replace recursive function call with loop.
46042
15c80c09 460432008-01-23 Robert Millan <rmh@aybabtu.com>
46044
46045 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
46046 `<grub/symbol.h>' and `<grub/multiboot.h>'.
46047 (grub_multiboot2_real_boot): New function prototype.
46048
46049 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
46050 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
46051
46052 * kern/i386/ieee1275/init.c (grub_os_area_addr)
46053 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
46054
305338fd 460552008-01-23 Robert Millan <rmh@aybabtu.com>
46056
46057 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
46058 #ifdef'ed out grub_printf().
46059
3ea52685 460602008-01-23 Robert Millan <rmh@aybabtu.com>
46061
46062 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
46063 grub_dprintf calls, since they make "debug=all" mode unusable.
46064 (grub_console_checkkey): Likewise.
46065
5882ae4b 460662008-01-23 Robert Millan <rmh@aybabtu.com>
46067
46068 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
46069 `term/i386/pc/at_keyboard.c'.
46070 (pkglib_MODULES): Add `serial.mod'.
46071 (serial_mod_SOURCES): New variable.
46072 (serial_mod_CFLAGS): Likewise.
46073 (serial_mod_LDFLAGS): Likewise.
46074
46075 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
46076 `<grub/powerpc/ieee1275/console.h>'.
46077 (grub_keyboard_controller_init): New function prototype.
46078 (grub_console_checkkey): Likewise.
46079 (grub_console_getkey): Likewise.
46080
46081 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
46082 keyboard on i386.
46083
46084 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
46085 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
46086
06ab5303 460872008-01-23 Robert Millan <rmh@aybabtu.com>
46088
46089 * kern/i386/pc/init.c (make_install_device): When memdisk image is
46090 present, "(memdisk)/boot/grub" becomes the default prefix.
46091
46092 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
46093 a memdisk tarball with all the modules. Add --overlay=DIR option that
46094 allows users to overlay additional files into the image.
46095
dbb475a4 460962008-01-23 Robert Millan <rmh@aybabtu.com>
46097
46098 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
46099 and `machine/memory.h'.
46100 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
46101 (_multiboot_mod_SOURCES): New variable.
46102 (_multiboot_mod_CFLAGS): Likewise.
46103 (_multiboot_mod_LDFLAGS): Likewise.
46104 (multiboot_mod_SOURCES): Likewise.
46105 (multiboot_mod_CFLAGS): Likewise.
46106 (multiboot_mod_LDFLAGS): Likewise.
46107
46108 * include/grub/i386/ieee1275/loader.h: New file.
46109
46110 * include/grub/i386/ieee1275/machine.h: Likewise.
46111
46112 * include/grub/i386/ieee1275/memory.h: Likewise.
46113
46114 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
46115 variable declaration.
46116 (grub_os_area_size): Likewise.
46117
46118 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
46119 (grub_lower_mem, grub_upper_mem): New variables.
46120 (grub_stop_floppy): New function (just to make
46121 grub_multiboot2_real_boot() happy).
46122
46123 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
46124 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
46125 (grub_stop): New function.
46126 Include `"../realmode.S"' and `"../loader.S"'.
46127
46128 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
46129 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
46130
46131 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
46132 rely on grub_multiboot2_real_boot() for final boot.
46133
25638629 461342008-01-22 Robert Millan <rmh@aybabtu.com>
46135
46136 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
46137 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
46138 device that doesn't look like an SD card.
46139 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46140 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
46141 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
46142 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
46143 found.
46144
9dad816d 461452008-01-22 Robert Millan <rmh@aybabtu.com>
46146
46147 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
46148 avoid claiming over our own code.
46149
34842f2d 461502008-01-22 Bean <bean123ch@gmail.com>
46151
46152 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
46153 (jpeg_mod_SOURCES): New variable.
46154 (jpeg_mod_CFLAGS): Likewise.
46155 (jpeg_mod_LDFLAGS): Likewise.
46156
46157 * video/readers/jpeg.c : New file.
46158
44023a28 461592008-01-22 Bean <bean123ch@gmail.com>
46160
46161 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
46162 there are no more items.
46163
bc2d8ac6 461642008-01-21 Robert Millan <rmh@aybabtu.com>
46165
46166 * kern/mm.c (grub_mm_init_region): Improve debug message.
46167
261bd4bc 461682008-01-21 Robert Millan <rmh@aybabtu.com>
46169
46170 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
46171 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
46172 address.
46173 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
46174 a C macro.
46175 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
46176 Indicates start of upper memory.
46177 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
46178 (generate_image): Abort when image size is big enough to corrupt
46179 upper memory.
46180
46181 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
46182 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
46183 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46184 instead of hardcoding 0xA0000.
46185 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
46186 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46187 instead of hardcoding 0xA0000.
46188
f970b55e 461892008-01-21 Robert Millan <rmh@aybabtu.com>
46190
46191 * disk/memdisk.c (memdisk_size): New variable.
46192 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
46193 `memdisk_size'.
46194 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
46195 image to dynamic memory.
46196 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
46197 `memdisk_size'. Free memdisk block.
46198
1a8b0526 461992008-01-21 Robert Millan <rmh@aybabtu.com>
46200
46201 Fix detection of very small filesystems (like tar).
46202
46203 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
46204 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
46205 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
46206 a problem with this disk).
46207
6e9b4aab 462082008-01-21 Robert Millan <rmh@aybabtu.com>
46209
46210 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
46211 on grub_biosdisk_rw_standard() error.
46212
0d8837b2 462132008-01-21 Robert Millan <rmh@aybabtu.com>
46214
46215 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
46216 recent changes.
46217 * kern/elf.c: Likewise.
46218 * kern/ieee1275/ieee1275.c: Likewise.
46219 * kern/powerpc/ieee1275/openfw.c: Likewise.
46220 * term/ieee1275/ofconsole.c: Likewise.
46221
ffd36e34 462222008-01-21 Robert Millan <rmh@aybabtu.com>
46223
46224 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
46225
3f0093d0 46226 * include/grub/kernel.h (grub_arch_memdisk_addr)
46227 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 46228
3f0093d0 46229 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
46230 (grub_arch_memdisk_size): ... to here.
ffd36e34 46231
6c391b21 462322008-01-21 Robert Millan <rmh@aybabtu.com>
46233
46234 Mostly based on bugfix from Bean.
46235
46236 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
46237 attribute with hook() parameter.
46238 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
46239 declaration.
46240 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
46241 attribute with hook() parameter.
46242 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
46243 declaration.
46244
55a581dc 462452008-01-21 Robert Millan <rmh@aybabtu.com>
46246
46247 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
46248 (pkglib_MODULES): Add `memdisk.mod'.
46249 (memdisk_mod_SOURCES): New variable.
46250 (memdisk_mod_CFLAGS): Likewise.
46251 (memdisk_mod_LDFLAGS): Likewise.
46252
46253 * disk/memdisk.c: New file.
46254
46255 * include/grub/disk.h (grub_disk_dev_id): Add
46256 `GRUB_DISK_DEVICE_MEMDISK_ID'.
46257
46258 * include/grub/i386/pc/kernel.h
46259 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
46260 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
46261 (grub_kernel_image_size): New variable declaration.
46262 (grub_total_module_size): Likewise.
46263 (grub_memdisk_image_size): Likewise.
46264
46265 * include/grub/i386/pc/memory.h
46266 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
46267
46268 * include/grub/kernel.h: Include `<grub/symbol.h>'.
46269 (grub_arch_memdisk_addr): New variable declaration.
46270 (grub_arch_memdisk_size): Likewise.
46271
46272 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
46273 (grub_arch_memdisk_size): Likewise.
46274
46275 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
46276 (codestart): Replace hardcoded `0x100000' with
46277 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
46278
46279 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
46280 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
46281 not NULL, append the contents of the file it refers to, at the end of
46282 the compressed kernel image. Initialize `grub_memdisk_image_size'
46283 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
46284 (options): Add "memdisk"|'m' option.
46285 (main): Parse --memdisk|-m option, and pass user-provided path as
46286 parameter to generate_image().
46287
3d7f54c9 462882008-01-20 Robert Millan <rmh@aybabtu.com>
46289
46290 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
46291 grub_dprintf() calls from here ...
46292 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
46293
0bf74728 462942008-01-20 Robert Millan <rmh@aybabtu.com>
46295
46296 Fix detection of "real mode" when /options/real-mode? doesn't exist.
46297
46298 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
46299 declaration.
46300 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
46301 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
46302 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 46303 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 46304 property).
46305 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
46306 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
46307
33bf70a7 463082008-01-19 Robert Millan <rmh@aybabtu.com>
46309
fe6b695a 46310 Get rid of confusing function (superseded by
33bf70a7 46311 `grub_ieee1275_get_integer_property')
46312 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
46313 prototype.
46314 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
46315 function.
46316 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
46317 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 46318 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 46319
e2da7d26 463202008-01-19 Robert Millan <rmh@aybabtu.com>
46321
46322 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
46323 command after "shut-down", since implementations differ on which
46324 the command for halt is.
46325
59f1fd8d 463262008-01-19 Robert Millan <rmh@aybabtu.com>
46327
46328 * include/grub/i386/linuxbios/console.h: Add header protection.
46329 (grub_keyboard_controller_init): New function prototype.
46330 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
46331 (KEYBOARD_COMMAND_READ): Likewise.
46332 (KEYBOARD_COMMAND_WRITE): Likewise.
46333 (KEYBOARD_SCANCODE_SET1): Likewise.
46334 (grub_keyboard_controller_write): New function.
46335 (grub_keyboard_controller_read): Likewise.
46336 (grub_keyboard_controller_init): Likewise.
46337
46338 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
46339 (grub_console_init): On coreboot/LinuxBIOS, call
46340 grub_keyboard_controller_init().
46341
5f5a7c15 463422008-01-19 Robert Millan <rmh@aybabtu.com>
46343
46344 PowerPC changes provided by Pavel Roskin.
46345
46346 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
46347 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
46348 don't rely on cmain() doing it.
46349 * kern/i386/ieee1275/startup.S (_start): Store %eax in
46350 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
46351
1210e168 463522008-01-16 Robert Millan <rmh@aybabtu.com>
46353
46354 * include/grub/i386/linuxbios/memory.h
46355 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
46356 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
46357 receive `table_header' as argument. Instead, probe for it in the
46358 known memory ranges where it can be present.
46359 (grub_available_iterate): Do not pass a fixed `table_header' address
46360 to grub_linuxbios_table_iterate().
46361
3d04eab8 463622008-01-15 Robert Millan <rmh@aybabtu.com>
46363
46364 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
46365 * conf/i386-ieee1275.rmk: New file.
46366 * include/grub/i386/ieee1275/console.h: Likewise.
46367 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
46368 * include/grub/i386/ieee1275/kernel.h: Likewise.
46369 * include/grub/i386/ieee1275/time.h: Likewise.
46370 * kern/i386/ieee1275/init.c: Likewise.
46371 * kern/i386/ieee1275/startup.S: Likewise.
46372
d1bc1b73 463732008-01-15 Robert Millan <rmh@aybabtu.com>
46374
46375 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
46376 when pointers are 32-bit (but still do set it to one when they are
46377 64-bit).
46378
66a65807 463792008-01-15 Robert Millan <rmh@aybabtu.com>
46380
46381 * include/grub/ieee1275/ieee1275.h
46382 (grub_ieee1275_get_integer_property): New function prototype.
46383
46384 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
46385 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 46386 grub_ieee1275_get_property() to handle endianness.
66a65807 46387
46388 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
46389 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 46390 where appropriate.
66a65807 46391 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
46392 (grub_map): Likewise.
46393 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
46394
a83ccafd 463952008-01-15 Bean <bean123ch@gmail.com>
46396
46397 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
46398 (grub_script_execute_cmdline): Reset grub_errno.
46399
46400 * normal/main.c (read_config_file): Reset grub_errno.
46401
46402 * normal/parse.y (script_init): New.
46403 (script): Move function and menuentry here.
46404 (delimiter): New.
46405 (command): Add delimiter at the end of command.
46406 (commands): Adjust to match the new command.
46407 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 46408 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 46409 (if): Use the new commands.
46410
46411 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
46412
df6ecfc6 464132008-01-15 Robert Millan <rmh@aybabtu.com>
46414
46415 * normal/menu.c (run_menu): Move timeout message from here ...
46416 (print_timeout): ... to here.
46417 (run_menu): Use print_timeout() once during initial draw to print
46418 the whole message, and again in every clock tick to update only
46419 the number of seconds.
46420
87ae25eb 464212008-01-15 Robert Millan <rmh@aybabtu.com>
46422
46423 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
46424 actual size of `available' from grub_ieee1275_get_property(), and
46425 restrict parsing to that bound.
46426
47bf09a4 464272008-01-15 Christian Franke <franke@computer.org>
46428
46429 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
46430 (argp_program_version): Remove variable.
46431 (argp_program_bug_address): Likewise.
46432 (options): Convert from struct argp_option to struct option.
46433 (struct arguments): Remove.
46434 (parse_opt): Remove.
46435 (usage): New function.
46436 (main): Replace struct args members by simple variables.
46437 Replace argp_parse() by getopt_long().
46438 Add switch to evaluate options.
46439 Add missing "(...)" around root_dev in prefix string.
46440
c86f1469 464412008-01-14 Robert Millan <rmh@aybabtu.com>
46442
46443 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
46444 for grub_ieee1275_exit(), in order to improve portability.
46445
e622c559 464462008-01-14 Robert Millan <rmh@aybabtu.com>
46447
46448 * util/grub.d/10_linux.in (prefix): Define.
46449 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
46450
44cb1ec8 464512008-01-13 Pavel Roskin <proski@gnu.org>
46452
46453 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
46454 grub_errno if no errors have been detected.
46455
1eb8c802 464562008-01-12 Robert Millan <rmh@aybabtu.com>
46457
46458 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
46459 (grub_util_get_dev_abstraction): New function prototype.
46460
46461 * util/getroot.c: Include `<grub/util/getroot.h>'
46462 (grub_util_get_grub_dev): Move detection of abstraction type to ...
46463 (grub_util_get_dev_abstraction): ... here (new function).
46464
46465 * util/grub-probe.c: Convert PRINT_* to an enum. Add
46466 `PRINT_ABSTRACTION'.
46467 (probe): Probe for abstraction type when requested.
46468 (main): Understand `--target=abstraction'.
46469
46470 * util/i386/efi/grub-install.in: Add abstraction module to core
46471 image when it is found to be necessary.
46472 * util/i386/pc/grub-install.in: Likewise.
46473 * util/powerpc/ieee1275/grub-install.in: Likewise.
46474
46475 * util/update-grub_lib.in (font_path): Return system path without
46476 converting to GRUB path.
46477 * util/update-grub.in: Convert system path returned by font_path()
46478 to a GRUB path. Use `grub-probe -t abstraction' to determine what
46479 abstraction module is needed for loading fonts (if any). Export
46480 that as `GRUB_PRELOAD_MODULES'.
46481 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
46482 insmod commands).
46483
52bd3de9 464842008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
46485
46486 Remove some unused code from reiserfs.
f19dbdb7 46487
52bd3de9 46488 * fs/reiserfs.c (struct grub_reiserfs_key)
46489 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
46490 (struct grub_reiserfs_node_body): Removed.
46491 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46492 Likewise.
46493 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46494 Likewise.
46495 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46496 Likewise.
46497 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46498 Likewise.
46499 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46500 Likewise.
46501 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
46502 Likewise.
46503 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46504 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46505 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46506
2f80039d 465072008-01-10 Robert Millan <rmh@aybabtu.com>
46508
46509 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
46510 Determines if a file is garbage left by packaging systems, etc.
46511 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
46512 for processing /etc/grub.d scripts.
46513 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
46514 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
46515 as a condition for processing Linux images.
46516
87888032 465172008-01-10 Pavel Roskin <proski@gnu.org>
46518
46519 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
46520 to compile reiserfs.c on PowerPC.
46521
7e54fced 465222008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 46523
46524 * kern/device.c (grub_device_iterate): Do not abort device iteration
46525 when one of the devices cannot be opened.
46526 * kern/disk.c (grub_disk_open): Do not account previous failures of
46527 unrelated functions when grub_errno is checked for.
46528
5aa541e6 465292008-01-08 Robert Millan <rmh@aybabtu.com>
46530
46531 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
46532 `! grub_linux_is_bzimage', change order of address comparison to make
46533 it more intuitive, and improve "too big zImage" error message.
46534
7076340d 465352008-01-08 Robert Millan <rmh@aybabtu.com>
46536
46537 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
46538 `$(update-grub_DATA)'.
46539 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
46540 targets.
46541
9ca70333 465422008-01-07 Robert Millan <rmh@aybabtu.com>
46543
46544 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
46545 which instruction is modified by grub-setup during installation
46546 (since it wasn't obvious by only looking at this file).
46547
38ccf575 465482008-01-07 Robert Millan <rmh@aybabtu.com>
46549
46550 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
46551 listing actual TODO items.
46552
f5db4291 465532008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46554
868967cf 46555 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
46556 correctly.
46557 (grub_reiserfs_get_key_offset): Likewise.
46558 (grub_reiserfs_set_key_offset): Likewise.
46559 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 46560 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 46561
46562 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
46563 better to remove the bitfield version completely.
f19dbdb7 46564
868967cf 465652008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46566
f5db4291 46567 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
46568 allocated from the heap, due to the fshelp implementation.
46569 (grub_reiserfs_dir): Free NODE, due to the same reason.
46570
492e6d9d 465712008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46572
46573 Mostly from Vincent Pelletier:
f19dbdb7 46574
492e6d9d 46575 * fs/reiserfs.c: New file.
f19dbdb7 46576
492e6d9d 46577 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
46578 (reiserfs_mod_SOURCES): New variable.
46579 (reiserfs_mod_CFLAGS): Likewise.
46580 (reiserfs_mod_LDFLAGS): Likewise.
46581
46582 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
46583 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
46584 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
46585 normal/color.c.
46586
9ce3e7c1 465872008-01-06 Robert Millan <rmh@aybabtu.com>
46588
46589 * normal/color.c: Remove `<grub/env.h>'.
46590
f3b58148 465912008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
46592
46593 * include/grub/normal.h: Include <grub/env.h>.
46594
7ac3bcfa 465952008-01-05 Robert Millan <rmh@aybabtu.com>
46596
46597 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
46598 usage example with `(hd0,1)'.
fb358190 46599 Reported by Samuel Thibault.
7ac3bcfa 46600
c8ee99d7 466012008-01-05 Robert Millan <rmh@aybabtu.com>
46602
46603 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
46604 (grub_linux_boot_zimage): Rename to ...
46605 (grub_linux_boot): ... this.
46606 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
46607 (grub_linux_boot_zimage): Conditionalize zImage copy.
46608
46609 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
46610 (grub_linux_boot_bzimage): Remove prototype.
46611 (grub_linux_boot_zimage): Rename to ...
46612 (grub_linux_boot): ... this.
46613
46614 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
46615 (grub_linux_boot): Remove function.
46616
0ece25b1 466172008-01-05 Robert Millan <rmh@aybabtu.com>
46618
46619 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
46620 (grub_env_write_color_highlight): Likewise.
46621 (grub_wait_after_message): Likewise.
46622
46623 * normal/color.c: New file.
46624
46625 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46626 (normal_mod_DEPENDENCIES): Likewise.
46627
46628 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46629 (normal_mod_DEPENDENCIES): Likewise.
46630
46631 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46632 (normal_mod_DEPENDENCIES): Likewise.
46633
46634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46635 (normal_mod_DEPENDENCIES): Likewise.
46636
46637 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
46638 for waiting after a message is printed.
46639 * normal/main.c (read_config_file): Likewise.
46640 (grub_normal_init): Register grub_env_write_color_normal() and
46641 grub_env_write_color_highlight() hooks. Mark `color_normal' and
46642 `color_highlight' variables as global.
46643
46644 * normal/menu.c (grub_wait_after_message): New function.
46645 (grub_color_menu_normal): New variable. Replaces ...
46646 (GRUB_COLOR_MENU_NORMAL): ... this macro.
46647 (grub_color_menu_highlight): New variable. Replaces ...
46648 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
46649 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
46650 `GRUB_TERM_COLOR_STANDARD'.
46651 (print_message): Use `grub_setcolorstate' to reload colors. Rename
46652 `normal_code' and `highlight_code' to `old_color_normal' and
46653 `old_color_highlight', respectively.
46654 (grub_menu_init_page): Update colors when drawing the menu, based on
46655 `menu_color_normal' and `menu_color_highlight' variables.
46656 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
46657 a message is printed.
46658
182dd4e5 466592008-01-05 Robert Millan <rmh@aybabtu.com>
46660
46661 * kern/env.c (grub_env_context_open): Propagate hooks for global
46662 variables to new context.
46663
46664 * kern/main.c (grub_set_root_dev): Export `root' variable.
46665
ddf8f6ad 466662008-01-05 Robert Millan <rmh@aybabtu.com>
46667
46668 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 46669 discs unconditionally, since udev and others have options to provide
ddf8f6ad 46670 them.
46671
d8b43d9b 466722008-01-05 Robert Millan <rmh@aybabtu.com>
46673
46674 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
46675
2bff2de3 466762008-01-04 Christian Franke <franke@computer.org>
46677
46678 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
46679 of eisa_mmap.
46680
97eab917 466812008-01-03 Pavel Roskin <proski@gnu.org>
46682
46683 * kern/i386/linuxbios/init.c: Put "void" to all function
46684 declarations with no arguments.
46685 * kern/powerpc/ieee1275/init.c: Likewise.
46686 * term/i386/pc/at_keyboard.c: Likewise.
46687 * term/i386/pc/vga_text.c: Likewise.
46688 * util/grub-mkdevicemap.c: Likewise.
46689
b9416d00 466902008-01-02 Robert Millan <rmh@aybabtu.com>
46691
46692 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
46693 message when loaded image is out of bounds.
46694 (grub_multiboot_load_elf64): Likewise.
46695
92695df9 466962008-01-02 Pavel Roskin <proski@gnu.org>
46697
46698 * util/grub.d/10_linux.in: Try version without ".old" when
46699 looking for initrd. It's better to use initrd from the newer
46700 kernel of the same version than no initrd at all.
46701
d98d9cad 467022008-01-01 Robert Millan <rmh@aybabtu.com>
46703
46704 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
46705
dbfdce36 467062008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
46707
f19dbdb7 46708 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 46709 grub_video_get_active_render_target.
46710 (grub_video_adapter): Added unmap_color and get_active_render_target.
46711
f19dbdb7 46712 * video/video.c: Added grub_video_unmap_color and
dbfdce36 46713 grub_video_get_active_render_target.
46714 (grub_video_get_info): Changed method to accept NULL pointer as an
46715 argument to allow detection of active video adapter.
46716
46717 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
46718 grub_video_vbe_unmap_color_int.
46719 Added grub_video_vbe_unmap_color and
46720 grub_video_vbe_get_active_render_target.
46721 (grub_video_vbe_adapter): Added unmap_color and
46722 get_active_render_target.
46723
f19dbdb7 46724 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 46725 with grub_video_vbe_unmap_color_int.
46726
46727 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
46728 (DEFAULT_NORMAL_COLOR): Likewise.
46729 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
46730 (DEFAULT_FG_COLOR): Removed.
46731 (DEFAULT_BG_COLOR): Likewise.
46732 (DEFAULT_CURSOR_COLOR): Changed value.
46733 (grub_virtual_screen): Added standard_color_setting,
46734 normal_color_setting, highlight_color_setting and term_color.
46735 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
46736 (bitmap_width): Added.
46737 (bitmap_height): Likewise.
46738 (bitmap): Likewise.
46739 (set_term_color): Likewise.
46740 (grub_virtual_screen_setup): Changed to use new terminal coloring
46741 settings.
46742 (grub_gfxterm_init): Added init for bitmap.
46743 (grub_gfxterm_fini): Added destroy for bitmap.
46744 (redraw_screen_rect): Updated to use background bitmap and new
46745 terminal coloring.
46746 (scroll_up): Added optimization for case when there is no bitmap.
46747 (grub_gfxterm_cls): Fixed to use correct background color.
46748 (grub_virtual_screen_setcolorstate): Changed to use new terminal
46749 coloring.
46750 (grub_virtual_screen_setcolor): Likewise.
46751 (grub_virtual_screen_getcolor): Added.
46752 (grub_gfxterm_background_image_cmd): Likewise.
46753 (grub_video_term): Added setcolor and getcolor.
46754 (MOD_INIT): Added registration of background_image command.
46755 (MOD_TERM): Added unregistration for background_image command.
46756
c3c20931 467572007-12-30 Pavel Roskin <proski@gnu.org>
46758
46759 * loader/multiboot_loader.c: Fix multiboot command
46760 unregistration. Fix all typos in the word "multiboot".
46761
df266716 467622007-12-29 Pavel Roskin <proski@gnu.org>
94239199 46763
46764 * util/grub.d/10_linux.in: Refactor search for initrd. Add
46765 support for initrd names used in Fedora.
46766
fc6e896c 467672007-12-26 Bean <bean123ch@gmail.com>
46768
46769 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
46770 (cpio_mod_SOURCES): New variable.
46771 (cpio_mod_CFLAGS): Likewise.
46772 (cpio_mod_LDFLAGS): Likewise.
46773
46774 * fs/cpio.c: New file.
46775
46776 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
46777
46778 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46779
46780 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46781
46782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46783
533110ad 467842007-12-25 Robert Millan <rmh@aybabtu.com>
46785
46786 * include/grub/term.h (struct grub_term): Add `getcolor' function.
46787 (grub_getcolor): New function.
46788
46789 * kern/term.c (grub_getcolor): New function.
46790 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
46791 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
46792 (print_entry): Set normal and highlight colors to
46793 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
46794 respectively, before printing and restore them to old
46795 values afterwards.
46796 (grub_menu_init_page): Likewise. Fill an additional colored space
46797 that would otherwise be left blank.
46798
46799 * term/efi/console.c (grub_console_getcolor): New function.
46800 (struct grub_console_term.getcolor): New variable.
46801 * term/i386/pc/console.c (grub_console_getcolor): New function.
46802 (struct grub_console_term.getcolor): New variable.
46803 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
46804 (struct grub_console_term.getcolor): New variable.
46805
46806 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
46807 (struct grub_console_term.setcolor): Remove variable.
46808 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
46809 (struct grub_console_term.setcolor): Remove variable.
46810 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
46811 (struct grub_console_term.setcolor): Remove variable.
46812 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
46813 (struct grub_console_term.setcolor): Remove variable.
46814
4931827f 468152007-12-25 Robert Millan <rmh@aybabtu.com>
46816
46817 * configure.ac: Search for possible unifont.hex locations, and
46818 define UNIFONT_HEX if found.
46819
46820 * Makefile.in (UNIFONT_HEX): Define variable.
46821 (DATA): Rename to ...
46822 (PKGLIB): ... this. Update all users.
46823 (PKGDATA): New variable.
46824 (pkgdata_IMAGES): Rename to ...
46825 (pkglib_IMAGES): ... this. Update all users.
46826 (pkgdata_MODULES): Rename to ...
46827 (pkglib_MODULES): ... this. Update all users.
46828 (pkgdata_PROGRAMS): Rename to ...
46829 (pkglib_PROGRAMS): ... this. Update all users.
46830 (pkgdata_DATA): Rename to ...
46831 (pkglib_DATA): ... this. Update all users.
46832 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
46833 (unicode.pff, ascii.pff): New rules.
46834 (all-local): Add `$(PKGDATA)' dependency.
46835 (install-local): Process `$(PKGDATA)'.
46836
46837 * util/update-grub_lib.in (font_path): Search for *.pff files in
46838 a few more locations, including `${pkgdata}'.
46839
57e57e31 468402007-12-23 Robert Millan <rmh@aybabtu.com>
46841
46842 Patch from Bean <bean123ch@gmail.com>:
46843 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
46844 `size'.
46845
4bc72aa9 468462007-12-21 Bean <bean123ch@gmail.com>
46847
46848 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
46849 (ntfscomp_mod_SOURCES): New variable.
46850 (ntfscomp_mod_CFLAGS): Likewise.
46851 (ntfscomp_mod_LDFLAGS): Likewise.
46852
46853 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
46854 (grub_probe_SOURCES): Likewise.
46855 (grub_emu_SOURCES): Likewise.
46856
46857 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46858 (grub_emu_SOURCES): Likewise.
46859
46860 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46861 (grub_emu_SOURCES): Likewise.
46862
46863 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46864 (grub_emu_SOURCES): Likewise.
46865
46866 * fs/ntfs.c (grub_ntfscomp_func): New variable.
46867 (read_run_list): Renamed to grub_ntfs_read_run_list.
46868 (decomp_nextvcn): Moved to ntfscomp.c.
46869 (decomp_getch): Likewise.
46870 (decomp_get16): Likewise.
46871 (decomp_block): Likewise.
46872 (read_block): Likewise.
46873 (read_data): Partially moved to ntfscomp.c.
46874 (fixup): Change unsigned to grub_uint16_t.
46875 (read_mft): Change unsigned long to grub_uint32_t.
46876 (read_attr): Likewise.
46877 (read_data): Likewise.
46878 (read_run_data): Likewise.
46879 (read_run_list): Likewise.
46880 (read_mft): Likewise.
46881
46882 * fs/ntfscomp.c: New file.
46883
46884 * include/grub/ntfs.h: New file.
46885
af680a87 468862007-12-16 Robert Millan <rmh@aybabtu.com>
46887
46888 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
46889 IDE disk check, since Linux is known to support 20 IDE disks.
46890 Reported by Colin Watson.
46891
84be7599 468922007-12-15 Bean <bean123ch@gmail.com>
46893
46894 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
46895 (lnxboot_img_SOURCES): New variable.
46896 (lnxboot_img_ASFLAGS): Likewise.
46897 (lnxboot_img_LDFLAGS): Likewise.
46898
46899 * boot/i386/pc/lnxboot.S: New file.
46900
6af9db01 469012007-11-24 Pavel Roskin <proski@gnu.org>
46902
46903 * configure.ac: Test if '--build-id=none' is supported by the
46904 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
46905 objcopy to generate incorrect binary files (binutils
46906 2.17.50.0.18-1 as shipped by Fedora 8).
46907 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
46908 linking, so that build ID doesn't break the test.
46909
7361cfe6 469102007-11-24 Pavel Roskin <proski@gnu.org>
46911
46912 * include/grub/i386/time.h: use "void" in the argument list
46913 of grub_cpu_idle().
46914 * include/grub/powerpc/time.h: Likewise.
46915 * include/grub/sparc64/time.h: Likewise.
46916
1593e10c 469172007-11-18 Christian Franke <franke@computer.org>
46918
46919 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
46920 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
46921 This fixes the problem that function keys did not work in grub-emu.
46922
3b8db1a8 469232007-11-18 Christian Franke <franke@computer.org>
46924
46925 * disk/host.c (grub_host_open): Remove attribute unused from
46926 name parameter. Add check for "host". This fixes the problem
46927 that grub-emu does not find partitions.
46928
2e29408d 469292007-11-18 Christian Franke <franke@computer.org>
46930
46931 * util/hostfs.c (is_dir): New function.
46932 (grub_hostfs_dir): Handle missing dirent.d_type case.
46933 (grub_hostfs_read): Add missing fseek().
46934 (grub_hostfs_label): Clear label pointer. This fixes a crash
46935 of grub-emu on "ls (host)".
46936
398cd047 469372007-11-18 Christian Franke <franke@computer.org>
46938
46939 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
46940 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
46941 to 64 bit boundary by default.
46942
c405c391 469432007-11-18 Bean <bean123ch@gmail.com>
46944
46945 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
46946 (hexdump_mod_SOURCES): New variable.
46947 (hexdump_mod_CFLAGS): Likewise.
46948 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 46949
c405c391 46950 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46951
46952 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46953
46954 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46955
46956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46957
46958 * include/grub/hexdump.h: New file.
46959
46960 * commands/hexdump.c: New file.
46961
5cced7fd 469622007-11-10 Robert Millan <rmh@aybabtu.com>
46963
46964 * commands/i386/pc/play.c (beep_off): Switch order of arguments
46965 in grub_outb() calls.
46966 (beep_on): Likewise.
46967
8b714eb0 469682007-11-10 Christian Franke <franke@computer.org>
46969
46970 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
46971 (grub_menu_run): Likewise.
46972
ce0f1839 469732007-11-10 Robert Millan <rmh@aybabtu.com>
46974
46975 * include/grub/i386/efi/machine.h: New file.
46976 * include/grub/i386/linuxbios/machine.h: Likewise.
46977 * include/grub/i386/pc/machine.h: Likewise.
46978 * include/grub/powerpc/ieee1275/machine.h: Likewise.
46979 * include/grub/sparc64/ieee1275/machine.h: Likewise.
46980
46981 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
46982 (serial_hw_io_addr): New variable.
46983 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
46984 instead of `(unsigned short *) 0x400'.
46985
270c237d 469862007-11-10 Bean <bean123ch@gmail.com>
46987
46988 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
46989
a87783bf 469902007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46991
46992 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
46993 (vga_mod_SOURCES): Added.
46994 (vga_mod_CFLAGS): Likewise.
46995 (vga_mod_LDFLAGS): Likewise.
46996
46997 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
46998 grub_outb() calls.
46999 (set_map_mask): Likewise.
47000 (set_read_map): Likewise.
47001 (set_read_address): Likewise.
47002 (vga_font): Removed variable.
47003 (get_vga_glyph): Removed function.
47004 (invalidate_char): Likewise.
47005 (write_char): Changed to use grub_font_get_glyph() for font
47006 information.
47007 (grub_vga_putchar): Likewise.
47008 (grub_vga_getcharwidth): Likewise.
47009
6433b448 470102007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47011
47012 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
47013 flags.
47014 (pxeboot_img_LDFLAGS): Likewise.
47015 (diskboot_img_LDFLAGS): Likewise.
47016 (kernel_img_LDFLAGS): Likewise.
47017
49178511 470182007-11-06 Robert Millan <rmh@aybabtu.com>
47019
47020 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
47021 in grub_outb() calls.
47022 (serial_hw_init): Likewise.
47023
53b052de 470242007-11-05 Robert Millan <rmh@aybabtu.com>
47025
47026 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
47027 spaces. Skip non-regular files.
47028
5ab33bba 470292007-11-05 Robert Millan <rmh@aybabtu.com>
47030
47031 * kern/disk.c (grub_disk_firmware_fini)
47032 (grub_disk_firmware_is_tainted): New variables.
47033
47034 * include/grub/disk.h (grub_disk_firmware_fini)
47035 (grub_disk_firmware_is_tainted): Likewise.
47036
47037 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
47038 (grub_disk_biosdisk_fini): ... to here.
47039 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
47040 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
47041 is set. Register grub_disk_biosdisk_fini() in
47042 `grub_disk_firmware_fini'.
47043
47044 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
47045 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
47046 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
47047 to finish existing firmware disk interface.
47048
47049 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
47050 (ata_mod_SOURCES): New variable.
47051 (ata_mod_CFLAGS): Likewise.
47052 (ata_mod_LDFLAGS): Likewise.
47053
0149ab7c 470542007-11-05 Robert Millan <rmh@aybabtu.com>
47055
47056 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
47057 (grub_ata_wait): Reimplement using grub_millisleep().
47058
47059 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
47060 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
47061
be7ac41e 470622007-11-03 Marco Gerards <marco@gnu.org>
47063
47064 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
47065 (CRTC_ADDR_PORT): New macro.
47066 (CRTC_DATA_PORT): Likewise.
47067 (CRTC_CURSOR): Likewise.
47068 (CRTC_CURSOR_ADDR_HIGH): Likewise.
47069 (CRTC_CURSOR_ADDR_LOW): Likewise.
47070 (update_cursor): New function.
47071 (grub_console_real_putchar): Call `update_cursor'.
47072 (grub_console_gotoxy): Likewise.
47073 (grub_console_cls): Set the default color when clearing the
47074 screen.
47075 (grub_console_setcursor): Implemented.
47076
bb06ab2e 470772007-11-03 Marco Gerards <marco@gnu.org>
47078
47079 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
47080 become activate.
47081 (grub_ata_pio_write): Likewise.
47082
47083 (grub_atapi_identify): Wait after issuing an ATA command.
47084 (grub_atapi_packet): Likewise.
47085 (grub_ata_identify): Likewise.
47086 (grub_ata_readwrite): Likewise.
47087
cf8f780b 470882007-11-03 Marco Gerards <marco@gnu.org>
47089
47090 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
47091 (grub_ata_pio_write): Likewise.
47092 (grub_ata_readwrite): Use `grub_error', instead of
47093 returning `grub_errno'.
47094
ed649e54 470952007-11-03 Marco Gerards <marco@gnu.org>
47096
47097 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
47098 grub_ata_pio_write once for every single sector, instead of for
47099 multiple sectors.
47100
ca25d8f0 471012007-10-31 Robert Millan <rmh@aybabtu.com>
47102
47103 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
47104
47105 * conf/i386-linuxbios.rmk: New file.
47106
47107 * kern/i386/pc/hardware.c: Likewise.
47108 * term/i386/pc/at_keyboard.c: Likewise.
47109 * term/i386/pc/vga_text.c: Likewise.
47110
47111 * include/grub/i386/linuxbios/boot.h: Likewise.
47112 * include/grub/i386/linuxbios/console.h: Likewise.
47113 * include/grub/i386/linuxbios/init.h: Likewise.
47114 * include/grub/i386/linuxbios/kernel.h: Likewise.
47115 * include/grub/i386/linuxbios/loader.h: Likewise.
47116 * include/grub/i386/linuxbios/memory.h: Likewise.
47117 * include/grub/i386/linuxbios/serial.h: Likewise.
47118 * include/grub/i386/linuxbios/time.h: Likewise.
47119
47120 * kern/i386/linuxbios/init.c: Likewise.
47121 * kern/i386/linuxbios/startup.S: Likewise.
47122 * kern/i386/linuxbios/table.c: Likewise.
47123
e911ecc1 471242007-10-31 Marco Gerards <marco@gnu.org>
47125
47126 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
47127 (ata_mod_SOURCES): New variable.
47128 (ata_mod_CFLAGS): Likewise.
47129 (ata_mod_LDFLAGS): Likewise.
47130
47131 * disk/ata.c: New file.
47132
47133 * include/grub/disk.h (grub_disk_dev_id): Add
47134 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 47135
7f66d0e0 471362007-10-31 Robert Millan <rmh@aybabtu.com>
47137
47138 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
47139 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
47140
47141 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
47142 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
47143
47144 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
47145 `<grub/types.h>'.
47146
47147 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
47148
5cd7dd46 471492007-10-27 Robert Millan <rmh@aybabtu.com>
47150
3236ca65 47151 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 47152
2ebfc90f 471532007-10-22 Robert Millan <rmh@aybabtu.com>
47154
47155 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
47156 `"../realmode.S"'.
47157 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
47158
73fcb0f3 471592007-10-22 Robert Millan <rmh@aybabtu.com>
47160
47161 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
47162 (pkgdata_MODULES): Add `biosdisk.mod'.
47163 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
47164 variables.
47165
47166 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
47167 (grub_biosdisk_init): Replace with ...
47168 (GRUB_MOD_INIT(biosdisk)): ... this.
47169 (grub_biosdisk_fini): Replace with ...
47170 (GRUB_MOD_FINI(biosdisk)): ... this.
47171
47172 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
47173 (grub_machine_init): Remove call to grub_biosdisk_init().
47174 (grub_machine_fini): Remove call to grub_machine_fini().
47175
47176 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
47177
3381d274 471782007-10-22 Robert Millan <rmh@aybabtu.com>
47179
47180 * include/grub/time.h: New file.
47181 * include/grub/i386/time.h: Likewise.
47182 * include/grub/powerpc/time.h: Likewise.
47183 * include/grub/sparc64/time.h: Likewise.
47184
47185 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
47186 instances to ...
47187 (KERNEL_MACHINE_TIME_HEADER): ... this.
47188 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47189 instances to ...
47190 (KERNEL_MACHINE_TIME_HEADER): ... this.
47191 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47192 instances to ...
47193 (KERNEL_MACHINE_TIME_HEADER): ... this.
47194
47195 * kern/i386/efi/init.c: Include `<grub/time.h>'.
47196 (grub_millisleep): New function.
47197 * kern/i386/pc/init.c: Include `<grub/time.h>'.
47198 (grub_millisleep): New function.
47199 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
47200 Remove `grub/machine/time.h' include.
47201 (grub_millisleep): New function.
47202 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
47203 Remove `grub/machine/time.h' include.
47204 (grub_millisleep): New function.
47205
47206 * include/grub/misc.h (grub_div_roundup): New function.
47207
47208 * kern/misc.c: Include `<grub/time.h>'.
47209 (grub_millisleep_generic): New function.
47210
47211 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
47212 Add `time.h'.
47213 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
47214 Add `time.h'.
47215 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
47216 `machine/time.h'. Add `time.h'.
47217 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47218
a39a0312 472192007-10-21 Robert Millan <rmh@aybabtu.com>
47220
47221 * include/grub/misc.h (grub_max): New function.
47222
2aad70e2 472232007-10-21 Robert Millan <rmh@aybabtu.com>
47224
47225 * util/misc.c (grub_util_info): Call fflush() before returning.
47226
54b71c4b 472272007-10-20 Robert Millan <rmh@aybabtu.com>
47228
47229 * genmk.rb (Image): Copy `extra_flags' from here ...
47230 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
47231
47232 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
47233 to `argc' and `args' arguments.
47234
a979f513 472352007-10-17 Robert Millan <rmh@aybabtu.com>
47236
47237 * kern/i386/loader.S: New file.
47238
47239 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
47240 * kern/i386/loader.S (grub_linux_prot_size)... to here.
47241 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
47242 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
47243 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
47244 * kern/i386/loader.S (grub_linux_real_addr)... to here.
47245 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
47246 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
47247 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
47248 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
47249 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
47250 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
47251 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
47252 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
47253
47254 * kern/i386/realmode.S: New file.
47255
47256 * kern/i386/pc/startup.S (protstack): Moved from here ...
47257 * kern/i386/realmode.S (protstack)... to here.
47258 * kern/i386/pc/startup.S (gdt): Moved from here ...
47259 * kern/i386/realmode.S (gdt)... to here.
47260 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
47261 * kern/i386/realmode.S (prot_to_real)... to here.
47262
47263 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
47264 `kern/i386/realmode.S'.
47265
825fc8fd 472662007-10-17 Robert Millan <rmh@aybabtu.com>
47267
47268 * include/grub/i386/loader.h: New file.
47269
47270 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
47271 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47272 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47273 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47274 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
47275 * include/grub/i386/loader.h (grub_linux_prot_size)
47276 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47277 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47278 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47279 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
47280
47281 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
47282
e179b2f4 472832007-10-15 Robert Millan <rmh@aybabtu.com>
47284
47285 * normal/misc.c (grub_normal_print_device_info): Do not probe for
47286 filesystem when dev->disk is unset.
47287 Do probe for filesystem even when dev->disk->has_partitions is set.
47288 In case a filesystem is found, always report it.
47289 In case it isn't, if dev->disk->has_partitions is set, report that
47290 a partition table was found instead of reporting that no filesystem
47291 could be identified.
47292
5db82af6 472932007-10-12 Robert Millan <rmh@aybabtu.com>
47294
47295 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
47296 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
47297
68f6ac74 47298 * include/grub/types.h (grub_host_to_target16): New macro.
47299 (grub_host_to_target32): Likewise.
47300 (grub_host_to_target64): Likewise.
47301 (grub_target_to_host16): Likewise.
47302 (grub_target_to_host32): Likewise.
47303 (grub_target_to_host64): Likewise.
5db82af6 47304
47305 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47306 Renamed from to ...
47307 (GRUB_MOD_ALIGN): ...this. Update all users.
47308
68f6ac74 47309 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
47310 grub_host_to_target32.
47311 Replace grub_be_to_cpu32 with grub_target_to_host32.
47312 (load_modules): Likewise.
47313 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
47314 Replace grub_be_to_cpu32 with grub_target_to_host32.
47315 Replace grub_cpu_to_be16 with grub_host_to_target16.
47316 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 47317
3cf497cc 473182007-10-12 Robert Millan <rmh@aybabtu.com>
47319
47320 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
47321 * util/elf/grub-mkimage.c: ... here.
47322
47323 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
47324 `util/powerpc/ieee1275/grub-mkimage.c'.
47325
c8cc3692 473262007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 47327
c8cc3692 47328 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
47329 and make it easier to figure out.
47330 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
47331 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
47332 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
47333 leave us with less than HEAP_MIN_SIZE total heap.
47334 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 47335
5c58b791 473362007-10-03 Robert Millan <rmh@aybabtu.com>
47337
47338 * include/grub/i386/io.h: New file.
47339 * commands/i386/pc/play.c (inb): Removed.
47340 (outb): Removed.
47341 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47342 with grub_outb().
afcd2ef8 47343 * term/i386/pc/serial.c (inb): Removed.
47344 (outb): Removed.
47345 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47346 with grub_outb().
47347 * term/i386/pc/vga.c (inb): Removed.
47348 (outb): Removed.
47349 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47350 with grub_outb().
5c58b791 47351
1a477ed6 473522007-10-02 Robert Millan <rmh@aybabtu.com>
47353
47354 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
47355 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47356 Reported by Marcin Kurek.
47357
6b5d80fa 473582007-09-07 Robert Millan <rmh@aybabtu.com>
47359
47360 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
47361 SmartFirmware version updates (as released by Sven Luther), and avoid
47362 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
47363 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
47364 known broken.
47365
5618afbf 473662007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47367
47368 From Hitoshi Ozeki:
47369 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
47370 when merging two regions.
47371
6139dcd9 473722007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47373
508e39ee 47374 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
47375 * normal/completion.c (grub_normal_do_completion): Likewise.
47376 Reported by Hitoshi Ozeki.
47377
473782007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 47379
6139dcd9 47380 Do not use devices at boot in chainloading.
f19dbdb7 47381
6139dcd9 47382 * loader/i386/pc/chainloader.c (boot_drive): New variable.
47383 (boot_part_addr): Likewise.
47384 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
47385 with BOOT_DRIVE and BOOT_PART_ADDR.
47386 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
47387 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
47388
38da6516 473892007-08-29 Robert Millan <rmh@aybabtu.com>
47390
47391 Patch from Simon Peter <dn.tlp@gmx.net>:
47392 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
47393 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
47394 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
47395 util/i386/pc/grub-setup.c_DEPENDENCIES.
47396 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
47397 util/grub-probe.c_DEPENDENCIES.
47398 * conf/powerpc-ieee1275.rmk: Likewise.
47399
29d0928c 474002007-08-28 Robert Millan <rmh@aybabtu.com>
47401
47402 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
47403 to tell grub-mkdevicemap how to name devices.
47404 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
47405 feature).
47406
47407 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
47408 util/i386/get_disk_name.c.
47409 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
47410 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
47411 util/ieee1275/get_disk_name.c.
47412
47413 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
47414
47415 * DISTLIST: Add util/i386/get_disk_name.c and
47416 util/ieee1275/get_disk_name.c.
47417
47418 * util/grub-mkdevicemap.c: Replace device naming logic with
47419 grub_util_get_disk_name() calls.
47420
5a0d3cca 474212007-08-20 Robert Millan <rmh@aybabtu.com>
47422
47423 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
47424 (so that it works for both plural and singular quantities).
47425
8b72db2f 474262007-08-05 Robert Millan <rmh@aybabtu.com>
47427
47428 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
47429 so that [xz] isn't taken into account when determining order.
47430
352466bf 474312007-08-02 Marco Gerards <marco@gnu.org>
47432
47433 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
47434 `include/multiboot2.h', `include/grub/elfload.h',
47435 `include/multiboot.h', `include/grub/multiboot.h',
47436 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
47437 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
47438 `kern/elf.c', `loader/multiboot_loader.c',
47439 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
47440 `loader/i386/pc/multiboot2.c',
47441 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
47442 `util/i386/pc/grub-mkrescue.in'. Remove
47443 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
47444 `include/grub/i386/pc/util/biosdisk.h' and
47445 `include/grub/powerpc/ieee1275/multiboot.h'.
47446
8f096014 474472007-08-02 Bean <bean123ch@gmail.com>
47448
47449 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
47450 (ntfs_mod_SOURCES): New variable.
47451 (ntfs_mod_CFLAGS): Likewise.
47452 (ntfs_mod_LDFLAGS): Likewise.
47453
47454 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
47455 (grub_probe_SOURCES): Likewise.
47456 (grub_emu_SOURCES): Likewise.
47457
47458 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47459 (grub_emu_SOURCES): Likewise.
47460
47461 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47462 (grub_emu_SOURCES): Likewise.
f19dbdb7 47463
8f096014 47464 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
47465
47466 * fs/ntfs.c: New file.
47467
9959f7db 474682007-08-02 Bean <bean123ch@gmail.com>
47469
47470 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
47471
47472 * file.h (grub_file): Likewise.
47473
47474 * fshelp.h (grub_fshelp_read_file): Likewise.
47475
47476 * util/i386/pc/grub-setup.c (setup): Likewise.
47477 (save_first_sector): Likewise.
47478 (save_blocklists): Likewise.
f19dbdb7 47479
9959f7db 47480 * fs/affs.c (grub_affs_read_file): Likewise.
47481
47482 * fs/ext2.c (grub_ext2_read_file): Likewise.
47483
47484 * fs/fat.c (grub_fat_read_data): Likewise.
47485
47486 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
47487
47488 * fs/hfs.c (grub_hfs_read_file): Likewise.
47489
47490 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47491
47492 * fs/jfs.c (grub_jfs_read_file): Likewise.
47493
47494 * fs/minix.c (grub_minix_read_file): Likewise.
47495
47496 * fs/sfs.c (grub_sfs_read_file): Likewise.
47497
47498 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 47499
9959f7db 47500 * fs/xfs.c (grub_xfs_read_file): Likewise.
47501
47502 * command/blocklist.c (read_blocklist): Likewise.
47503 (print_blocklist): Likewise.
47504
0a203f83 475052007-08-02 Marco Gerards <marco@gnu.org>
47506
47507 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
47508 `util/hostfs.c'.
47509
47510 * disk/host.c: New file.
47511
47512 * util/hostfs.c: Likewise.
47513
47514 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
47515 return `GRUB_ERR_BAD_FS'.
47516 * fs/sfs.c (grub_sfs_mount): Likewise.
47517 * fs/xfs.c (grub_xfs_mount): Likewise.
47518
47519 * include/grub/disk.h (enum grub_disk_dev_id): Add
47520 `GRUB_DISK_DEVICE_HOST_ID'.
47521
47522 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
47523
e5dfe777 475242007-07-24 Jerone Young <jerone@gmail.com>
47525
f19dbdb7 47526 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 47527 modules for compilation.
47528 * conf/powerpc-ieee1275.rmk: Likewise.
47529
47530 * include/multiboot.h: Move multiboot definitions to one file. Rename
47531 many definitions to not get grub specific.
47532 * include/multiboot2.h: Create header with multiboot 2 definitions.
47533 * include/grub/multiboot.h: Header for grub specific function
47534 prototypes and definitions.
47535 * include/grub/multiboot2.h: Likewise.
47536 * include/grub/multiboot_loader.h: Likewise.
47537 * include/grub/i386/pc/multiboot.h: Removed.
47538 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
47539
47540 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
47541 and 2 to allow for one multiboot and module commands.
47542 * loader/multiboot2.c: Add multiboot2 functionality.
47543 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
47544 and definition names.
47545 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
47546 2 functions.
47547 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
47548 ieee1275 specific multiboot2 code.
47549
47550 * kern/i386/pc/startup.S: Change headers and definition names for
47551 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
47552
daf0f0ba 475532007-07-22 Robert Millan <rmh@aybabtu.com>
47554
47555 * geninitheader.sh: Process file specified in first parameter rather
47556 than hardcoding grub_modules_init.lst.
fe6b695a 47557 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 47558 than hardcoding grub_modules_init.h.
47559
47560 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
47561 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
47562 grub_probe_init.[ch] and grub_setup_init.[ch].
47563
47564 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
47565 grub_modules_init.h with grub_emu_init.h.
47566 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
47567 grub_probe_init.[ch] files.
47568 * conf/i386-efi.rmk: Likewise.
47569 * conf/i386-pc.rmk: Likewise.
47570 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
47571 grub_setup_init.[ch] files.
47572
47573 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
47574 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
47575 to initialize modules rather than a list of hardcoded functions.
47576 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
47577 grub_init_all() to initialize modules rather than a list of hardcoded
47578 functions.
47579
54cdc1cc 475802007-07-22 Robert Millan <rmh@aybabtu.com>
47581
47582 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
47583 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
47584
ad0686cc 475852007-07-22 Robert Millan <rmh@aybabtu.com>
47586
47587 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
47588 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
47589 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
47590 flag when running on SmartFirmware.
47591 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
47592 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
47593 was set.
47594
47595 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47596 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
47597 rather than decreasing it.
47598
47599 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
47600 there's not enough space to do it, fail in the same way as when it
47601 can't be done because there are no partitions.
47602
47603 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
47604 when nvsetenv failed.
47605
969c02ec 476062007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47607
47608 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
47609 because this rule is automatically generated.
47610 (grub-mkrescue): Removed for the same reason as above.
47611
5a79f472 476122007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47613
47614 Migrate to GNU General Public License Version 3.
f19dbdb7 47615
5a79f472 47616 * COPYING: Replaced with the plain text version of GPLv3.
47617
47618 * config.guess: Updated from gnulib.
47619 * config.sub: Likewise.
47620
47621 * geninit.sh: Output a GPLv3 copyright notice.
47622 * geninitheader.sh: Likewise.
47623 * genmodsrc.sh: Likewise.
47624 * gensymlist.sh.in: Likewise.
47625
47626 * boot/i386/pc/boot.S: Upgraded to GPLv3.
47627 * boot/i386/pc/diskboot.S: Likewise.
47628 * boot/i386/pc/pxeboot.S: Likewise.
47629 * commands/blocklist.c: Likewise.
47630 * commands/boot.c: Likewise.
47631 * commands/cat.c: Likewise.
47632 * commands/cmp.c: Likewise.
47633 * commands/configfile.c: Likewise.
47634 * commands/echo.c: Likewise.
47635 * commands/help.c: Likewise.
47636 * commands/ls.c: Likewise.
47637 * commands/search.c: Likewise.
47638 * commands/terminal.c: Likewise.
47639 * commands/test.c: Likewise.
47640 * commands/videotest.c: Likewise.
47641 * commands/i386/cpuid.c: Likewise.
47642 * commands/i386/pc/halt.c: Likewise.
47643 * commands/i386/pc/play.c: Likewise.
47644 * commands/i386/pc/reboot.c: Likewise.
47645 * commands/i386/pc/vbeinfo.c: Likewise.
47646 * commands/i386/pc/vbetest.c: Likewise.
47647 * commands/ieee1275/halt.c: Likewise.
47648 * commands/ieee1275/reboot.c: Likewise.
47649 * commands/ieee1275/suspend.c: Likewise.
47650 * disk/loopback.c: Likewise.
47651 * disk/lvm.c: Likewise.
47652 * disk/raid.c: Likewise.
47653 * disk/efi/efidisk.c: Likewise.
47654 * disk/i386/pc/biosdisk.c: Likewise.
47655 * disk/ieee1275/ofdisk.c: Likewise.
47656 * font/manager.c: Likewise.
47657 * fs/affs.c: Likewise.
47658 * fs/ext2.c: Likewise.
47659 * fs/fat.c: Likewise.
47660 * fs/fshelp.c: Likewise.
47661 * fs/hfs.c: Likewise.
47662 * fs/hfsplus.c: Likewise.
47663 * fs/iso9660.c: Likewise.
47664 * fs/jfs.c: Likewise.
47665 * fs/minix.c: Likewise.
47666 * fs/sfs.c: Likewise.
47667 * fs/ufs.c: Likewise.
47668 * fs/xfs.c: Likewise.
47669 * hello/hello.c: Likewise.
47670 * include/grub/acorn_filecore.h: Likewise.
47671 * include/grub/arg.h: Likewise.
47672 * include/grub/bitmap.h: Likewise.
47673 * include/grub/boot.h: Likewise.
47674 * include/grub/cache.h: Likewise.
47675 * include/grub/device.h: Likewise.
47676 * include/grub/disk.h: Likewise.
47677 * include/grub/dl.h: Likewise.
47678 * include/grub/elfload.h: Likewise.
47679 * include/grub/env.h: Likewise.
47680 * include/grub/err.h: Likewise.
47681 * include/grub/file.h: Likewise.
47682 * include/grub/font.h: Likewise.
47683 * include/grub/fs.h: Likewise.
47684 * include/grub/fshelp.h: Likewise.
47685 * include/grub/gzio.h: Likewise.
47686 * include/grub/hfs.h: Likewise.
47687 * include/grub/kernel.h: Likewise.
47688 * include/grub/loader.h: Likewise.
47689 * include/grub/lvm.h: Likewise.
47690 * include/grub/misc.h: Likewise.
47691 * include/grub/mm.h: Likewise.
47692 * include/grub/net.h: Likewise.
47693 * include/grub/normal.h: Likewise.
47694 * include/grub/parser.h: Likewise.
47695 * include/grub/partition.h: Likewise.
47696 * include/grub/pc_partition.h: Likewise.
47697 * include/grub/raid.h: Likewise.
47698 * include/grub/rescue.h: Likewise.
47699 * include/grub/script.h: Likewise.
47700 * include/grub/setjmp.h: Likewise.
47701 * include/grub/symbol.h: Likewise.
47702 * include/grub/term.h: Likewise.
47703 * include/grub/terminfo.h: Likewise.
47704 * include/grub/tparm.h: Likewise.
47705 * include/grub/types.h: Likewise.
47706 * include/grub/video.h: Likewise.
47707 * include/grub/efi/api.h: Likewise.
47708 * include/grub/efi/chainloader.h: Likewise.
47709 * include/grub/efi/console.h: Likewise.
47710 * include/grub/efi/console_control.h: Likewise.
47711 * include/grub/efi/disk.h: Likewise.
47712 * include/grub/efi/efi.h: Likewise.
47713 * include/grub/efi/pe32.h: Likewise.
47714 * include/grub/efi/time.h: Likewise.
47715 * include/grub/i386/linux.h: Likewise.
47716 * include/grub/i386/setjmp.h: Likewise.
47717 * include/grub/i386/types.h: Likewise.
47718 * include/grub/i386/efi/kernel.h: Likewise.
47719 * include/grub/i386/efi/loader.h: Likewise.
47720 * include/grub/i386/efi/time.h: Likewise.
47721 * include/grub/i386/pc/biosdisk.h: Likewise.
47722 * include/grub/i386/pc/boot.h: Likewise.
47723 * include/grub/i386/pc/chainloader.h: Likewise.
47724 * include/grub/i386/pc/console.h: Likewise.
47725 * include/grub/i386/pc/init.h: Likewise.
47726 * include/grub/i386/pc/kernel.h: Likewise.
47727 * include/grub/i386/pc/loader.h: Likewise.
47728 * include/grub/i386/pc/memory.h: Likewise.
47729 * include/grub/i386/pc/multiboot.h: Likewise.
47730 * include/grub/i386/pc/serial.h: Likewise.
47731 * include/grub/i386/pc/time.h: Likewise.
47732 * include/grub/i386/pc/vbe.h: Likewise.
47733 * include/grub/i386/pc/vbeblit.h: Likewise.
47734 * include/grub/i386/pc/vbefill.h: Likewise.
47735 * include/grub/i386/pc/vbeutil.h: Likewise.
47736 * include/grub/i386/pc/vga.h: Likewise.
47737 * include/grub/ieee1275/ieee1275.h: Likewise.
47738 * include/grub/ieee1275/ofdisk.h: Likewise.
47739 * include/grub/powerpc/libgcc.h: Likewise.
47740 * include/grub/powerpc/setjmp.h: Likewise.
47741 * include/grub/powerpc/types.h: Likewise.
47742 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
47743 * include/grub/powerpc/ieee1275/console.h: Likewise.
47744 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
47745 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
47746 * include/grub/powerpc/ieee1275/loader.h: Likewise.
47747 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
47748 * include/grub/powerpc/ieee1275/time.h: Likewise.
47749 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
47750 * include/grub/sparc64/libgcc.h: Likewise.
47751 * include/grub/sparc64/setjmp.h: Likewise.
47752 * include/grub/sparc64/types.h: Likewise.
47753 * include/grub/sparc64/ieee1275/console.h: Likewise.
47754 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47755 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47756 * include/grub/sparc64/ieee1275/time.h: Likewise.
47757 * include/grub/util/biosdisk.h: Likewise.
47758 * include/grub/util/getroot.h: Likewise.
47759 * include/grub/util/lvm.h: Likewise.
47760 * include/grub/util/misc.h: Likewise.
47761 * include/grub/util/raid.h: Likewise.
47762 * include/grub/util/resolve.h: Likewise.
47763 * io/gzio.c: Likewise.
47764 * kern/device.c: Likewise.
47765 * kern/disk.c: Likewise.
47766 * kern/dl.c: Likewise.
47767 * kern/elf.c: Likewise.
47768 * kern/env.c: Likewise.
47769 * kern/err.c: Likewise.
47770 * kern/file.c: Likewise.
47771 * kern/fs.c: Likewise.
47772 * kern/loader.c: Likewise.
47773 * kern/main.c: Likewise.
47774 * kern/misc.c: Likewise.
47775 * kern/mm.c: Likewise.
47776 * kern/parser.c: Likewise.
47777 * kern/partition.c: Likewise.
47778 * kern/rescue.c: Likewise.
47779 * kern/term.c: Likewise.
47780 * kern/efi/efi.c: Likewise.
47781 * kern/efi/init.c: Likewise.
47782 * kern/efi/mm.c: Likewise.
47783 * kern/i386/dl.c: Likewise.
47784 * kern/i386/efi/init.c: Likewise.
47785 * kern/i386/efi/startup.S: Likewise.
47786 * kern/i386/pc/init.c: Likewise.
47787 * kern/i386/pc/lzo1x.S: Likewise.
47788 * kern/i386/pc/startup.S: Likewise.
47789 * kern/ieee1275/ieee1275.c: Likewise.
47790 * kern/powerpc/cache.S: Likewise.
47791 * kern/powerpc/dl.c: Likewise.
47792 * kern/powerpc/ieee1275/cmain.c: Likewise.
47793 * kern/powerpc/ieee1275/crt0.S: Likewise.
47794 * kern/powerpc/ieee1275/init.c: Likewise.
47795 * kern/powerpc/ieee1275/openfw.c: Likewise.
47796 * kern/sparc64/cache.S: Likewise.
47797 * kern/sparc64/dl.c: Likewise.
47798 * kern/sparc64/ieee1275/init.c: Likewise.
47799 * kern/sparc64/ieee1275/openfw.c: Likewise.
47800 * loader/efi/chainloader.c: Likewise.
47801 * loader/efi/chainloader_normal.c: Likewise.
47802 * loader/i386/efi/linux.c: Likewise.
47803 * loader/i386/efi/linux_normal.c: Likewise.
47804 * loader/i386/pc/chainloader.c: Likewise.
47805 * loader/i386/pc/chainloader_normal.c: Likewise.
47806 * loader/i386/pc/linux.c: Likewise.
47807 * loader/i386/pc/linux_normal.c: Likewise.
47808 * loader/i386/pc/multiboot.c: Likewise.
47809 * loader/i386/pc/multiboot_normal.c: Likewise.
47810 * loader/powerpc/ieee1275/linux.c: Likewise.
47811 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47812 * normal/arg.c: Likewise.
47813 * normal/cmdline.c: Likewise.
47814 * normal/command.c: Likewise.
47815 * normal/completion.c: Likewise.
47816 * normal/execute.c: Likewise.
47817 * normal/function.c: Likewise.
47818 * normal/lexer.c: Likewise.
47819 * normal/main.c: Likewise.
47820 * normal/menu.c: Likewise.
47821 * normal/menu_entry.c: Likewise.
47822 * normal/misc.c: Likewise.
47823 * normal/parser.y: Likewise.
47824 * normal/script.c: Likewise.
47825 * normal/i386/setjmp.S: Likewise.
47826 * normal/powerpc/setjmp.S: Likewise.
47827 * normal/sparc64/setjmp.S: Likewise.
47828 * partmap/acorn.c: Likewise.
47829 * partmap/amiga.c: Likewise.
47830 * partmap/apple.c: Likewise.
47831 * partmap/gpt.c: Likewise.
47832 * partmap/pc.c: Likewise.
47833 * partmap/sun.c: Likewise.
47834 * term/gfxterm.c: Likewise.
47835 * term/terminfo.c: Likewise.
47836 * term/efi/console.c: Likewise.
47837 * term/i386/pc/console.c: Likewise.
47838 * term/i386/pc/serial.c: Likewise.
47839 * term/i386/pc/vesafb.c: Likewise.
47840 * term/i386/pc/vga.c: Likewise.
47841 * term/ieee1275/ofconsole.c: Likewise.
47842 * util/biosdisk.c: Likewise.
47843 * util/console.c: Likewise.
47844 * util/genmoddep.c: Likewise.
47845 * util/getroot.c: Likewise.
47846 * util/grub-emu.c: Likewise.
47847 * util/grub-mkdevicemap.c: Likewise.
47848 * util/grub-probe.c: Likewise.
47849 * util/lvm.c: Likewise.
47850 * util/misc.c: Likewise.
47851 * util/raid.c: Likewise.
47852 * util/resolve.c: Likewise.
47853 * util/update-grub.in: Likewise.
47854 * util/update-grub_lib.in: Likewise.
47855 * util/grub.d/00_header.in: Likewise.
47856 * util/grub.d/10_hurd.in: Likewise.
47857 * util/grub.d/10_linux.in: Likewise.
47858 * util/i386/efi/grub-install.in: Likewise.
47859 * util/i386/efi/grub-mkimage.c: Likewise.
47860 * util/i386/pc/grub-install.in: Likewise.
47861 * util/i386/pc/grub-mkimage.c: Likewise.
47862 * util/i386/pc/grub-mkrescue.in: Likewise.
47863 * util/i386/pc/grub-setup.c: Likewise.
47864 * util/i386/pc/misc.c: Likewise.
47865 * util/powerpc/ieee1275/grub-install.in: Likewise.
47866 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
47867 * util/powerpc/ieee1275/misc.c: Likewise.
47868 * video/bitmap.c: Likewise.
47869 * video/video.c: Likewise.
47870 * video/i386/pc/vbe.c: Likewise.
47871 * video/i386/pc/vbeblit.c: Likewise.
47872 * video/i386/pc/vbefill.c: Likewise.
47873 * video/i386/pc/vbeutil.c: Likewise.
47874 * video/readers/tga.c: Likewise.
47875
3572d015 478762007-07-02 Robert Millan <rmh@aybabtu.com>
47877
47878 * conf/i386-efi.rmk: Replace obsolete reference to
47879 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
47880 with util/getroot.c.
47881 * conf/powerpc-ieee1275.rmk: Likewise.
47882 * conf/sparc64-ieee1275.rmk: Likewise.
47883
47884 * util/grub-emu.c (main): Fix unchecked pointer handling.
47885
2c2a681b 478862007-07-02 Robert Millan <rmh@aybabtu.com>
47887
47888 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
47889 invocation to fail, in order to support partition-less media.
47890
47891 * util/i386/pc/grub-install.in: Likewise.
47892
47893 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
47894 which fs or partmap modules are needed (akin to its sister scripts).
47895
47896 Also use grub-probe to get rid of unportable /proc/mounts check.
47897
47898 Print the same informational message that the other scripts do, before
fe6b695a 47899 exiting.
2c2a681b 47900
6193defe 479012007-06-23 Robert Millan <rmh@aybabtu.com>
47902
fe6b695a 47903 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 47904 a font file can be found and, if so, echo the GRUB path to it.
47905
47906 * util/update-grub.in: Handle multiple terminals depending on user
47907 input, platform availability and font file presence. Propagate
47908 variables of our findings to /etc/grub.d/ children.
47909
47910 * util/grub.d/00_header.in: Handle multiple terminals, based on
47911 environment setup by update-grub.
47912
eface1dc 479132007-06-23 Robert Millan <rmh@aybabtu.com>
47914
ba50d28f 47915 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 47916
bf697e28 479172007-06-21 Robert Millan <rmh@aybabtu.com>
47918
47919 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
47920 indicate end of data section in kernel image.
47921 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
47922 GRUB_KERNEL_MACHINE_DATA_END.
47923
47924 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
47925 space for it.
47926 * kern/i386/efi/startup.S: Likewise.
47927
47928 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
47929 during image generation. Implement --prefix option to override this
47930 patch.
47931 * util/i386/efi/grub-mkimage.c: Likewise.
47932
47933 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
47934 code to make path relative to its root into a separate function.
47935
47936 * util/i386/pc/grub-install.in: Use newly provided
47937 make_system_path_relative_to_its_root() to convert ${grubdir}, then
47938 pass the result to grub-install --prefix.
47939
baa574b4 479402007-06-13 Robert Millan <rmh@aybabtu.com>
47941
47942 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
47943 DEFAULT_DEVICE_MAP.
47944 * util/grub-emu.c: Use above definitions from misc.h instead of
47945 defining them.
47946 * util/grub-mkdevicemap.c: Likewise.
47947 * util/i386/pc/grub-setup.c: Likewise.
47948 * util/grub-probe.c: Likewise.
47949 (probe): Abort with grub_util_error() when either
47950 grub_guess_root_device or grub_util_get_grub_dev fails.
47951
0215dcbf 479522007-06-12 Robert Millan <rmh@aybabtu.com>
47953
47954 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
47955 "pager" assignment.
47956 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
47957 "pcdata".
47958 * util/grub-probe.c (probe): Likewise for "drive_name".
47959
8af2ab7b 479602007-06-11 Robert Millan <rmh@aybabtu.com>
47961
47962 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
47963 not just the cdrom one.
47964
59d31694 479652007-06-11 Robert Millan <rmh@aybabtu.com>
47966
47967 * util/i386/pc/grub-mkrescue.in: Add "set -e".
47968 Add --pkglibdir=DIR option to override pkglibdir.
47969 Mention --image-type=TYPE in help output.
47970 Fix --grub-mkimage (it was a no-op).
fe6b695a 47971 Abort gracefully when no parameter is given.
59d31694 47972
7ee367e4 479732007-06-11 Robert Millan <rmh@aybabtu.com>
47974
47975 * util/i386/pc/grub-mkrescue.in: New file.
47976 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
47977 * Makefile.in: Handle bin_SCRIPTS.
47978
29b0ed46 479792007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
47980
47981 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
47982 list of video modes.
47983
c0f90770 479842007-06-06 Robert Millan <rmh@aybabtu.com>
47985
47986 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
47987 file doesn't exist, or if it is in a filesystem grub can't read.
47988
47989 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
47990 not abort if GRUB_DRIVE could not be defined. Rearrange generated
47991 header comment to fit in 80 columns when the variables are resolved.
47992
47993 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
47994 could be identified by update-grub. Remove redundant check for
fe6b695a 47995 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 47996 handles that).
47997
fb36dc26 479982007-06-04 Robert Millan <rmh@aybabtu.com>
47999
48000 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
48001
48002 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
48003
48004 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
48005
0c68c93e 480062007-06-04 Robert Millan <rmh@aybabtu.com>
48007
48008 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
48009
48010 * include/grub/partition.h: Declare grub_apple_partition_map_init and
48011 grub_apple_partition_map_fini.
48012
48013 * util/biosdisk.c
48014 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
48015 to access >2 TiB disks).
48016
48017 Print disk->total_sectors with %llu instead of %lu, since this
48018 variable is always 64-bit (prevents wrong disk size from being displayed
48019 on either >2 TiB disk or big-endian CPU).
48020
48021 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
48022 into a generic case that supports all (sane) partition maps.
48023
48024 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
48025 breaks big-endian.
48026
48027 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
48028 and grub_apple_partition_map_fini() after that.
48029
0f23eb74 480302007-06-01 Robert Millan <rmh@aybabtu.com>
48031
48032 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
48033
48034 * util/grub.d/00_header.in: Only enable gfxterm when
48035 convert_system_path_to_grub_path() succeeds.
48036
42c71976 480372007-05-20 Robert Millan <rmh@aybabtu.com>
48038
48039 * util/update-grub_lib.in: New file.
48040 * DISTLIST: Add update-grub_lib.in.
48041 * conf/common.rmk: Generate update-grub_lib and install it in
48042 $(lib_DATA).
48043 * Makefile.in: Add install routine for $(lib_DATA).
48044
48045 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
48046 function provided by update-grub_lib to support arbitrary paths of
48047 unifont.pff.
48048 * util/update-grub.in: Use convert_system_path_to_grub_path() to
48049 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
48050
5beb2291 480512007-05-19 Robert Millan <rmh@aybabtu.com>
48052
48053 * commands/i386/cpuid.c: New module.
48054 * DISTLIST: Add it.
48055 * conf/i386-efi.rmk: Enable cpuid.mod.
48056 * conf/i386-pc.rmk: Likewise.
48057
7262eca1 480582007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48059
48060 * kern/disk.c (grub_disk_read): Check return value of
48061 grub_realloc().
48062
260ba823 480632007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48064
48065 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
48066 arrays.
48067 * disk/raid.c (grub_raid_open): Likewise.
48068
1ecb6cf2 480692007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48070
48071 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
48072 stack instead of on the heap.
48073
48074 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
48075 before doing a read on it.
48076
48077 * configure.ac: Only use -fno-stack-protector for the target
48078 environment.
f19dbdb7 48079
21c8cbb1 480802007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48081
48082 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
48083 __attribute_ ((unused)) to mode_type argument.
48084
48085 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 48086
21c8cbb1 48087 * kern/misc.c (memcmp): Fix prototype.
48088
48089 * include/grub/partition.h [GRUB_UTIL]
48090 (grub_gpt_partition_map_init): Add prototype.
48091 (grub_gpt_partition_map_fini): Likewise.
48092
48093 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
48094 at the right place.
48095
48096 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
48097 (grub_fat_read_data): Likewise.
48098 (grub_fat_find_dir): Likewise.
48099
48100 * font/manager.c (find_glyph): Make table a const.
48101 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 48102
849d55d3 481032007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
48104
48105 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
48106 code, first search for device in /dev/mapper, then in /dev.
48107 (grub_util_get_grub_dev): New function.
48108 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
48109 prototype.
48110 * util/grub-probe.c (probe): Remove check for RAID, call
48111 grub_util_get_grub_dev() instead of
48112 grub_util_biosdisk_get_grub_dev().
48113 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
48114 grub_util_biosdisk_get_grub_dev().
48115 * util/i386/pc/grub-setup.c (main): Likewise.
48116
8fff7c2f 481172007-05-16 Robert Millan <rmh@aybabtu.com>
48118
48119 * DISTLIST: Update for the latest changes.
48120 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
48121 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
48122 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
48123 grub/util/biosdisk.h.
48124 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
48125 grub/util/biosdisk.h.
48126
48e12b52 481272007-05-16 Robert Millan <rmh@aybabtu.com>
48128
48129 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
48130
46b9d128 481312007-05-16 Robert Millan <rmh@aybabtu.com>
48132
48133 * util/i386/efi/grub-install.in: New.
48134 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
48135 newly added grub-install.
48136 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
48137 include.
48138 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
48139 grub/util/biosdisk.h.
48140 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
48141 grub/util/biosdisk.h.
48142
2d1a40a9 481432007-05-16 Robert Millan <rmh@aybabtu.com>
48144
48145 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
48146 * include/grub/util/biosdisk.h: ... here.
48147 * util/i386/pc/biosdisk.c: Moved to ...
48148 * util/biosdisk.c: ... here.
48149 * util/i386/pc/getroot.c: Moved to ...
48150 * util/getroot.c: ... here.
48151 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
48152 * util/grub-mkdevicemap.c: ... here.
48153 * util/i386/pc/grub-probe.c: Moved to ...
48154 * util/grub-probe.c: ... here.
48155
9e26e3bc 481562007-05-15 Robert Millan <rmh@aybabtu.com>
48157
48158 * util/update-grub.in: Remove duplicated line in grub.cfg header
48159 message.
48160
57f96397 481612007-05-13 Robert Millan <rmh@aybabtu.com>
48162
48163 * util/update-grub.in: Fix a few assumptions about the devices holding
48164 /, /boot and /boot/grub being the same.
48165 * util/grub.d/00_header.in: Likewise.
48166 * util/grub.d/10_hurd.in: Likewise.
48167 * util/grub.d/10_linux.in: Likewise.
48168
48169 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
48170 patterns. Use that to define the `.old' suffix as older than `'.
48171
48172 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
48173
48174 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
48175 the grub.cfg header message.
48176
2e610d62 481772007-05-11 Robert Millan <rmh@aybabtu.com>
48178
48179 * util/update-grub.in: Create device.map if it doesn't already exist,
48180 before attempting to run grub-probe.
48181 Check for grub-probe and grub-mkdevicemap with the same code
48182 grub-install is using.
48183 Remove test mode.
48184
3f6a10ef 481852007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
48186
48187 * Makefile.in: Add the datarootdir autoconf variable.
48188
02e7b75e 481892007-05-09 Robert Millan <rmh@aybabtu.com>
48190
48191 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 48192 fail gracefully if dev->disk->partition == NULL.
02e7b75e 48193
75f396cc 481942007-05-07 Robert Millan <rmh@aybabtu.com>
48195
48196 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
48197 determine partition map module.
48198 * util/i386/pc/grub-install.in: Use this feature to decide which
48199 partition module to load, instead of hardcoding pc and gpt.
48200
da65cb36 482012007-05-07 Robert Millan <rmh@aybabtu.com>
48202
48203 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
48204 source directory differs from build directory.
48205
b57d6a91 482062007-05-05 Robert Millan <rmh@aybabtu.com>
48207
48208 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
48209 initialisation.
48210
509d00f1 482112007-05-05 Robert Millan <rmh@aybabtu.com>
48212
48213 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
48214
c48f23ef 482152007-05-05 Robert Millan <rmh@aybabtu.com>
48216
48217 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
48218 command-line arguments via ${GRUB_CMDLINE_LINUX}.
48219
20b97658 482202007-05-05 Robert Millan <rmh@aybabtu.com>
48221
48222 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
48223 (grub_probe_SOURCES): Likewise.
48224 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
48225 GPT and initialize dos_part and bsd_part accordingly.
48226 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
48227 install_bsd_part.
48228 (main): Activate gpt module for use during partition identification,
48229 and deactivate it afterwards.
48230 * util/i386/pc/grub-install.in: Add gpt module to core.img.
48231 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
48232 partition identification, and deactivate it afterwards.
48233
99123174 482342007-05-05 Robert Millan <rmh@aybabtu.com>
48235
48236 * term/i386/pc/console.c (grub_console_fini): Call
48237 grub_term_set_current() before grub_term_unregister().
48238
ebd97f6e 482392007-05-04 Robert Millan <rmh@aybabtu.com>
48240
48241 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
48242 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
48243 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
48244 and update-grub_DATA.
48245 * conf/common.rmk: Build and install update-grub components.
48246 * conf/common.mk: Regenerate.
48247 * util/update-grub.in: New. Core of update-grub.
48248 * util/grub.d/00_header.in: New. Generates grub.cfg header.
48249 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
48250 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
48251 * util/grub.d/README: New. Document grub.d directory layout.
48252
b06a264d 482532007-05-01 Robert Millan <rmh@aybabtu.com>
48254
48255 * util/grub-emu.c: Move initialization functions
48256 grub_util_biosdisk_init() and grub_init_all() before
48257 grub_util_biosdisk_get_grub_dev(), which relies on them.
48258
41f0050e 482592007-04-19 Robert Millan <rmh@aybabtu.com>
48260
48261 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
48262 it is used later.
48263
04582bb3 482642007-04-18 Jerone Young <jerone@gmail.com>
48265
f19dbdb7 48266 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 48267 stanza.
48268
08db4632 482692007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 48270
08db4632 48271 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
48272 continue on and look for device node with real device name.
48273
801b76be 482742007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 48275
fe6b695a 48276 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 48277 ability.
48278 * Makefile.in: Add autoconf package transformation code.
48279 * util/i386/pc/grub-install.in: Likewise.
48280 * util/powerpc/ieee1275/grub-install.in: Likewise.
48281
6795c4e1 482822007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48283
48284 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
48285 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
48286 (EXT2_REVISION): Likewise.
48287 (EXT2_INODE_SIZE): Likewise.
48288 (struct grub_ext2_block_group): Added a missing member
48289 "used_dirs".
48290 (grub_ext2_read_inode): Divide by the inode size in a superblock
48291 instead of 128 to obtain INODES_PER_BLOCK.
48292 Use the macro EXT2_INODE_SIZE instead of directly using
48293 SBLOCK->INODE_SIZE.
48294
d70af616 482952007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48296
48297 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
48298 superblock instead of the structure size to compute an
48299 offset. This fixes the problem that GRUB could not read a
48300 filesystem when inode size is different from 128-byte.
48301
3b801603 483022007-03-05 Marco Gerards <marco@gnu.org>
48303
48304 * normal/main.c (read_config_file): When "menu" is not set, create
48305 an initial context.
48306
4785bfe4 483072007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48308
48309 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
48310 (HEAP_LIMIT): New macro.
48311 (grub_claim_heap): Claim memory up to `heaplimit'.
48312
a0cbb023 483132007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48314
48315 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
48316 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
48317 (_start): Likewise.
48318 (grub_arch_modules_addr): Return address after `_end'.
48319 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
48320 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
48321 (add_segments): Calculate `_end' from phdr size and location.
48322 (ALIGN_UP): Moved to ...
48323 * include/grub/misc.h: here.
48324 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
48325 New macro.
48326 (GRUB_IEEE1275_MODULE_BASE): Removed.
48327
fd7d8eba 483282007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48329
48330 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
48331 loop boundary.
48332
9b09e6fc 483332007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48334
48335 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
48336 All users updated.
48337 (grub_elf64_load_hook_t): Likewise.
48338 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
48339 debug output.
48340
3ce27299 483412007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48342
48343 * kern/mm.c: Update copyright.
48344 (grub_mm_debug): Correct syntax error.
48345 (grub_mm_dump_free): New function.
48346 (grub_debug_free): Call `grub_free'.
48347 * include/grub/mm.h: Update copyright.
48348 (grub_mm_dump_free): Add declaration.
48349
077d5fee 483502007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48351
48352 * include/grub/ieee1275/ieee1275.h: Update copyright.
48353 * kern/powerpc/ieee1275/init.c: Likewise.
48354 * kern/powerpc/ieee1275/openfw.c: Likewise.
48355
48356 * loader/powerpc/ieee1275/linux.c: Likewise.
48357 * include/grub/elfload.h: Likewise.
48358 * kern/elf.c: Likewise.
48359 (grub_elf32_load): Pass `base' and `size' parameters. Update all
48360 callers.
48361 (grub_elf64_load): Likewise.
48362 (grub_elf32_load_segment): Move to a nested function.
48363 (grub_elf64_load_segment): Likewise.
48364
dc946850 483652007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48366
48367 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
48368 prototype.
48369 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
48370 (grub_heap_len): Likewise.
48371 (HEAP_SIZE): New macro.
48372 (grub_claim_heap): New function.
48373 (grub_machine_init): Don't claim heap directly. Call
48374 `grub_claim_heap'.
48375 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
48376 (grub_available_iterate): New function.
48377
baa2a121 483782007-02-03 Thomas Schwinge <tschwinge@gnu.org>
48379
48380 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
48381 * configure.ac: Use it for testing the HOST and TARGET compilers.
48382
4fe9862e 483832006-12-13 Thomas Schwinge <tschwinge@gnu.org>
48384
48385 * Makefile.in (enable_grub_emu): New variable.
48386 * configure.ac (--enable-grub-emu): New option.
48387 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
48388 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
48389 * conf/i386-pc.rmk: Likewise.
48390 * conf/powerpc-ieee1275.rmk: Likewise.
48391 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
48392
a8aa5762 483932006-12-12 Marco Gerards <marco@gnu.org>
48394
48395 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
48396
48397 * kern/env.c (grub_env_unset): Don't free the member `value' when
48398 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
48399 pointer.
48400
48401 * normal/main.c (current_menu): Removed.
48402 (free_menu): Unset the `menu' environment variable.
48403 (grub_normal_menu_addentry): Make use of the environment variable
48404 `menu', instead of using the global `current_menu'. Allocate
48405 memory for the sourcecode of this entry.
48406 (read_config_file): New argument `nested', changed all callers.
48407 Only in the case of a new context, initialize a new menu. Set the
48408 `menu' environment variable.
48409 (grub_normal_execute): Don't set and unset the environment
48410 variable `menu' here anymore. Only free the menu when leaving the
48411 context.
48412
48413 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
48414 leak.
48415
957b3a3e 484162006-12-11 Marco Gerards <marco@gnu.org>
48417
48418 * normal/menu_entry.c (run): Fix off by one bug so the last line
48419 is executed. Move the loader check to outside the loop.
48420
ef875714 484212006-12-08 Hollis Blanchard <hollis@penguinppc.org>
48422
48423 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
48424
4e739985 484252006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
48426
48427 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
48428 the number of sectors. Reported by Andrey Shuvikov
48429 <mr_hyro@yahoo.com>.
f19dbdb7 48430
790707f2 484312006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
48432
48433 * kern/disk.c (grub_disk_read): When there is a read error, always
48434 try to read only the necessary data.
f19dbdb7 48435
790707f2 48436 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
48437 disk/raid.c.
48438 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
48439 prototype.
48440 [GRUB_UTIL] (grub_raid_fini): Likewise.
48441 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 48442 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 48443 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
48444 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
48445 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
48446 and grub_raid_fini().
f19dbdb7 48447
03e58196 484482006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48449
48450 * include/grub/types.h (__unused): Rename to UNUSED.
48451 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
48452 (grub_elf64_size): Likewise.
f19dbdb7 48453
ae4f23bf 484542006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48455
48456 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
48457 grub_error_push and grub_error_pop in the error-handling path.
48458 (grub_elf32_load_segment): Only call grub_file_read with non-zero
48459 length.
48460
2166cc83 484612006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48462
48463 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
48464 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48466 (kernel_elf_SOURCES): Likewise.
48467 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
48468 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
48469 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48470 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48471 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
48472 (elf_mod_SOURCES): New variable.
48473 (elf_mod_CFLAGS): Likewise.
48474 (elf_mod_LDFLAGS): Likewise.
48475 * include/grub/types.h (__unused): New macro.
48476 * include/grub/elfload.h: New file.
48477 * kern/elf.c: Likewise.
48478 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
48479 (ELF32_LOADMASK): New macro.
48480 (ELF64_LOADMASK): Likewise.
48481 (vmlinux): Removed.
48482 (grub_linux_load32): New function.
48483 (grub_linux_load64): Likewise.
48484 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
48485 Use grub_elf_t instead of grub_file_t.
48486
a09d5aa5 484872006-11-02 Hollis Blanchard <hollis@penguinppc.org>
48488
48489 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
48490 `catch_result' to struct set_color_args.
48491
d976fc51 484922006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48493
48494 * normal/menu.c: Include grub/script.h.
48495 * normal/menu_entry.c: Likewise.
48496 * include/grub/normal.h: Do not include grub/script.h.
48497
67507549 484982006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48499
48500 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
48501
69203a99 485022006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48503
48504 * kern/disk.c (grub_disk_open): Print debug messages when opening a
48505 disk.
48506 (grub_disk_close): Print debug messages when closing a disk.
48507 (grub_disk_read): Print debug messages when disk read fails.
48508 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
48509 filesystem type.
48510 * kern/partition.c: Include misc.h.
48511 (grub_partition_iterate): Print debug messages when detecting
48512 partition type.
48513
e2b8278c 485142006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48515
48516 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
48517 is negative.
48518 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
48519
97b2f2ff 485202006-10-26 Hollis Blanchard <hollis@penguinppc.org>
48521
48522 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
48523 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
48524
6555d655 485252006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
48526
48527 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
48528 instead of sizeof(lv). Patch by Michael Guntsche.
48529
4d42b77f 485302006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
48531
48532 * disk/lvm.c: Rename VGS to VG_LIST.
48533 (grub_lvm_iterate): Change VGS->LV to VG-LV.
48534 (grub_lvm_open): Likewise.
48535 Thanks to Michael Guntsche for finding this bug.
48536
5d74d927 485372006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48538
48539 * configure.ac (AC_INIT): Bumped to 1.95.
48540
a1bb27e4 485412006-10-14 Robert Millan <rmh@aybabtu.com>
48542
48543 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
48544 with "/dev/.static/dev/md".
48545
e0994b8b 485462006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48547
48548 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
48549 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
48550 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
48551 DRIVE_NAME are always freed.
48552
48553 * util/i386/pc/biosdisk.c (make_device_name): Add one into
48554 DOS_PART, as a DOS partition is counted from one instead of zero
48555 now. Reported by Robert Millan.
48556
ddd5cee9 485572006-10-14 Robert Millan <rmh@aybabtu.com>
48558
48559 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
48560 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
48561 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
48562 string returned by grub_guess_root_device.
48563 * util/i386/pc/grub-setup.c: Likewise.
48564 * util/i386/pc/grub-probefs.c: Likewise.
48565
48566 * util/i386/pc/grub-probefs.c: Rename to ...
48567 * util/i386/pc/grub-probe.c: ... this.
48568 * DISTLIST: Remove grub-probefs, add grub-probe.
48569 * conf/i386-efi.rmk: Likewise.
48570 * conf/i386-pc.rmk: Likewise.
48571 * util/i386/pc/grub-install.in: Likewise.
48572
48573 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
48574 choose which information we want to print.
48575
2b002173 485762006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48577
48578 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
48579 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
48580 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
48581 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
48582 video/readers/tga.c and video/i386/pc/vbeutil.c.
48583
485842006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
48585
48586 Added support for RAID and LVM.
f19dbdb7 48587
2b002173 48588 * disk/lvm.c: New file.
48589 * disk/raid.c: Likewise.
48590 * include/grub/lvm.h: Likewise.
f19dbdb7 48591 * include/grub/raid.h: Likewise.
2b002173 48592 * include/grub/util/lvm.h: Likewise.
48593 * include/grub/util/raid.h: Likewise.
48594 * util/lvm.c: Likewise.
48595 * util/raid.c: Likewise.
48596
48597 * include/grub/disk.h (grub_disk_dev_id): Add
48598 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
48599 (grub_disk_get_size): New prototype.
48600 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
48601 returns a partition.
48602 (grub_disk_get_size): New function.
f19dbdb7 48603
2b002173 48604 * kern/i386/pc/init.c (make_install_device): Copy the prefix
48605 verbatim if grub_install_dos_part is -2.
48606
48607 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
48608 and LVM devices.
48609
48610 * util/i386/pc/grub-setup.c (setup): New argument
48611 MUST_EMBED. Force embedding of GRUB when the argument is
48612 true. Close FILE before returning.
48613 (main): Add support for RAID and LVM.
f19dbdb7 48614
2b002173 48615 * conf/common.rmk: Add RAID and LVM modules.
48616 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
48617 util/lvm.c.
48618 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
48619
48620 * kern/misc.c (grub_strstr): New function.
48621 * include/grub/misc.h (grub_strstr): New prototype.
48622
050548d0 486232006-10-10 Tristan Gingold <tristan.gingold@bull.net>
48624
48625 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
48626
da849d2d 486272006-10-05 Tristan Gingold <tristan.gingold@bull.net>
48628
48629 * kern/misc.c (grub_strtoull): Guess the base only if not
48630 specified.
48631
97b2f2ff 486322006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 48633
48634 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
48635 PowerMac support.
48636
97b2f2ff 486372006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 48638
48639 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
48640
48641 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
48642 Remove `flags' argument. All callers changed.
48643 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
48644 (IEEE1275_IHANDLE_INVALID): New variable.
48645 (IEEE1275_CELL_INVALID): New variable.
48646 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
48647 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
48648 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
48649 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
48650 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
48651 codes from Open Firmware. All callers updated.
48652 (grub_ieee1275_next_property): Directly return Open Firmware return
48653 code.
48654 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
48655 Standardize error checking from `grub_ieee1275_get_property'.
48656 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
48657 `devalias' to `aliases'. Correct comments. Consolidate error paths.
48658
97b2f2ff 486592006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 48660
48661 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
48662 `instance_to_package_args' to `instance_to_path_args'.
48663
48664 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
48665 `grub_ieee1275_chosen'.
48666
48667 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
48668 `grub_ieee1275_interpret'.
48669
97b2f2ff 486702006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 48671
48672 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
48673
97b2f2ff 486742006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 48675
48676 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
48677 (__cmpdi): Likewise.
48678
48679 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
48680 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
48681 `grub_ssize_t'.
48682
02bb8acc 48683 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 48684
48685 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
48686 to type `grub_ssize_t'.
48687 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
48688
7f9a8531 486892006-09-22 Marco Gerards <marco@gnu.org>
48690
48691 * normal/script.c (grub_script_create_cmdmenu): Skip leading
48692 newlines.
48693
b5ef1102 486942006-09-22 Marco Gerards <marco@gnu.org>
48695
48696 * commands/echo.c: New file.
48697
48698 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
48699
48700 * conf/common.rmk (echo_mod_SOURCES): New variable.
48701 (echo_mod_CFLAGS): Likewise.
48702 (echo_mod_LDFLAGS): Likewise.
48703
2cff3677 487042006-09-22 Marco Gerards <marco@gnu.org>
48705
48706 * normal/main.c (get_line): Malloc memory instead of using
48707 preallocated memory. Removed the arguments `cmdline' and
48708 `max_len'. Updated all callers.
48709
6ba4688b 487102006-09-22 Marco Gerards <marco@gnu.org>
48711
48712 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
48713 (normal_mod_DEPENDENCIES): Likewise.
48714
48715 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
48716 (normal_mod_DEPENDENCIES): Likewise.
48717
48718 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
48719
e02ac02c 487202006-09-22 Johan Rydberg <jrydberg@gnu.org>
48721
48722 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
48723 programs.
48724 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
48725 (normal_mod_DEPENDENCIES): Likewise.
48726 * conf/i386-pc.mk: Regenerate.
48727 * conf/i386-efi.mk: Likewise
48728 * conf/common.mk: Likewise.
48729 * conf/powerpc-ieee1275.mk: Likewise.
48730 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 48731
8d252e44 487322006-09-22 Robert Millan <rmh@aybabtu.com>
48733
48734 Sync with i386 version.
48735 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
48736 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
48737
209bf7ac 487382006-09-21 Robert Millan <rmh@aybabtu.com>
48739
48740 Import from GRUB Legacy (lib/device.c):
48741 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
48742 (init_device_map) [__linux__]: Add support for I2O devices.
48743
6b146090 487442006-09-14 Marco Gerards <marco@gnu.org>
48745
48746 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
48747 `-melf_i386'.
48748
e38600a8 487492006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 48750
48751 * util/i386/pc/grub-install.in: Skip menu.lst when removing
48752 /boot/grub/*.lst.
78fa1790 48753
2952da5d 48754 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 48755
2952da5d 48756 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
48757 before adding it to device.map.
48758
01b82a64 487592006-08-15 Johan Rydberg <jrydberg@gnu.org>
48760
fe6b695a 48761 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 48762 compiles a file; using the -MD option.
48763 * conf/common.mk: Regenerate.
48764 * conf/i386-pc.mk: Likewise.
48765 * conf/i386-efi.mk: Likewise.
48766 * conf/powerpc-ieee1275.mk: Likewise.
48767 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 48768
1064790d 487692006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
48770
48771 Move the prototypes of grub_setjmp and grub_longjmp to
48772 cpu/setjmp.h, so that each architecture may specify different
48773 attributes.
f19dbdb7 48774
1064790d 48775 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
48776 (grub_longjmp): Likewise.
48777 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
48778 (grub_longjmp): Likewise.
48779 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
48780 (grub_longjmp): Likewise.
48781
48782 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
48783 [!GRUB_UTIL] (grub_longjmp): Removed.
48784
29dda3ed 487852006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
48786
48787 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
48788 "color!" method does not return any value.
48789
ad2a06ed 487902006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48791
48792 * include/grub/bitmap.h: New file.
48793
48794 * include/grub/i386/pc/vbeutil.h: Likewise.
48795
48796 * video/bitmap.c: Likewise.
48797
48798 * video/readers/tga.c: Likewise.
48799
48800 * video/i386/pc/vbeutil.c: Likewise.
48801
48802 * commands/videotest.c: Code cleanup and updated to reflect to new
48803 video API.
48804
48805 * term/gfxterm.c: Likewise.
48806
48807 * video/video.c: Likewise.
48808
48809 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
48810 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
48811 (bitmap_mod_SOURCES): New entry.
48812 (bitmap_mod_CFLAGS): Likewise.
48813 (bitmap_mod_LDFLAGS): Likewise.
48814 (tga_mod_SOURCES): Likewise.
48815 (tga_mod_CFLAGS): Likewise.
48816 (tga_mod_LDFLAGS): Likewise.
48817
48818 * include/grub/video.h (grub_video_blit_operators): New enum type.
48819 (grub_video_render_target): Changed as forward declaration and moved
48820 actual definition to be video driver specific.
48821 (grub_video_adapter.blit_bitmap): Added blitting operator.
48822 (grub_video_adapter.blit_render_target): Likewise.
48823 (grub_video_blit_bitmap): Likewise.
48824 (grub_video_blit_render_target): Likewise.
48825
48826 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
48827 driver specific render target definition.
48828 (grub_video_vbe_map_rgba): Added driver internal helper.
48829 (grub_video_vbe_unmap_color): Updated to use
48830 grub_video_i386_vbeblit_info.
48831 (grub_video_vbe_get_video_ptr): Likewise.
48832
48833 * include/grub/i386/pc/vbeblit.h
48834 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
48835 grub_video_i386_vbeblit_info.
48836 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
48837 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
48838 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
48839 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
48840 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
48841 (grub_video_i386_vbeblit_index_index): Likewise.
48842 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
48843 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
48844 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
48845 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
48846 operator.
48847 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
48848 operator.
48849
48850 * video/i386/pc/vbeblit.c: Updated to reflect changes on
48851 include/grub/i386/pc/vbeblit.h.
48852
48853 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
48854 Updated to use grub_video_i386_vbeblit_info.
48855 (grub_video_i386_vbefill_R8G8B8): Likewise.
48856 (grub_video_i386_vbefill_index): Likewise.
48857 (grub_video_i386_vbefill): Added generic filler.
48858
48859 * video/i386/pc/vbefill.c: Updated to reflect changes on
48860 include/grub/i386/pc/vbefill.h.
48861
48862 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
48863 grub_video_i386_vbeblit_info.
48864 (grub_video_vbe_unmap_color): Likewise.
48865 (grub_video_vbe_blit_glyph): Likewise.
48866 (grub_video_vbe_scroll): Likewise.
48867 (grub_video_vbe_draw_pixel): Removed function.
48868 (grub_video_vbe_get_pixel): Likewise.
48869 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
48870 updated code to use it.
48871 (common_blitter): Added common blitter for render target and bitmap.
48872 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
48873 (grub_video_vbe_blit_render_target): Likewise.
48874
bc8c036d 488752006-07-30 Johan Rydberg <jrydberg@gnu.org>
48876
48877 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
48878 is in text mode if there is no console control protocol instance
48879 available.
48880
684a8eff 488812006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48882
48883 * include/grub/video.h: Code cleanup.
48884
48885 * include/grub/i386/pc/vbe.h: Likewise.
48886
48887 * video/i386/pc/vbe.c: Likewise.
48888
48889 * video/i386/pc/vbeblit.c: Likewise.
48890
48891 * video/i386/pc/vbefill.c: Likewise.
48892
48893 * video/video.c: Likewise. Also added more comments.
48894
5915059b 488952006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48896
48897 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
48898 (struct grub_biosdisk_dap): Likewise.
48899
48900 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
48901 linkage settings for all functions.
48902
90ce5d56 489032006-07-12 Marco Gerards <marco@gnu.org>
48904
48905 * configure.ac (--enable-mm-debug): Fix typo.
48906
48907 * genkernsyms.sh.in: Use proper quoting for `CC'.
48908
43e7f879 489092006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
48910
48911 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
48912 (normal_mod_ASFLAGS): Remove "-m32".
48913
4889bdec 489142006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
48915
48916 * util/misc.c: Include config.h.
48917 [!HAVE_MEMALIGN]: Do not include malloc.h.
48918 (grub_memalign): Use posix_memalign, if present. Then, use
48919 memalign, if present. Otherwise, emit an error.
48920
48921 * util/grub-emu.c: Do not include malloc.h.
48922
48923 * include/grub/util/misc.h: Include unistd.h. This is required for
48924 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
48925 D. Eades III <hde@foobar-qux.org>.
48926
48927 * configure.ac (AC_GNU_SOURCE): Added.
48928 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
48929 type.
48930
fd39d4da 489312006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
48932
48933 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
48934 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
48935
b786f3b5 489362006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
48937
48938 * include/grub/types.h (grub_host_addr_t): Rename to
48939 grub_target_addr_t.
48940 (grub_host_off_t): Rename to grub_target_off_t.
48941 (grub_host_size_t): Rename to grub_target_size_t.
48942 (grub_host_ssize_t): Rename to grub_target_ssize_t.
48943 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
48944
48945 * include/grub/kernel.h (struct grub_module_header): Change type
48946 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
48947 (grub_module_info): Likewise.
f19dbdb7 48948
051988bb 489492006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48950
48951 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
48952 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
48953 Velazquez <jesus.velazquez@gmail.com>.
48954
deae281b 489552006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48956
48957 Count partitions from 1 instead of 0 in the string representation
48958 of partitions. Still use 0-based internally.
f19dbdb7 48959
deae281b 48960 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
48961 (sun_partition_map_iterate): Use grub_partition_t instead of
48962 struct grub_partition *. Cast DESC->START_CYLINDER to
48963 grub_uint64_t after converting the endian.
48964 (sun_partition_map_probe): Subtract 1 for PARTNUM.
48965 (sun_partition_map_get_name): Add 1 to P->INDEX.
48966
48967 * partmap/pc.c (grub_partition_parse): Subtract 1 for
48968 PCDATA->DOS_PART.
48969 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
48970
48971 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
48972 zero instead of one.
48973 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
48974 (gpt_partition_map_get_name): Add 1 into P->INDEX.
48975
48976 * partmap/apple.c (apple_partition_map_iterate): Change the type
48977 of POS to unsigned.
48978 (apple_partition_map_probe): Subtract 1 for PARTNUM.
48979 (apple_partition_map_get_name): Add 1 into P->INDEX.
48980
48981 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
48982 of POS to unsigned.
48983 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
48984 calculate the offset of a partition.
48985 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
48986 (amiga_partition_map_get_name): Add 1 into P->INDEX.
48987
48988 * partmap/acorn.c (acorn_partition_map_find): Change the type of
48989 SECTOR to grub_disk_addr_t.
48990 (acorn_partition_map_iterate): Likewise.
48991 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
48992 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
48993 top.
48994 (acorn_partition_map_get_name): Add 1 into P->INDEX.
48995
48996 * kern/i386/pc/init.c (make_install_device): Add 1 into
48997 GRUB_INSTALL_DOS_PART.
48998
48999 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
49000 conditional.
49001
524a1e6a 490022006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49003
49004 Clean up the code to support 64-bit addressing in disks and
49005 files. This change is not enough for filesystems yet.
f19dbdb7 49006
524a1e6a 49007 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
49008 type of "start" to grub_uint64_t.
49009 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
49010 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
49011 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
49012 convert addresses.
49013
49014 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
49015 to grub_disk_addr_t.
49016
49017 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
49018 string.
49019
49020 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49021
49022 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
49023 to char *.
49024
49025 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
49026
49027 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
49028
49029 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
49030
49031 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
49032 to grub_off_t, to detect an error from grub_file_seek.
49033 (grub_multiboot_load_elf32): Likewise.
49034
49035 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
49036 maximum unsigned long value when an overflow is detected.
49037 (grub_strtoull): New function.
49038 (grub_divmod64): Likewise.
49039 (grub_lltoa): use grub_divmod64.
49040
49041 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
49042 grub_disk_addr_t.
49043 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
49044 the pointer to next character. Use grub_strtoull instead of
49045 grub_strtoul.
49046 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
49047 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
49048 respectively.
49049
fe6b695a 49050 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 49051 return value is signed.
49052 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
49053 test if OFFSET is less than zero, as OFFSET is unsigned now.
49054
49055 * kern/disk.c (struct grub_disk_cache): Change the type of
49056 "sector" to grub_disk_addr_t.
49057 (grub_disk_cache_get_index): Change the type of SECTOR to
49058 grub_disk_addr_t. Calculate the hash with SECTOR casted to
49059 unsigned after shifting.
49060 (grub_disk_cache_invalidate): Change the type of SECTOR to
49061 grub_disk_addr_t.
49062 (grub_disk_cache_unlock): Likewise.
49063 (grub_disk_cache_store): Likewise.
49064 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
49065 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
49066 grub_disk_addr_t and grub_uint64_t, respectively.
49067 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
49068 body, as the value of OFFSET is tweaked by
49069 grub_disk_check_range. Change the types of START_SECTOR, LEN and
49070 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
49071 respectively.
49072 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
49073 body, as the value of OFFSET is tweaked by
49074 grub_disk_check_range. Change the types of LEN and N to
49075 grub_size_t.
49076
49077 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
49078 and "saved_offset" to grub_off_t.
49079 (test_header): Cast BUF to char *.
49080 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
49081 to char *.
49082 (grub_gzio_read): Change the types of OFFSET and SIZE to
49083 grub_off_t and grub_size_t, respectively.
49084
49085 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
49086 Removed.
49087 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
49088 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
49089 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
49090 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
49091 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
49092
49093 * include/grub/types.h (grub_off_t): Unconditionally set to
49094 grub_uint64_t.
49095 (grub_disk_addr_t): Changed to grub_uint64_t.
49096
49097 * include/grub/partition.h (struct grub_partition): Change the
49098 types of "start", "len" and "offset" to grub_disk_addr_t,
49099 grub_uint64_t and grub_disk_addr_t, respectively.
49100 (grub_partition_get_start): Return grub_disk_addr_t.
49101 (grub_partition_get_len): Return grub_uint64_t.
49102
49103 * include/grub/misc.h (grub_strtoull): New prototype.
49104 (grub_divmod64): Likewise.
49105
49106 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
49107 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
49108 grub_off_t, respectively.
49109 All callers and references changed.
49110
49111 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
49112 grub_size_t in "read".
49113 All callers and references changed.
49114
49115 * include/grub/file.h (struct grub_file): Change the types of
49116 "offset" and "size" to grub_off_t and grub_off_t,
49117 respectively. Change the type of SECTOR to grub_disk_addr_t in
49118 "read_hook".
49119 (grub_file_read): Change the type of LEN to grub_size_t.
49120 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
49121 grub_off_t.
49122 (grub_file_size): Return grub_off_t.
49123 (grub_file_tell): Likewise.
49124 All callers and references changed.
49125
49126 * include/grub/disk.h (struct grub_disk_dev): Change the types of
49127 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
49128 "write".
49129 (struct grub_disk): Change the type of "total_sectors" to
49130 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 49131 "read_hook".
524a1e6a 49132 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
49133 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
49134 (grub_disk_write): Likewise.
49135 All callers and references changed.
49136
49137 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
49138 char * for grub_strncmp to silence gcc.
49139 (grub_iso9660_mount): Likewise.
49140 (grub_iso9660_mount): Likewise.
49141 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
49142 return statement.
49143 (grub_iso9660_iterate_dir): Likewise.
49144 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
49145
49146 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
49147 LEN to grub_disk_addr_t and grub_size_t, respectively.
49148
49149 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
49150
49151 * fs/jfs.c (grub_jfs_read_file): Likewise.
49152
49153 * fs/minix.c (grub_jfs_read_file): Likewise.
49154
49155 * fs/sfs.c (grub_jfs_read_file): Likewise.
49156
49157 * fs/ufs.c (grub_jfs_read_file): Likewise.
49158
49159 * fs/xfs.c (grub_jfs_read_file): Likewise.
49160
49161 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
49162 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
49163 respectively.
49164
49165 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
49166 BLKNR to -1 instead of returning GRUB_ERRNO.
49167 (grub_ext2_read_file): Change the types of SECTOR and
49168 LEN to grub_disk_addr_t and grub_size_t, respectively.
49169
49170 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
49171 LEN to grub_disk_addr_t and grub_size_t, respectively.
49172
49173 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
49174 grub_file_read.
49175
49176 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
49177 string. Do not cast SECTOR explicitly.
49178
49179 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
49180 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
49181 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
49182 grub_disk_addr_t and grub_size_t, respectively. If the sector is
49183 over 2TB and LBA mode is not supported, raise an error.
49184 (get_safe_sectors): New function.
49185 (grub_biosdisk_read): Use get_safe_sectors.
49186 (grub_biosdisk_write): Likewise.
49187
49188 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
49189 (grub_efidisk_write): Likewise.
49190
49191 * disk/loopback.c (delete_loopback): Cosmetic changes.
49192 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
49193 correctly.
49194 (grub_loopback_open): Likewise.
49195 (grub_loopback_read): Likewise. Also, change the type of POS to
49196 grub_off_t, and fix the usage of grub_memset.
49197
49198 * commands/i386/pc/play.c: Include grub/machine/time.h.
49199
49200 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
49201 print FILE->SIZE.
49202
49203 * commands/configfile.c: Include grub/env.h.
49204
49205 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
49206 GRUB_ERRNO directly instead. Change the type of POS to
49207 grub_off_t. Follow the coding standard.
49208
49209 * commands/blocklist.c: Include grub/partition.h.
49210 (grub_cmd_blocklist): Return an error if the underlying device is
49211 not a disk. Take the starting sector of a partition into account,
49212 if a partition is used.
49213
49214 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
49215 a length field.
49216 (lba_mode): Support 64-bit addresses.
49217 (chs_mode): Likewise.
49218 (copy_buffer): Adapted to the new offsets of a length field and a
49219 segment field.
49220 (blocklist_default_start): Allocate 64-bit space.
49221
49222 * boot/i386/pc/boot.S (force_lba): Removed.
49223 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 49224 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 49225 space.
49226 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
49227 is useless.
49228 (lba_mode): Refactored to support a 64-bit address. More size
49229 optimization.
49230 (setup_sectors): Likewise.
49231
53af98ad 492322006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49233
49234 * DISTLIST: Added include/grub/i386/linux.h. Removed
49235 include/grub/i386/pc/linux.h
49236
49237 * configure.ac (AC_INIT): Bumped to 1.94.
49238
49239 * config.guess: Updated from gnulib.
49240 * config.sub: Likewise.
49241 * install-sh: Likewise.
49242 * mkinstalldirs: Likewise.
49243
b4c1940a 492442006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49245
49246 * conf/common.rmk (grub_modules_init.lst): Depended on
49247 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
49248 MODSRCFILES.
49249
49250 * genmk.rb (PModule::rule): Reverted the previous change.
49251
cfca1cfd 492522006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49253
49254 * conf/common.rmk (grub_modules_init.lst): Depends on
49255 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
49256 that the target does not exist before producing.
49257 (grub_modules_init.h): Remove the target before generating.
49258 (grub_emu_init.c): Likewise.
49259
49260 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
49261
aa6d7826 492622006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
49263
49264 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
49265 for the target-specific tests. Make sure that we also have the
49266 up-to-date target variables for those tests.
49267
26c607b9 492682006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49269
49270 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
49271 (PModule::rule): Likewise.
49272
0162321a 492732006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49274
49275 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
49276 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
49277 target-specific flags should be prefixed.
49278 (PModule::rule): Likewise.
49279
6c826348 492802006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
49281
49282 * configure.ac (CMP): Check if cmp is available explicitly.
49283
b977bf01 492842006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
49285
49286 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
49287 (target_cpu): New variable.
49288 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 49289
b977bf01 49290 * util/i386/pc/grub-install.in (host_cpu): Removed.
49291 (target_cpu): New variable.
49292 (pkglibdir): Use target_cpu instead of host_cpu.
49293
49294 * util/genmoddep.c: Removed.
f19dbdb7 49295
b977bf01 49296 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
49297 instead of GRUB_HOST_SIZEOF_VOID_P.
49298 * kern/dl.c: Likewise.
49299
49300 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
49301 ...
49302 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49303 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49304 (GRUB_TARGET_SIZEOF_LONG): ... this.
49305 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49306 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49307 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49308 to ...
49309 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49310 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49311 (GRUB_TARGET_SIZEOF_LONG): ... this.
49312 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49313 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49314 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49315 to ...
49316 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49317 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49318 (GRUB_TARGET_SIZEOF_LONG): ... this.
49319 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49320 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49321
49322 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
49323 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
49324 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
49325 instead of GRUB_HOST_SIZEOF_LONG.
49326 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
49327 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
49328 GRUB_CPU_WORDS_BIGENDIAN.
49329 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
49330 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
49331 grub_host_ssize_t.
49332
49333 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
49334 (genmoddep_SOURCES): Likewise.
49335 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
49336 (genmoddep_SOURCES): Likewise.
49337 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
49338 (genmoddep_SOURCES): Likewise.
49339 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
49340 Likewise.
49341 (genmoddep_SOURCES): Likewise.
49342
49343 * genmoddep.awk: New file.
49344
49345 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
49346 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
49347 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
49348 (PModule::rule): Likewise.
49349 (Program::rule): Likewise.
49350 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
49351 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
49352 respectively.
49353
49354 * configure.ac: Rewritten intensively to use host and target
49355 instead of build and host, respectively.
49356
49357 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
49358 (host_cpu): Removed.
49359 (target_cpu): New variable.
49360 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
49361 (BUILD_CC): Removed.
49362 (BUILD_CFLAGS): Likewise.
49363 (BUILD_CPPFLAGS): Likewise.
49364 (TARGET_CC): New variable.
49365 (TARGET_CFLAGS): Likewise.
49366 (TARGET_CPPFLAGS): Likewise.
49367 (TARGET_LDFLAGS): Likewise.
49368 (AWK): Likewise.
49369 (include): Use target_cpu instead of host_cpu.
49370 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 49371
b977bf01 49372 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
49373
f09771a1 493742006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
49375
49376 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
49377 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
49378 field 'false' to 'exec_on_false'.
49379 (grub_script_create_cmdif): Renamed argument names to reflect above
49380 changes.
49381
49382 * normal/execute.c (grub_script_execute_cmdif): Likewise.
49383
49384 * normal/script.c (grub_script_create_cmdif): Likewise.
49385
118f4fb3 493862006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
49387
49388 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
49389 top.
49390 (grub_hfsplus_btree_recptr): Likewise.
49391 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
49392 FILEBLOCK both to pass a block number and store next block
49393 number.
49394 (grub_hfsplus_read_block): Rewritten heavily to support an extent
49395 overflow file correctly. Specify errors appropriately, because
49396 fshelp expects that GRUB_ERRNO is set when fails. Reuse
49397 grub_hfsplus_btree_recptr to get the pointer to a found key.
49398 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
49399 is found.
49400
49401 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
49402 linux.mod.
49403 (_linux_mod_SOURCES): New variable.
49404 (_linux_mod_CFLAGS): Likewise.
49405 (_linux_mod_LDFLAGS): Likewise.
49406 (linux_mod_SOURCES): Likewise.
49407 (linux_mod_CFLAGS): Likewise.
49408 (linux_mod_LDFLAGS): Likewise.
49409
49410 * DISTLIST: Added loader/i386/efi/linux.c,
49411 loader/i386/efi/linux_normal.c and
49412 include/grub/i386/efi/loader.h.
49413
49414 * loader/i386/efi/linux.c: New file.
49415 * loader/i386/efi/linux_normal.c: Likewise.
49416 * include/grub/i386/efi/loader.h: Likewise.
49417
89a7d726 494182006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
49419
49420 * commands/blocklist.c: New file.
49421
49422 * DISTLIST: Added commands/blocklist.c.
49423
49424 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 49425 color for the background, and a darker color for the foreground.
89a7d726 49426 (grub_console_checkkey): Return READ_KEY.
49427 (grub_console_cls): Set the background to
49428 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
49429
49430 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
49431
49432 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
49433 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
49434
49435 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
49436 prototype.
49437
49438 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
49439 BG. The spec is wrong again.
49440
49441 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
49442 prototype.
49443 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
49444
49445 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49446 commands/blocklist.c.
49447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 49448
89a7d726 49449 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
49450 (blocklist_mod_SOURCES): New variable.
49451 (blocklist_mod_CFLAGS): Likewise.
49452 (blocklist_mod_LDFLAGS): Likewise.
49453
75c8f258 494542006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
49455
49456 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
49457 duplication.
49458 (lba_mode): Use %eax more intensively to reduce the code size.
49459
da2eb181 494602006-05-20 Marco Gerards <marco@gnu.org>
49461
49462 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
49463
49464 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
49465 for `menuentry'.
49466 (script): Accept leading newlines.
49467 (newlines): New rule to describe 0 or more newlines.
49468 (commands): Accept `command' with trailing newline. Fixed the
49469 order in which arguments were passed to `grub_script_add_cmd'.
49470 Accept commands separated by newlines.
49471 (function): Changed to accept newlines.
49472 (menuentry) Rewritten.
49473
49474 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
49475 front of the list, instead of to the end.
49476
577b4050 494772006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
49478
49479 * util/i386/pc/grub-install.in (bindir): New variable.
49480 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
49481 Shaver <lbgwjl@gmail.com>.
49482
0d6e1189 494832006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
49484
49485 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
49486 grub/machine/linux.h
49487 * loader/i386/pc/linux.c: Likewise.
49488
49489 * include/grub/i386/pc/linux.h: Moved to ...
49490 * include/grub/i386/linux.h: ... here.
49491
49492 * include/grub/i386/linux.h (struct linux_kernel_params): New
49493 struct.
f19dbdb7 49494
31b86e9f 494952006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
49496
49497 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
49498 checking.
49499 (grub_video_vbe_blit_glyph): Likewise.
49500 (grub_video_vbe_blit_bitmap): Likewise.
49501 (grub_video_vbe_blit_render_target): Likewise.
49502
83b984de 495032006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
49504
49505 * configure.ac (--with-platform): Properly quote the square
49506 brackets.
49507
5f0413bd 495082006-05-08 Marco Gerards <marco@gnu.org>
49509
49510 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
49511 this...
49512 (kernel_elf_HEADERS): ...to this. Updated all users.
49513 (grubof_symlist.c): Renamed from this...
49514 (kernel_elf_symlist.c): ...to this. Updated all users.
49515 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49516 (grubof_SOURCES): Renamed from this...
49517 (kernel_elf_SOURCES): ...to this.
49518 (grubof_HEADERS): Renamed from this...
49519 (kernel_elf_HEADERS): ...to this.
49520 (grubof_CFLAGS): Renamed from this...
49521 (kernel_elf_CFLAGS): ...to this.
49522 (grubof_ASFLAGS): Renamed from this...
49523 (kernel_elf_ASFLAGS): ...to this.
49524 (grubof_LDFLAGS): Renamed from this...
49525 (kernel_elf_LDFLAGS): ...to this.
49526
49527 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
49528 this...
49529 (kernel_elf_HEADERS): ...to this. Updated all users.
49530 (grubof_symlist.c): Renamed from this...
49531 (kernel_elf_symlist.c): ...to this. Updated all users.
49532 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49533 (grubof_SOURCES): Renamed from this...
49534 (kernel_elf_SOURCES): ...to this.
49535 (grubof_HEADERS): Renamed from this...
49536 (kernel_elf_HEADERS): ...to this.
49537 (grubof_CFLAGS): Renamed from this...
49538 (kernel_elf_CFLAGS): ...to this.
49539 (grubof_ASFLAGS): Renamed from this...
49540 (kernel_elf_ASFLAGS): ...to this.
49541 (grubof_LDFLAGS): Renamed from this...
49542 (kernel_elf_LDFLAGS): ...to this.
49543
49544 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
49545 `kernel.elf' instead of `grubof'.
49546
05568c2e 495472006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
49548
49549 Add --with-platform to configure. Use pkglibdir instead of
49550 pkgdatadir. This is reported by Roger Leigh.
49551
49552 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
49553 (host_vendor): Likewise.
49554 (host_os): Likewise.
49555 (pkgdatadir): Likewise.
49556 (platform): New variable.
49557 (pkglibdir): Likewise.
49558 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 49559
05568c2e 49560 * util/i386/pc/grub-install.in (datadir): Removed.
49561 (host_vendor): Likewise.
49562 (host_os): Likewise.
49563 (pkgdatadir): Likewise.
49564 (platform): New variable.
49565 (pkglibdir): Likewise.
49566 Use PKGLIBDIR instead of PKGDATADIR.
49567
49568 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
49569 instead of GRUB_DATADIR.
49570 (main): Likewise.
49571 * util/i386/pc/grub-mkimage.c (usage): Likewise.
49572 (main): Likewise.
49573 * util/i386/efi/grub-mkimage.c (usage): Likewise.
49574 (main): Likewise.
49575
49576 * configure.ac (--with-platform): New option.
49577 Use PLATFORM instead of HOST_VENDOR to specify a platform.
49578
49579 * Makefile.in: Include a makefile based on PLATFORM instead of
49580 HOST_VENDOR.
49581 (pkgdatadir): Not appended by the machine type.
49582 (pkglibdir): Appended by the machine type.
49583 (host_vendor): Removed.
49584 (platform): New variable.
49585 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
49586 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
49587 (uninstall): Likewise.
49588
4e93851c 495892006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
49590
49591 Use the environment context in the menu. Remove the commands
49592 "default" and "timeout", and use variables instead.
f19dbdb7 49593
4e93851c 49594 * normal/menu.c: Include grub/env.h.
49595 (print_entry): Cast TITLE to silence gcc.
49596 (get_timeout): New function.
49597 (set_timeout): Likewise.
49598 (get_entry_number): Likewise.
49599 (run_menu): Use a default entry, a fallback entry and a timeout
49600 in the environment variables "default", "fallback" and
49601 "timeout". Also, tweak the default entry if it is not within the
49602 current menu entries.
49603 (grub_menu_run): Use a fallback entry in the environment variable
49604 "fallback".
49605
49606 * normal/main.c (read_config_file): Do not initialize
49607 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
49608 NEWMENU->TIMEOUT.
49609 (grub_normal_execute): Use a data slot to store the menu.
49610
49611 * include/grub/normal.h (struct grub_menu): Removed default_entry,
49612 fallback_entry and timeout.
49613 (struct grub_menu_list): Removed.
49614 (grub_menu_list_t): Likewise.
49615 (struct grub_context): Likewise.
49616 (grub_context_t): Likewise.
49617 (grub_context_get): Likewise.
49618 (grub_context_get_current_menu): Likewise.
49619 (grub_context_push_menu): Likewise.
49620 (grub_context_pop_menu): Likewise.
49621 (grub_default_init): Likewise.
49622 (grub_default_fini): Likewise.
49623 (grub_timeout_init): Likewise.
49624 (grub_timeout_fini): Likewise.
49625
49626 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
49627 and timeout.mod.
49628 (normal_mod_SOURCES): Removed normal/context.c.
49629
49630 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
49631 commands/default.c, commands/timeout.c and normal/context.c.
49632 (normal_mod_SOURCES): Removed normal/context.c.
49633
49634 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
49635 commands/timeout.c and normal/context.c.
49636 (normal_mod_SOURCES): Removed normal/context.c.
49637
49638 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
49639 commands/default.c, commands/timeout.c and normal/context.c.
49640 (normal_mod_SOURCES): Removed normal/context.c.
49641
49642 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
49643 timeout.mod.
49644 (default_mod_SOURCES): Removed.
49645 (default_mod_CFLAGS): Likewise.
49646 (default_mod_LDFLAGS): Likewise.
49647 (timeout_mod_SOURCES): Removed.
49648 (timeout_mod_CFLAGS): Likewise.
49649 (timeout_mod_LDFLAGS): Likewise.
49650
49651 * DISTLIST: Removed commands/default.c, commands/timeout.c and
49652 normal/context.c.
49653
49654 * commands/default.c: Removed.
49655 * commands/timeout.c: Likewise.
49656 * normal/context.c: Likewise.
49657
1eb9cc1d 496582006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
49659
49660 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
49661
385bd9c1 496622006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
49663
49664 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
49665 "next" to "prev" for readability.
49666 (struct grub_env_sorted_var): New struct.
49667 (grub_env_context): Renamed to ...
49668 (initial_context): ... this.
49669 (grub_env_var_context): Renamed to ...
49670 (current_context): ... this.
49671 (grub_env_find): Look only at CURRENT_CONTEXT.
49672 (grub_env_context_open): Rewritten to copy exported variables from
49673 previous context.
49674 (grub_env_context_close): Rewritten according to the new
49675 scheme. Also, add an assertion to prevent the initial context from
49676 removed.
49677 (grub_env_insert): Removed the code for the sorted list.
49678 (grub_env_remove): Likewise.
49679 (grub_env_export): Simply mark the variable with
49680 GRUB_ENV_VAR_GLOBAL.
49681 (grub_env_set): A cosmetic change for naming consistency.
49682 (grub_env_get): Likewise.
49683 (grub_env_unset): Likewise.
49684 (grub_env_iterate): Rewritten to sort variables within this
49685 function.
49686 (grub_register_variable_hook): Fixed for naming consistency. Call
49687 grub_env_find again, only if NAME is not found at the first time.
49688 (mangle_data_slot_name): New function.
49689 (grub_env_set_data_slot): Likewise.
49690 (grub_env_get_data_slot): Likewise.
49691 (grub_env_unset_data_slot): Likewise.
49692
49693 * include/grub/env.h (grub_env_var_type): New enum.
49694 (GRUB_ENV_VAR_LOCAL): New constant.
49695 (GRUB_ENV_VAR_GLOBAL): Likewise.
49696 (GRUB_ENV_VAR_DATA): Likewise.
49697 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
49698 "type".
49699 (grub_env_set): Replace VAR with NAME for consistency.
49700 (grub_register_variable_hook): Likewise.
49701 (grub_env_export): Specify the name of the argument.
49702 (grub_env_set_data_slot): New prototype.
49703 (grub_env_get_data_slot): Likewise.
49704 (grub_env_unset_data_slot): Likewise.
49705
7f362539 497062006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49707
49708 Extend the loader so that GRUB can accept a loader which comes
49709 back to GRUB when a loaded image exits. Also, this change adds
49710 support for a chainloader on EFI.
f19dbdb7 49711
7f362539 49712 * term/efi/console.c: Include grub/misc.h.
49713 (grub_console_checkkey): Display a scan code on the top for
49714 debugging. This will be removed once the EFI port gets stable.
49715 Correct the scan code mapping.
49716
49717 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
49718 allocate memory from larger regions, in order to reduce the number
49719 of allocated regions. Otherwise, the MacOSX loader panics.
49720 (filter_memory_map): Avoid less than 1MB for compatibility with
49721 other loaders.
49722 (add_memory_regions): Allocate from the tail of a region, if
49723 possible, to avoid allocating a region near to 1MB, for the MacOSX
49724 loader.
49725
49726 * kern/efi/init.c (grub_efi_set_prefix): Specify
49727 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
49728
49729 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
49730 argument IMAGE_HANDLE and specify it to get a loaded image.
49731 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
49732 grub_efi_get_loaded_image.
fe6b695a 49733 (grub_efi_get_filename): Divide the length by the size of
7f362539 49734 grub_efi_char16_t.
49735 (grub_efi_get_device_path): New function.
49736 (grub_efi_print_device_path): Print End Device Path nodes. Divide
49737 the length by the size of grub_efi_char16_t for a file path device
49738 path node.
49739
49740 * kern/loader.c (grub_loader_noreturn): New variable.
49741 (grub_loader_set): Accept a new argument NORETURN. Set
49742 GRUB_LOADER_NORETURN to NORETURN.
49743 All callers changed.
49744 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
49745 grub_machine_fini.
49746
49747 * include/grub/efi/efi.h (grub_efi_get_device_path): New
49748 prototype.
49749 (grub_efi_get_loaded_image): Take an argument to specify an image
49750 handle.
49751
49752 * include/grub/loader.h (grub_loader_set): Added one more argument
49753 NORETURN.
49754
49755 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
49756 instead of grub_efi_open_protocol.
49757 (grub_efidisk_get_device_name): Likewise.
49758 (grub_efidisk_close): Print a newline.
49759 (grub_efidisk_get_device_handle): Fixed to use
49760 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
49761 GRUB_EFI_DEVICE_PATH_TYPE.
49762
49763 * disk/efi/efidisk.c (device_path_guid): Moved to ...
49764 * kern/efi/efi.c (device_path_guid): ... here.
49765
49766 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
49767 chain.mod.
49768 (kernel_mod_HEADERS): Added efi/disk.h.
49769 (_chain_mod_SOURCES): New variable.
49770 (_chain_mod_CFLAGS): Likewise.
49771 (_chain_mod_LDFLAGS): Likewise.
49772 (chain_mod_SOURCES): Likewise.
49773 (chain_mod_CFLAGS): Likewise.
49774 (chain_mod_LDFLAGS): Likewise.
49775
49776 * DISTLIST: Added include/grub/efi/chainloader.h,
49777 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
49778
49779 * include/grub/efi/chainloader.h: New file.
49780 * loader/efi/chainloader.c: Likewise.
49781 * loader/efi/chainloader_normal.c: Likewise.
49782
c0111d6e 497832006-04-30 Marco Gerards <marco@gnu.org>
49784
49785 * commands/configfile.c (grub_cmd_source): New function.
49786 (GRUB_MOD_INIT): Register the commands `source' and `.'.
49787 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
49788
df5341da 497892006-04-30 Marco Gerards <marco@gnu.org>
49790
49791 * normal/execute.c (grub_script_execute_cmd): Change the return
49792 type to `grub_err_t'. Correctly return the error.
49793 (grub_script_execute_cmdline): In case a command line is not a
49794 command or a function, try to interpret it as an assignment.
49795
f85934bd 497962006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49797
49798 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
49799 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
49800 skip a node whose name is obviously invalid as UTF-16,
49801 i.e. contains a NUL character. Stop the iteration when the last
49802 directory entry is found. Instead of using the return value of
49803 grub_hfsplus_btree_iterate_node, store the value in RET and use
49804 it, because the iterator can be stopped by the last directory
49805 entry.
49806
8f8a2cf8 498072006-04-30 Marco Gerards <marco@gnu.org>
49808
49809 * include/grub/env.h (grub_env_export): New prototype. Reported
49810 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
49811
a27e84ce 498122006-04-30 Marco Gerards <marco@gnu.org>
49813
49814 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
49815 size of the extents in a catalog file record.
49816
eaef0553 498172006-04-29 Marco Gerards <marco@gnu.org>
49818
49819 * commands/configfile.c (grub_cmd_configfile): Execute the
49820 configfile within its own context.
49821
49822 * include/grub/env.h (grub_env_context_open): New prototype.
49823 (grub_env_context_close): Likewise.
49824
49825 * kern/env.c (grub_env): Removed.
49826 (grub_env_sorted): Likewise.
49827 (grub_env_context): New variable.
49828 (grub_env_var_context): Likewise.
49829 (grub_env_find): Search both the active context and the global
49830 context.
49831 (grub_env_context_open): New function.
49832 (grub_env_context_close): Likewise.
49833 (grub_env_insert): Likewise.
49834 (grub_env_remove): Likewise.
49835 (grub_env_export): Likewise.
49836 (grub_env_set): Changed to use helper functions to avoid code
49837 duplication.
49838 (grub_env_iterate): Rewritten so both the current context and the
49839 global context are being used.
49840
49841 * normal/command.c (export_command): New function.
49842 (grub_command_init): Register the `export' function.
49843
7b455f4d 498442006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
49845
49846 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
49847 explicitly to suppress gcc's warnings.
49848 * fs/fat.c (grub_fat_find_dir): Likewise.
49849 (grub_fat_label): Likewise.
49850 * fs/xfs.c (grub_xfs_read_inode): Likewise.
49851 (grub_xfs_mount): Likewise.
49852 (grub_xfs_label): Likewise.
49853 * fs/affs.c (grub_affs_mount): Likewise.
49854 (grub_affs_label): Likewise.
49855 (grub_affs_iterate_dir): Likewise.
49856 * fs/sfs.c (grub_sfs_mount): Likewise.
49857 (grub_sfs_iterate_dir): Likewise.
49858 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
49859 * fs/hfs.c (grub_hfs_mount): Likewise.
49860 (grub_hfs_cmp_catkeys): Likewise.
49861 (grub_hfs_find_dir): Likewise.
49862 (grub_hfs_dir): Likewise.
49863 (grub_hfs_label): Likewise.
49864 * fs/jfs.c (grub_jfs_mount): Likewise.
49865 (grub_jfs_opendir): Likewise.
49866 (grub_jfs_getent): Likewise.
49867 (grub_jfs_lookup_symlink): Likewise.
49868 (grub_jfs_label): Likewise.
49869 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
49870 (grub_hfsplus_iterate_dir): Likewise.
49871 (grub_hfsplus_btree_iterate_node): Made static.
49872
49873 * util/grub-emu.c (prefix): New variable.
49874 (grub_machine_set_prefix): New function.
49875 (main): Do not set the environment variable "prefix" here. Only
49876 set PREFIX, which is used later by grub_machine_set_prefix.
49877
49878 * include/grub/video.h: Do not include grub/symbol.h.
49879 (grub_video_register): Not exported. This symbol is not defined in
49880 the kernel.
49881 (grub_video_unregister): Likewise.
49882 (grub_video_iterate): Likewise.
49883 (grub_video_setup): Likewise.
49884 (grub_video_restore): Likewise.
49885 (grub_video_get_info): Likewise.
49886 (grub_video_get_blit_format): Likewise.
49887 (grub_video_set_palette): Likewise.
49888 (grub_video_get_palette): Likewise.
49889 (grub_video_set_viewport): Likewise.
49890 (grub_video_get_viewport): Likewise.
49891 (grub_video_map_color): Likewise.
49892 (grub_video_map_rgb): Likewise.
49893 (grub_video_map_rgba): Likewise.
49894 (grub_video_fill_rect): Likewise.
49895 (grub_video_blit_glyph): Likewise.
49896 (grub_video_blit_bitmap): Likewise.
49897 (grub_video_blit_render_target): Likewise.
49898 (grub_video_scroll): Likewise.
49899 (grub_video_swap_buffers): Likewise.
49900 (grub_video_create_render_target): Likewise.
49901 (grub_video_delete_render_target): Likewise.
49902 (grub_video_set_active_render_target): Likewise.
49903
49904 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
49905 Undefined.
49906 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
49907
49908 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
49909 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49910 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49911 instead of $(srcdir)/genkernsyms.sh.
49912
49913 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
49914 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49915 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49916 instead of $(srcdir)/genkernsyms.sh.
49917
49918 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
49919 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49920 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49921 instead of $(srcdir)/genkernsyms.sh.
49922
49923 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
49924 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49925 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49926 instead of $(srcdir)/genkernsyms.sh.
49927
49928 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
49929 genkernsyms.sh.
49930
49931 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
49932 genkernsyms.sh.
49933 (gensymlist.sh): New target.
49934 (genkernsyms.sh): Likewise.
49935
49936 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
49937 genkernsyms.sh.in and gensymlist.sh.in.
49938
49939 * genkernsyms.sh: Removed.
49940 * gensymlist.sh: Likewise.
f19dbdb7 49941
7b455f4d 49942 * genkernsyms.sh.in: New file.
49943 * gensymlist.sh.in: Likewise.
49944
1885bb27 499452006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49946
49947 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
49948 clobber "prefix", since we may have already set it manually.
49949
71538dff 499502006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49951
49952 * kern/misc.c (abort): New alias for grub_abort.
49953
2965c7cc 499542006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
49955
49956 A new machine-specific function "grub_machine_set_prefix" is
49957 defined. This is called after loading modules, so that a prefix
49958 initialization can use modules. Also, this change adds an
49959 intensive debugging feature for the memory manager via the
49960 configure option "--enable-mm-debug".
f19dbdb7 49961
2965c7cc 49962 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
49963 PART.LEN.
49964
49965 * kern/sparc64/ieee1275/init.c (abort): Removed.
49966 (grub_stop): Likewise.
49967 (grub_exit): New function.
49968 (grub_set_prefix): Renamed to ...
49969 (grub_machine_set_prefix): ... this.
49970 (grub_machine_init): Do not call grub_set_prefix.
49971
49972 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
49973 (grub_machine_set_prefix): ... this.
49974 (grub_machine_init): Do not call grub_set_prefix.
49975
49976 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
49977 (grub_machine_init): Do not set the prefix here.
49978
49979 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
49980
49981 * kern/efi/init.c: Include grub/mm.h.
49982 (grub_efi_set_prefix): New function.
49983
49984 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
49985 (grub_efi_get_filename): New function.
49986 (grub_print_device_path): Renamed to ...
49987 (grub_efi_print_device_path): ... this.
49988
49989 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
49990 [MM_DEBUG] (grub_realloc): Likewise.
49991 [MM_DEBUG] (grub_free): Likewise.
49992 [MM_DEBUG] (grub_memalign): Likewise.
49993 [MM_DEBUG] (grub_mm_debug): New variable.
49994 [MM_DEBUG] (grub_debug_malloc): New function.
49995 [MM_DEBUG] (grub_debug_free): New function.
49996 [MM_DEBUG] (grub_debug_realloc): New function.
49997 [MM_DEBUG] (grub_debug_memalign): New function.
49998
49999 * kern/misc.c (grub_abort): Print a newline to distinguish
50000 the message.
50001
50002 * kern/main.c (grub_main): Call grub_machine_set_prefix and
50003 grub_set_root_dev after loading modules. This is necessary when
50004 setting a prefix depends on modules.
50005
50006 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
50007 (grub_efi_print_device_path): ... this.
50008 (grub_efi_get_filename): New prototype.
50009 (grub_efi_set_prefix): Likewise.
50010
50011 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
50012 and grub/disk.h.
50013 (grub_efidisk_get_device_handle): New prototype.
50014 (grub_efidisk_get_device_name): Likewise.
50015
50016 * include/grub/mm.h: Include config.h.
50017 (MM_DEBUG): Removed.
50018 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
50019 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
50020 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
50021 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
50022 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
50023 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
50024 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
50025 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
50026 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
50027
50028 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
50029
50030 * disk/efi/efidisk.c: Include grub/partition.h.
50031 (iterate_child_devices): New function.
50032 (add_device): First, compare only last device path nodes, so that
50033 devices are sorted by the types.
50034 (grub_efidisk_get_device_handle): New function.
50035 (grub_efidisk_get_device_name): Likewise.
50036
50037 * configure.ac (--enable-mm-debug): New option to enable the
50038 memory manager debugging feature. This makes the binary much
50039 bigger, so is disabled by default.
50040
9cacaa17 500412006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
50042
50043 Use grub_abort instead of grub_stop, and grub_exit must be
50044 define in each architecture now. Also, this change adds support
50045 for EFI disks.
f19dbdb7 50046
9cacaa17 50047 * util/i386/pc/grub-probefs.c: Include grub/term.h.
50048 (grub_getkey): New function.
50049 (grub_term_get_current): Likewise.
50050
50051 * util/i386/pc/grub-setup.c: Include grub/term.h.
50052 (grub_getkey): New function.
50053 (grub_term_get_current): Likewise.
50054
50055 * util/misc.c (grub_stop): Renamed to ...
50056 (grub_exit): ... this.
50057
50058 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
50059 (grub_exit): ... this.
50060 (grub_machine_init): Use grub_abort instead of abort.
50061 (grub_stop): Removed.
50062
50063 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
50064 abort.
50065
50066 * kern/i386/pc/startup.S (grub_exit): New function.
50067 (cold_reboot): New label.
50068
50069 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
50070 (grub_efi_init): Call grub_efidisk_init.
50071 (grub_efi_fini): Call grub_efidisk_fini.
50072
50073 * kern/efi/efi.c: Include grub/mm.h.
50074 (grub_efi_console_control_guid): Renamed to ...
50075 (console_control_guid): ... this.
50076 (grub_efi_loaded_image_guid): Renamed to ...
50077 (loaded_image_guid): ... this.
50078 (grub_efi_locate_handle): New function.
50079 (grub_efi_open_protocol): Likewise.
50080 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
50081 GRUB_EFI_CONSOLE_CONTROL_GUID.
50082 (grub_efi_exit): Removed.
50083 (grub_stop): Likewise.
50084 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
50085 (grub_exit): New function.
50086 (grub_print_device_path): Likewise.
50087
50088 * kern/rescue.c (grub_rescue_cmd_exit): New function.
50089 (grub_enter_rescue_mode): Register "exit".
50090
50091 * kern/misc.c (grub_real_dprintf): A cosmetic change.
50092 (grub_abort): New function.
50093
50094 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
50095
50096 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
50097
50098 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
50099
50100 * include/grub/efi/efi.h (grub_efi_exit): Removed.
50101 (grub_print_device_path): New prototype.
50102 (grub_efi_locate_handle): Likewise.
50103 (grub_efi_open_protocol): Likewise.
50104
50105 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
50106 * disk/efi/efidisk.c: Likewise.
50107
50108 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
50109
50110 * include/grub/efi/console_control.h
50111 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
50112
50113 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
50114 last 8 bytes as an array.
50115 (GRUB_EFI_DISK_IO_GUID): New macro.
50116 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
50117 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
50118 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
50119 grub_uint8_t.
50120 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
50121 (struct grub_efi_device_path): Rename the member "sub_type" to
50122 "subtype".
50123 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
50124 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
50125 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
50126 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
50127 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
50128 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
50129 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
50130 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
50131 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
50132 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
50133 (struct grub_efi_pci_device_path): New structure.
50134 (grub_efi_pci_device_path_t): New type.
50135 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
50136 (struct grub_efi_pccard_device_path): New structure.
50137 (grub_efi_pccard_device_path_t): New type.
50138 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
50139 (struct grub_efi_memory_mapped_device_path): New structure.
50140 (grub_efi_memory_mapped_device_path_t): New type.
50141 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
50142 (struct grub_efi_vendor_device_path): New structure.
50143 (grub_efi_vendor_device_path_t): New type.
50144 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
50145 (struct grub_efi_controller_device_path): New structure.
50146 (grub_efi_controller_device_path_t): New type.
50147 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
50148 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
50149 (struct grub_efi_acpi_device_path): New structure.
50150 (grub_efi_acpi_device_path_t): New type.
50151 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
50152 (struct grub_efi_expanded_acpi_device_path): New structure.
50153 (grub_efi_expanded_acpi_device_path_t): New type.
50154 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
50155 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
50156 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
50157 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
50158 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
50159 (struct grub_efi_atapi_device_path): New structure.
50160 (grub_efi_atapi_device_path_t): New type.
50161 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
50162 (struct grub_efi_fibre_channel_device_path): New structure.
50163 (grub_efi_fibre_channel_device_path_t): New type.
50164 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
50165 (struct grub_efi_1394_device_path): New structure.
50166 (grub_efi_1394_device_path_t): New type.
50167 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
50168 (struct grub_efi_usb_device_path): New structure.
50169 (grub_efi_usb_device_path_t): New type.
50170 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
50171 (struct grub_efi_usb_class_device_path): New structure.
50172 (grub_efi_usb_class_device_path_t): New type.
50173 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
50174 (struct grub_efi_i2o_device_path): New structure.
50175 (grub_efi_i2o_device_path_t): New type.
50176 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
50177 (struct grub_efi_mac_address_device_path): New structure.
50178 (grub_efi_mac_address_device_path_t): New type.
50179 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
50180 (struct grub_efi_ipv4_device_path): New structure.
50181 (grub_efi_ipv4_device_path_t): New type.
50182 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
50183 (struct grub_efi_ipv6_device_path): New structure.
50184 (grub_efi_ipv6_device_path_t): New type.
50185 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
50186 (struct grub_efi_infiniband_device_path): New structure.
50187 (grub_efi_infiniband_device_path_t): New type.
50188 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
50189 (struct grub_efi_uart_device_path): New structure.
50190 (grub_efi_uart_device_path_t): New type.
50191 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
50192 (struct grub_efi_vendor_messaging_device_path): New structure.
50193 (grub_efi_vendor_messaging_device_path_t): New type.
50194 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
50195 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
50196 (struct grub_efi_hard_drive_device_path): New structure.
50197 (grub_efi_hard_drive_device_path_t): New type.
50198 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
50199 (struct grub_efi_cdrom_device_path): New structure.
50200 (grub_efi_cdrom_device_path_t): New type.
50201 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
50202 (struct grub_efi_vendor_media_device_path): New structure.
50203 (grub_efi_vendor_media_device_path_t): New type.
50204 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
50205 (struct grub_efi_file_path_device_path): New structure.
50206 (grub_efi_file_path_device_path_t): New type.
50207 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
50208 (struct grub_efi_protocol_device_path): New structure.
50209 (grub_efi_protocol_device_path_t): New type.
50210 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
50211 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
50212 (struct grub_efi_bios_device_path): New structure.
50213 (grub_efi_bios_device_path_t): New type.
50214 (struct grub_efi_disk_io): New structure.
50215 (grub_efi_disk_io_t): New type.
50216 (struct grub_efi_block_io_media): New structure.
50217 (grub_efi_block_io_media_t): New type.
50218 (struct grub_efi_block_io): New structure.
50219 (grub_efi_block_io_t): New type.
50220
50221 * include/grub/misc.h (grub_stop): Removed.
50222 (grub_exit): New prototype.
50223 (grub_abort): Likewise.
50224
50225 * include/grub/disk.h (enum grub_disk_dev_id): Added
50226 GRUB_DISK_DEVICE_EFIDISK_ID.
50227
50228 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
50229 disk/efi/efidisk.c.
50230 (kernel_syms.lst): Remove the target if an error occurs.
50231
49986a9f 502322006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
50233
50234 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
50235 as it was simply too buggy.
50236
970d3b8a 502372006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
50238
50239 * kern/misc.c (grub_lltoa): New function.
50240 (grub_vsprintf): Added support for the long long suffix,
50241 i.e. "ll".
50242
ff04ec24 502432006-04-20 Hollis Blanchard <hollis@penguinppc.org>
50244
50245 * Makefile.in (LDFLAGS): Add variable.
50246 (LD): Remove variable.
50247 * configure.ac: Add -m32 to LDFLAGS.
50248 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
50249 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
50250 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
50251 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
50252 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
50253 variables.
50254 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
50255 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
50256 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
50257
37e5e1a4 502582006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
50259
50260 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
50261 length for unknown glyph.
50262
c352d8dd 502632006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50264
2eab1c0d 50265 Add support for pre-loaded modules into the EFI port.
f19dbdb7 50266
2eab1c0d 50267 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
50268 completely. Accept one more argument DIR. The caller has changed.
50269
50270 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
50271
50272 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
50273 (grub_efi_loaded_image_guid): New variable.
50274 (grub_efi_get_loaded_image): New function.
50275 (grub_arch_modules_addr): Likewise.
50276
50277 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
50278 prototype.
50279
50280 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
50281 (struct grub_efi_loaded_image): New structure.
50282 (grub_efi_loaded_image_t): New type.
50283
502842006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 50285
c352d8dd 50286 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
50287 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
50288 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
50289
6d01d6b4 502902006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
50291
50292 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
50293
976a4ea0 502942006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
50295
50296 * DISTLIST: Added include/grub/efi/console.h,
50297 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
50298 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50299
50300 * include/grub/efi/console.h: New file.
50301 * include/grub/efi/time.h: Likewise.
50302 * include/grub/i386/efi/kernel.h: Likewise.
50303 * kern/efi/init.c: Likewise.
50304 * kern/efi/mm.c: Likewise.
50305 * term/efi/console.c: Likewise.
f19dbdb7 50306
976a4ea0 50307 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
50308 (grub_stop): Removed.
50309 (grub_get_rtc): Likewise.
50310 (grub_machine_init): Simply call grub_efi_init.
50311 (grub_machine_fini): Call grub_efi_fini.
50312
50313 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
50314 (grub_efi_output_string): Removed.
50315 (grub_efi_stall): New function.
50316 (grub_stop): Likewise.
50317 (grub_get_rtc): Likewise.
50318
50319 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
50320 (grub_efi_stall): New prototype.
50321 (grub_efi_allocate_pages): Likewise.
50322 (grub_efi_free_pages): Likewise.
50323 (grub_efi_get_memory_map): Likewise.
50324 (grub_efi_mm_init): Likewise.
50325 (grub_efi_mm_fini): Likewise.
50326 (grub_efi_init): Likewise.
50327 (grub_efi_fini): Likewise.
50328
50329 * include/grub/i386/efi/time.h: Do not include
50330 grub/symbol.h. Include grub/efi/time.h.
50331 (GRUB_TICKS_PER_SECOND): Removed.
50332 (grub_get_rtc): Likewise.
50333
50334 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
50335 Added padding. The EFI spec is buggy.
50336 (GRUB_EFI_BLACK): New macro.
50337 (GRUB_EFI_BLUE): Likewise.
50338 (GRUB_EFI_GREEN): Likewise.
50339 (GRUB_EFI_CYAN): Likewise.
50340 (GRUB_EFI_RED): Likewise.
50341 (GRUB_EFI_MAGENTA): Likewise.
50342 (GRUB_EFI_BROWN): Likewise.
50343 (GRUB_EFI_LIGHTGRAY): Likewise.
50344 (GRUB_EFI_BRIGHT): Likewise.
50345 (GRUB_EFI_DARKGRAY): Likewise.
50346 (GRUB_EFI_LIGHTBLUE): Likewise.
50347 (GRUB_EFI_LIGHTGREEN): Likewise.
50348 (GRUB_EFI_LIGHTCYAN): Likewise.
50349 (GRUB_EFI_LIGHTRED): Likewise.
50350 (GRUB_EFI_LIGHTMAGENTA): Likewise.
50351 (GRUB_EFI_YELLOW): Likewise.
50352 (GRUB_EFI_WHITE): Likewise.
50353 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
50354 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
50355 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
50356 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
50357 (GRUB_EFI_BACKGROUND_RED): Likewise.
50358 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
50359 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
50360 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
50361 (GRUB_EFI_TEXT_ATTR): Likewise.
50362
50363 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
50364 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50365 (kernel_mod_HEADERS): Added efi/time.h.
50366
83709125 503672006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
50368
50369 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
50370 include/grub/efi/api.h, include/grub/efi/console_control.h,
50371 include/grub/efi/efi.h, include/grub/efi/pe32.h,
50372 include/grub/i386/efi/time.h, kern/efi/efi.c,
50373 kern/i386/efi/init.c, kern/i386/efi/startup.S,
50374 and util/i386/efi/grub-mkimage.c.
50375
50376 * Makefile.in (RMKFILES): Added i386-efi.rmk.
50377
50378 * genmk.rb (PModule#rule): Do not export symbols if
50379 #{prefix}_EXPORTS is set to "no".
50380
50381 * conf/i386-efi.mk: New file.
50382 * conf/i386-efi.rmk: Likewise.
50383 * include/grub/efi/api.h: Likewise.
50384 * include/grub/efi/console_control.h: Likewise.
50385 * include/grub/efi/efi.h: Likewise.
50386 * include/grub/efi/pe32.h: Likewise.
50387 * include/grub/i386/efi/time.h: Likewise.
50388 * kern/efi/efi.c: Likewise.
50389 * kern/i386/efi/init.c: Likewise.
50390 * kern/i386/efi/startup.S: Likewise.
50391 * util/i386/efi/grub-mkimage.c: Likewise.
50392
503932006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 50394
50395 * include/grub/script.h: Include <grub/parser.h> and
50396 "grub_script.tab.h".
50397 (struct grub_lexer_param): New struct.
50398 (struct grub_parser_param): Likewise.
50399 (grub_script_create_arglist): Pass the state in an argument.
50400 (grub_script_add_arglist): Likewise.
50401 (grub_script_create_cmdline): Likewise.
50402 (grub_script_create_cmdblock): Likewise.
50403 (grub_script_create_cmdif): Likewise.
50404 (grub_script_create_cmdmenu): Likewise.
50405 (grub_script_add_cmd): Likewise.
50406 (grub_script_arg_add): Likewise.
50407 (grub_script_lexer_ref): Likewise.
50408 (grub_script_lexer_deref): Likewise.
50409 (grub_script_lexer_record_start): Likewise.
50410 (grub_script_lexer_record_stop): Likewise.
50411 (grub_script_mem_record): Likewise.
50412 (grub_script_mem_record_stop): Likewise.
50413 (grub_script_malloc): Likewise.
50414 (grub_script_yylex): Likewise.
50415 (grub_script_yyparse): Likewise.
50416 (grub_script_yyerror): Likewise.
50417 (grub_script_yylex): Likewise.
50418 (grub_script_lexer_init): Return the state.
50419
50420 * normal/lexer.c (grub_script_lexer_state): Removed variable.
50421 (grub_script_lexer_done): Likewise.
50422 (grub_script_lexer_getline): Likewise.
50423 (grub_script_lexer_refs): Likewise.
50424 (script): Likewise.
50425 (newscript): Likewise.
50426 (record): Likewise.
50427 (recording): Likewise.
50428 (recordpos): Likewise.
50429 (recordlen): Likewise.
50430 (grub_script_lexer_init): Return the state instead of setting
50431 global variables.
50432 (grub_script_lexer_ref): Use the newly added argument for state
50433 instead of globals.
50434 (grub_script_lexer_deref): Likewise.
50435 (grub_script_lexer_record_start): Likewise.
50436 (grub_script_lexer_record_stop): Likewise.
50437 (recordchar): Likewise.
50438 (nextchar): Likewise.
50439 (grub_script_yylex2): Likewise.
50440 (grub_script_yylex): Likewise.
50441 (grub_script_yyerror): Likewise.
50442
50443 * normal/parser.y (func_mem): Removed variable.
50444 (menu_entry): Likewise.
50445 (err): Likewise.
50446 (%lex-param): New parser option.
50447 (%parse-param): Likewise.
50448 (script): Always return the AST.
50449 (argument): Pass the state around.
50450 (arguments): Likewise.
50451 (grubcmd): Likewise.
50452 (commands): Likewise.
50453 (function): Likewise.
50454 (menuentry): Likewise.
50455 (if_statement): Likewise.
50456 (if): Likewise.
50457
50458 * normal/script.c (grub_script_memused): Removed variable.
50459 (grub_script_parsed): Likewise.
50460 (grub_script_malloc): Added a state argument. Use that instead of
50461 global variables.
50462 (grub_script_mem_record): Likewise.
50463 (grub_script_mem_record_stop): Likewise.
50464 (grub_script_arg_add): Likewise.
50465 (grub_script_add_arglist): Likewise.
50466 (grub_script_create_cmdline): Likewise.
50467 (grub_script_create_cmdif): Likewise.
50468 (grub_script_create_cmdmenu): Likewise.
50469 (grub_script_add_cmd): Likewise.
50470 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 50471
e2a8c904 504722006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 50473
50474 * normal/command.c (grub_command_init): Remove the title command.
50475
50476 * normal/lexer.c (grub_script_yylex): Renamed from this...
50477 (grub_script_yylex2): ... to this.
50478 (grub_script_yylex): New function. Temporary
50479 introduced to filter some tokens.
50480 (grub_script_yyerror): Print a newline.
50481
50482 * normal/main.c (read_config_file): Output information about the
50483 lines that contain errors. Wait for a key after all lines have
50484 been processed. Don't return an empty menu.
50485
50486 * normal/parser.y (func_mem): Don't initialize.
50487 (menu_entry): Likewise.
50488 (err): New variable.
50489 (script): Don't return anything when an error was encountered.
50490 (ws, returns): Removed rules.
50491 (argument): Disabled concatenated variable support.
50492 (arguments): Remove explicit separators.
50493 (grubcmd): Likewise.
50494 (function): Likewise.
50495 (menuentry): Likewise.
50496 (if): Likewise.
50497 (commands): Likewise. Add error handling.
50498
50499 * normal/script.c (grub_script_create_cmdline): If
50500 `grub_script_parsed' is 0, assume the parser encountered an error.
50501
c9a86192 505022006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
50503
50504 * configure.ac: Add support for EFI. Fix the typo
50505 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
50506
70f3b243 505072006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50508
50509 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
50510 foreign multibyte characters should be shown correctly.
50511
65f201ad 505122006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50513
50514 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
50515 calculation.
50516 (read_config_file): Made it to close file before returning.
50517
b4b93674 505182006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
50519
50520 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
50521 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
50522 video/i386/pc/vbefill.c.
50523
50524 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
50525 video/i386/pc/vbefill.c.
50526
50527 * include/grub/video.h (grub_video_blit_format): New enum.
50528 (grub_video_mode_info): Added new member blit_format.
50529 (grub_video_get_blit_format): New function prototype.
50530
50531 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
50532 function prototype.
50533 (grub_video_vbe_map_rgb): Likewise.
50534 (grub_video_vbe_unmap_color): Likewise.
50535
50536 * include/grub/i386/pc/vbeblit.h: New file.
50537
50538 * include/grub/i386/pc/vbefill.h: New file.
50539
50540 * video/video.c (grub_video_get_blit_format): New function.
50541 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
50542 (grub_video_vbe_map_rgb): Likewise.
50543 (grub_video_vbe_unmap_color): Likewise.
50544
50545 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
50546 optimized fills.
50547 (grub_video_vbe_blit_render_target): Changed to use more optimized
50548 blits.
50549 (grub_video_vbe_setup): Added detection for optimized settings.
50550 (grub_video_vbe_create_render_target): Likewise.
50551
50552 * video/i386/pc/vbeblit.c: New file.
50553
50554 * video/i386/pc/vbefill.c: New file.
50555
c2379b9c 505562006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
50557
50558 * font/manager.c (grub_font_get_glyph): Removed font fixup from
50559 here...
50560
50561 * util/unifont2pff.rb: ... and moved it to here. Improved argument
50562 parsing to support both hex and dec ranges. If filename was missing
50563 show usage information.
50564
bd0d7896 505652006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
50566
50567 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
50568 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
50569
50570 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
50571 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
50572 (video_mod_SOURCES): Added.
50573 (video_mod_CFLAGS): Likewise.
50574 (video_mod_LDFLAGS): Likewise.
50575 (gfxterm_mod_SOURCES): Likewise.
50576 (gfxterm_mod_CFLAGS): Likewise.
50577 (gfxterm_mod_LDFLAGS): Likewise.
50578 (videotest_mod_SOURCES): Likewise.
50579 (videotest_mod_CFLAGS): Likewise.
50580 (videotest_mod_LDFLAGS): Likewise.
50581 (vesafb_mod_SOURCES): Removed.
50582 (vesafb_mod_CFLAGS): Likewise.
50583 (vesafb_mod_LDFLAGS): Likewise.
50584 (vga_mod_SOURCES): Likewise.
50585 (vga_mod_CFLAGS): Likewise.
50586 (vga_mod_LDFLAGS): Likewise.
50587
50588 * commands/videotest.c: New file.
50589
50590 * font/manager.c (fill_with_default_glyph): Modified to use
50591 grub_font_glyph.
50592 (grub_font_get_glyph): Likewise.
50593 (fontmanager): Renamed from this...
50594 (font_manager): ... to this.
50595
50596 * include/grub/font.h (grub_font_glyph): Added new structure.
50597 (grub_font_get_glyph): Modified to use grub_font_glyph.
50598
50599 * include/grub/misc.h (grub_abs): Added as inline function.
50600
50601 * include/grub/video.h: New file.
50602
50603 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
50604 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
50605 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
50606 (grub_vbe_get_controller_info): Renamed from this...
50607 (grub_vbe_bios_get_controller_info): ... to this.
50608 (grub_vbe_get_mode_info): Renamed from this...
50609 (grub_vbe_bios_get_mode_info): ... to this.
50610 (grub_vbe_set_mode): Renamed from this...
50611 (grub_vbe_bios_set_mode): ... to this.
50612 (grub_vbe_get_mode): Renamed from this...
50613 (grub_vbe_bios_get_mode): ... to this.
50614 (grub_vbe_set_memory_window): Renamed from this...
50615 (grub_vbe_bios_set_memory_window): ... to this.
50616 (grub_vbe_get_memory_window): Renamed from this...
50617 (grub_vbe_bios_get_memory_window): ... to this.
50618 (grub_vbe_set_scanline_length): Renamed from this...
50619 (grub_vbe_set_scanline_length): ... to this.
50620 (grub_vbe_get_scanline_length): Renamed from this...
50621 (grub_vbe_bios_get_scanline_length): ... to this.
50622 (grub_vbe_set_display_start): Renamed from this...
50623 (grub_vbe_bios_set_display_start): ... to this.
50624 (grub_vbe_get_display_start): Renamed from this...
50625 (grub_vbe_bios_get_display_start): ... to this.
50626 (grub_vbe_set_palette_data): Renamed from this...
50627 (grub_vbe_bios_set_palette_data): ... to this.
50628 (grub_vbe_set_pixel_rgb): Removed.
50629 (grub_vbe_set_pixel_index): Likewise.
50630
50631 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
50632 from this...
50633 (grub_vbe_bios_get_controller_info): ... to this.
50634 (grub_vbe_get_mode_info): Renamed from this...
50635 (grub_vbe_bios_get_mode_info): ... to this.
50636 (grub_vbe_set_mode): Renamed from this...
50637 (grub_vbe_bios_set_mode): ... to this.
50638 (grub_vbe_get_mode): Renamed from this...
50639 (grub_vbe_bios_get_mode): ... to this.
50640 (grub_vbe_set_memory_window): Renamed from this...
50641 (grub_vbe_bios_set_memory_window): ... to this.
50642 (grub_vbe_get_memory_window): Renamed from this...
50643 (grub_vbe_bios_get_memory_window): ... to this.
50644 (grub_vbe_set_scanline_length): Renamed from this...
50645 (grub_vbe_set_scanline_length): ... to this.
50646 (grub_vbe_get_scanline_length): Renamed from this...
50647 (grub_vbe_bios_get_scanline_length): ... to this.
50648 (grub_vbe_set_display_start): Renamed from this...
50649 (grub_vbe_bios_set_display_start): ... to this.
50650 (grub_vbe_get_display_start): Renamed from this...
50651 (grub_vbe_bios_get_display_start): ... to this.
50652 (grub_vbe_set_palette_data): Renamed from this...
50653 (grub_vbe_bios_set_palette_data): ... to this.
50654 (grub_vbe_bios_get_controller_info): Fixed problem with registers
50655 getting corrupted after calling it. Added more pushes and pops.
50656 (grub_vbe_bios_set_mode): Likewise.
50657 (grub_vbe_bios_get_mode): Likewise.
50658 (grub_vbe_bios_get_memory_window): Likewise.
50659 (grub_vbe_bios_set_scanline_length): Likewise.
50660 (grub_vbe_bios_get_scanline_length): Likewise.
50661 (grub_vbe_bios_get_display_start): Likewise.
50662 (grub_vbe_bios_set_palette_data): Likewise.
50663
50664 * normal/cmdline.c (cl_set_pos): Refresh the screen.
50665 (cl_insert): Likewise.
50666 (cl_delete): Likewise.
50667
50668 * term/gfxterm.c: New file.
50669
50670 * term/i386/pc/vesafb.c: Removed file.
50671
50672 * video/video.c: New file.
50673
50674 * video/i386/pc/vbe.c (real2pm): Added new function.
50675 (grub_video_vbe_draw_pixel): Likewise.
50676 (grub_video_vbe_get_video_ptr): Likewise.
50677 (grub_video_vbe_get_pixel): Likewise
50678 (grub_video_vbe_init): Likewise.
50679 (grub_video_vbe_fini): Likewise.
50680 (grub_video_vbe_setup): Likewise.
50681 (grub_video_vbe_get_info): Likewise.
50682 (grub_video_vbe_set_palette): Likewise.
50683 (grub_video_vbe_get_palette): Likewise.
50684 (grub_video_vbe_set_viewport): Likewise.
50685 (grub_video_vbe_get_viewport): Likewise.
50686 (grub_video_vbe_map_color): Likewise.
50687 (grub_video_vbe_map_rgb): Likewise.
50688 (grub_video_vbe_map_rgba): Likewise.
50689 (grub_video_vbe_unmap_color): Likewise.
50690 (grub_video_vbe_fill_rect): Likewise.
50691 (grub_video_vbe_blit_glyph): Likewise.
50692 (grub_video_vbe_blit_bitmap): Likewise.
50693 (grub_video_vbe_blit_render_target): Likewise.
50694 (grub_video_vbe_scroll): Likewise.
50695 (grub_video_vbe_swap_buffers): Likewise.
50696 (grub_video_vbe_create_render_target): Likewise.
50697 (grub_video_vbe_delete_render_target): Likewise.
50698 (grub_video_vbe_set_active_render_target): Likewise.
50699 (grub_vbe_set_pixel_rgb): Remove function.
50700 (grub_vbe_set_pixel_index): Likewise.
50701 (index_color_mode): Remove static variable.
50702 (active_mode): Likewise.
50703 (framebuffer): Likewise.
50704 (bytes_per_scan_line): Likewise.
50705 (grub_video_vbe_adapter): Added new static variable.
50706 (framebuffer): Likewise.
50707 (render_target): Likewise.
50708 (initial_mode): Likewise.
50709 (mode_in_use): Likewise.
50710 (mode_list): Likewise.
50711
5f97350b 507122006-03-10 Marco Gerards <marco@gnu.org>
50713
50714 * configure.ac (AC_INIT): Bumped to 1.93.
50715
50716 * DISTLIST: Added `include/grub/hfs.h'.
50717
a3c5c6f8 507182006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
50719
50720 * boot/i386/pc/boot.S (general_error): Before looping, try INT
50721 18H, which might help the BIOS falling back to next boot media.
50722
6de53d26 507232006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
50724
50725 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
50726 Poe Chen <poe.poechen@gmail.com>.
50727
77c4a393 507282006-01-17 Marco Gerards <marco@gnu.org>
50729
50730 * include/grub/normal.h: Include <grub/script.h>.
50731 (grub_command_list): Removed struct.
50732 (grub_command_list_t): Removed type.
50733 (grub_menu_entry): Remove members `num' and `command_list'. Add
50734 members `commands' and `sourcecode'.
50735 * include/grub/script.h: Add inclusion guards.
50736 (grub_script_cmd_menuentry): New struct.
50737 (grub_script_execute_menuentry): New prototype.
50738 (grub_script_lexer_record_start): Likewise.
50739 (grub_script_lexer_record_stop): Likewise.
50740 * normal/execute.c (grub_script_execute_menuentry): New function.
50741 * normal/lexer.c (record, recording, recordpos, recordlen): New
50742 variables.
50743 (grub_script_lexer_record_start): New function.
50744 (grub_script_lexer_record_stop): Likewise.
50745 (recordchar): Likewise.
50746 (nextchar): Likewise.
50747 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
50748 2048 as the buffer size. Add the tokens `menuentry' and `@'.
50749 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
50750 (current_menu): New variable.
50751 (free_menu): Mainly rewritten.
50752 (grub_normal_menu_addentry): New function.
50753 (read_config_file): Rewritten.
50754 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 50755 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 50756 the menu entry.
50757 (run): Mainly rewritten.
50758 * normal/parser.y (menu_entry): New variable.
50759 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
50760 (menuentry): New rule.
50761 (command): Add `menuentry'.
50762 (if_statement): Allow additional returns before `fi'.
50763 * normal/script.c (grub_script_create_cmdmenu): New function.
50764
144f1f98 507652006-01-03 Marco Gerards <marco@gnu.org>
50766
50767 * INSTALL: GNU Bison is required.
50768 * configure.ac: Rewritten the test to detect Bison.
50769 * Makefile.in (YACC): New variable. Reported by Xun Sun
50770 <xun.sun.cn@gmail.com>.
50771
af4b2d89 507722006-01-03 Marco Gerards <marco@gnu.org>
50773
50774 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
50775 the HFS+ filesystem to filesystem blocks.
50776 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
50777 GCC warning is silenced.
50778
15643b71 507792006-01-03 Marco Gerards <marco@gnu.org>
50780
50781 * partmap/apple.c (apple_partition_map_iterate): Convert the data
50782 read from disk from big endian to host byte order.
50783
00905879 507842006-01-03 Hollis Blanchard <hollis@penguinppc.org>
50785
50786 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
50787 documentation.
50788 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
50789 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
50790 embedded HFS+ filesystem.
50791 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
50792 (grub_hfs_sblock): Move from here...
50793 * include/grub/hfs.h: To here... New file.
50794 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
50795 documentation.
50796 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
50797 New macros.
50798 (grub_hfsplus_volheader): Change type of member `magic' to
50799 `grub_uint16_t'.
50800 (grub_hfsplus_data): Add new member `embedded_offset'.
50801 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
50802 returned block.
50803 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
50804 Calculate the offset.
50805
8899bc3e 508062005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50807
50808 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
50809 Removed.
50810 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
50811
ae8c0277 508122005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50813
50814 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
50815 ENV->NAME is NULL after allocating ENV->VALUE.
50816
07084456 508172005-12-25 Marco Gerards <marco@gnu.org>
50818
50819 * kern/env.c (grub_env_set): Rewritten the error handling code.
50820
4750f5f1 508212005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50822
50823 * geninit.sh: Made more robust, and more portable.
50824
50214199 508252005-12-25 Marco Gerards <marco@gnu.org>
50826
50827 Add support for Apple HFS+ filesystems.
f19dbdb7 50828
50214199 50829 * fs/hfsplus.c: New file.
50830
50831 * DISTLIST: Added `fs/hfsplus.c'.
50832
50833 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
50834 (hfsplus_mod_SOURCES): New variable.
50835 (hfsplus_mod_CFLAGS): Likewise.
50836 (hfsplus_mod_LDFLAGS): Likewise.
50837 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
50838 (grub_setup_SOURCES): Likewise.
50839 (grub_mkdevicemap_SOURCES): Likewise.
50840 (grub_emu_SOURCES): Likewise.
50841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50842
50843 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
50844
50845 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
50846
befaed6c 508472005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50848
50849 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
50850 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
50851 include/grub/parser.h, include/grub/script.h, kern/parser.c,
50852 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
50853 normal/lexer.c, normal/parser.y, normal/script.c, and
50854 partmap/gpt.c.
50855 Removed kern/sparc64/cache.c.
50856
50857 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
50858 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
50859 grub_emu_init.c.
50860
50861 * configure.ac (AC_INIT): Bumped to 1.92.
50862
6a124103 508632005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
50864
50865 * kern/err.c (grub_error_push): Added new function to support error
50866 stacks.
50867 (grub_error_pop): Likewise.
50868 (grub_error_stack_items): New local variable to support error stacks.
50869 (grub_error_stack_pos): Likewise.
50870 (grub_error_stack_assert): Likewise.
50871 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
50872 stack depth.
50873 (grub_print_error): Added support to print errors from error stack.
50874
50875 * include/grub/err.h (grub_error_push): Added function prototype.
50876 (grub_error_pop): Likewise.
50877
be973c1b 508782005-12-09 Hollis Blanchard <hollis@penguinppc.org>
50879
50880 * configure.ac: Accept `powerpc64' as host_cpu.
50881 (amd64): Rename to `biarch32'.
50882
50883 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
50884 non-cacheline-aligned addresses.
50885
50886 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
50887 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
50888 if `size' is non-zero.
50889
b04216ab 508902005-12-03 Marco Gerards <mgerards@xs4all.nl>
50891
50892 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
50893 and `cd' to make sure the filename is not prefixed with a
50894 directory name.
50895 (pkgdata_MODULES): Add `gpt.mod'.
50896 (gpt_mod_SOURCES): New variable.
50897 (gpt_mod_CFLAGS): Likewise.
50898 (gpt_mod_LDFLAGS): Likewise.
50899
50900 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
50901
50902 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
50903 New macro.
50904
50905 * partmap/gpt.c: New file.
50906
50907 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
50908 GPT partition map is detected.
50909
41730ed9 509102005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
50911
50912 * commands/i386/pc/play.c: New file.
50913 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
50914 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
50915 macros.
f19dbdb7 50916
95dc3643 509172005-11-27 Marco Gerards <mgerards@xs4all.nl>
50918
50919 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
50920 ((unused))' to silence gcc warning.
50921
1569ec51 509222005-11-26 Hollis Blanchard <hollis@penguinppc.org>
50923
50924 * configure.ac: Correct `AC_PROG_YACC' test.
50925
9abde152 509262005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50927
50928 * util/powerpc/ieee1275/grub-install.in: Run the mount point
50929 check before installing files.
50930
44b83271 509312005-11-22 Mike Small <smallm@panix.com>
50932
50933 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
50934 number regex so multidigit numbers are recognized correctly.
50935
509362005-11-22 Mike Small <smallm@panix.com>
50937
50938 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
50939 debugging message before attempting to claim memory.
50940 (grub_rescue_cmd_initrd): Add a claim debugging message and try
50941 multiple addresses in case of failure.
50942
9c12956b 509432005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50944
50945 * term/tparm.c (get_space): Remove empty `if' statement.
50946
50947 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
50948
50949 * kern/parser.c (check_varstate): Rename `state' to 's'.
50950
aeaf81d9 509512005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50952
50953 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
50954 variable definitions to the beginning of each function. Sort stack
50955 variables by size.
50956 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
50957 `buf' argument to `char *'.
50958
79bbb63f 509592005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50960
50961 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
50962 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50963 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 50964 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50965 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50966 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50967 configfile.mod, search.mod, gzio.mod and test.mod.
50968 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50969 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50970 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50971 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50972 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50973 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50974 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50975 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50976 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50977 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50978 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50979 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50980 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50981 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50982 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50983 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50984 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50985 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50986 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50987 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50988 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50989 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50990 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
50991
50992 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
50993 `grep --include'.
50994 (pkgdata_MODULES): Add test.mod.
50995
233b1628 509962005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50997
50998 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
50999 appending to variables with "+=".
51000 (PModule): Use full pathname to generate *.lst filenames.
51001
51002 * Makefile.in: Fixed list rules moved from genmk.rb.
51003 (.DELETE_ON_ERROR): New special target.
51004 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
51005
51006 * conf/i386-pc.rmk: Include conf/common.mk.
51007 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 51008 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 51009 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51010 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51011 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51012 configfile.mod, search.mod, gzio.mod and test.mod.
51013 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51014 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51015 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51016 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51017 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51018 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51019 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51020 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51021 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51022 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51023 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51024 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51025 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51026 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51027 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51028 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51029 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51030 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51031 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51032 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51033 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51034 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51035 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
51036 here...
51037 * conf/common.rmk: ... to here. New file.
51038
51039 * conf/common.mk: New file.
51040
16f820c8 510412005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
51042
51043 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
51044 (grub_script.tab.c): ... here.
51045
51046 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
51047 (grub_script.tab.c): ... here.
51048
51049 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
51050 (grub_script.tab.c): ... here.
51051
51052 * normal/command.c (grub_command_find): Fixed a memory leak of
51053 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
51054
63ba1554 510552005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51056
51057 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
51058 "@" which marks the start of a comment on ARM.
51059 (VARIABLE): Likewise.
51060
7f67dc13 510612005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51062
79bbb63f 51063 Add support for Linux/ADFS partition tables.
7f67dc13 51064
51065 * partmap/acorn.c: New file.
51066
51067 * include/grub/acorn_filecore.h: Likewise.
51068
51069 * DISTLIST: Added `partmap/acorn.c' and
51070 `include/grub/acorn_filecore.h'.
f19dbdb7 51071
7f67dc13 51072 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51073 `partmap/acorn.c'.
51074 (pkgdata_MODULES): Add `acorn.mod'.
51075 (acorn_mod_SOURCES): New variable.
51076 (acorn_mod_CFLAGS): Likewise.
51077
51078 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51079 `partmap/acorn.c'.
51080 (pkgdata_MODULES): Add `acorn.mod'.
51081 (acorn_mod_SOURCES): New variable.
51082 (acorn_mod_CFLAGS): Likewise.
51083
51084 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
51085 (pkgdata_MODULES): Add `acorn.mod'.
51086 (acorn_mod_SOURCES): New variable.
51087 (acorn_mod_CFLAGS): Likewise.
51088 (acorn_mod_LDFLAGS): Likewise.
51089
51090 * include/types.h (grub_disk_addr_t): New typedef.
51091
6d099807 510922005-11-13 Marco Gerards <mgerards@xs4all.nl>
51093
51094 * geninit.sh: New file.
51095
51096 * geninitheader.sh: Likewise.
51097
51098 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
51099 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
51100 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
51101 * commands/configfile.c (grub_configfile_init)
51102 (grub_configfile_fini): Likewise.
51103 * commands/default.c (grub_default_init, grub_default_fini):
51104 Likewise.
51105 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
51106 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
51107 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
51108 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
51109 Likewise.
51110 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
51111 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
51112 Likewise.
51113 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 51114 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 51115 Likewise.
51116 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
51117 Likewise.
fe6b695a 51118 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 51119 Likewise.
51120 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
51121 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
51122 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
51123 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
51124 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
51125 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
51126 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
51127 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
51128 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
51129 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
51130 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
51131 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
51132 * partmap/amiga.c (grub_amiga_partition_map_init)
51133 (grub_amiga_partition_map_fini): Likewise.
51134 * partmap/apple.c (grub_apple_partition_map_init)
51135 (grub_apple_partition_map_fini): Likewise.
51136 * partmap/pc.c (grub_pc_partition_map_init)
51137 (grub_pc_partition_map_fini): Likewise.
51138 * partmap/sun.c (grub_sun_partition_map_init,
51139 grub_sun_partition_map_fini): Likewise.
51140 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
51141 Likewise.
51142
51143 * util/grub-emu.c: Include <grub_modules_init.h>.
51144 (main): Don't initialize and de-initialize any modules directly,
51145 use `grub_init_all' and `grub_fini_all' instead.
51146
51147 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
51148 `grub_vesafb_mod_init'.
51149 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
51150 all users.
51151 * term/i386/pc/vga.c (grub_vga_init): Renamed to
51152 `grub_vga_mod_init'. Updated all users.
51153 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 51154
6d099807 51155 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
51156 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
51157 rules.
51158
51159 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
51160 Generate a function to initialize the module in utilities.
51161 Updated all callers.
51162 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
51163 initialize the module in utilities. Updated all callers.
51164
9046bcf0 511652005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51166
51167 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
51168 escape sequence and a literal ^L to clear the screen.
51169
51170 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
51171 when returning from Open Firmware.
51172
d13ea639 511732005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51174
51175 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
51176 (grub_ofconsole_height): Likewise.
51177 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
51178 manually insert a '\n'.
51179 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
51180 `grub_ofconsole_height'. Return early if these are already set.
51181
a8fcf206 511822005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
51183
51184 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51185 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
51186 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
51187 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
51188 and `normal/script.c'.
51189 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51190 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51191 (test_mod_SOURCES): New variable.
51192 (test_mod_CFLAGS): Likewise.
51193 (test_mod_LDFLAGS): Likewise.
51194 (pkgdata_MODULES): Add `test.mod'.
51195 (grub_script.tab.c): New rule.
51196 (grub_script.tab.h): Likewise.
51197
b6b32745 511982005-11-07 Marco Gerards <mgerards@xs4all.nl>
51199
51200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51201 `commands/test.c', `normal/execute.c', `normal/lexer.c',
51202 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51203 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51204 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51205 (test_mod_SOURCES): New variable.
51206 (test_mod_CFLAGS): Likewise.
51207 (pkgdata_MODULES): Add `test.mod'.
51208 (grub_script.tab.c): New rule.
51209 (grub_script.tab.h): Likewise.
51210
daac212a 512112005-11-06 Marco Gerards <mgerards@xs4all.nl>
51212
51213 Add initial scripting support.
51214
51215 * commands/test.c: New file.
51216 * include/grub/script.h: Likewise.
51217 * normal/execute.c: Likewise.
51218 * normal/function.c: Likewise.
51219 * normal/lexer.c: Likewise.
51220 * normal/parser.y: Likewise.
51221 * normal/script.c: Likewise.
51222
51223 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 51224
daac212a 51225 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
51226 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
51227 `normal/function.c' and `normal/script.c'.
51228 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51229 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 51230 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
51231 variables.
daac212a 51232 (pkgdata_MODULES): Add `test.mod'.
51233 (grub_script.tab.c): New rule.
51234 (grub_script.tab.h): Likewise.
51235
51236 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
51237
51238 * include/grub/normal.h (grub_test_init): New prototype.
51239 (grub_test_fini): Likewise.
f19dbdb7 51240
daac212a 51241 * normal/command.c: Include <grub/script.h>.
51242 (grub_command_execute): Rewritten.
f19dbdb7 51243
daac212a 51244 * util/grub-emu.c (main): Call `grub_test_init' and
51245 `grub_test_fini'.
51246
77500b2b 512472005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51248
51249 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
51250 to 0.
51251 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
51252 there are no pending characters.
51253
e45deb9e 512542005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51255
51256 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
51257 `grub_strndup' to drop device arguments. Replace unnecessary
51258 `grub_strndup' with `grub_strdup'.
51259
4ce32619 512602005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51261
51262 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
51263 `debug' environment variable has been set.
51264
512652005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51266
4ce32619 51267 * Makefile.in (install-local): Use $(DATA).
51268 (uninstall): Likewise.
51269 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
51270 (sbin_UTILITIES): ... to here.
51271 (sbin_SCRIPTS): New variable.
51272 (grub_install_SOURCES): New variable.
51273 * util/powerpc/ieee1275/grub-install.in: New file.
51274 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
51275 variable.
51276 (add_segments): Call `grub_util_get_path'.
51277
25fe6f03 512782005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
51279
51280 From Timothy Baldwin:
51281 * commands/ls.c (grub_ls_list_files): Close FILE with
51282 grub_file_close.
51283 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
51284
04ccf3ec 512852005-10-24 Marco Gerards <mgerards@xs4all.nl>
51286
51287 * include/grub/parser.h: New file.
51288
51289 * kern/parser.c: Likewise.
51290
51291 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
51292 (grub_setup_SOURCES): Likewise.
51293 (grub_probefs_SOURCES): Likewise.
51294 (grub_emu_SOURCES): Likewise.
51295 (kernel_img_HEADERS): Add `parser.h'.
51296
51297 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51298 (grub_emu_SOURCES): Add `kern/parser.c'.
51299 (grubof_SOURCES): Likewise.
51300
51301 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51302 (grubof_SOURCES): Add `kern/parser.c'.
51303
51304 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
51305
51306 * kern/misc.c (grub_split_cmdline): Removed function.
51307
51308 * kern/rescue.c: Include <grub/parser.h>.
51309 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
51310 of `grub_split_cmdline'.
51311
51312 * normal/command.c: Include <grub/parser.h>.
51313 (grub_command_execute): Use `grub_parser_split_cmdline' instead
51314 of `grub_split_cmdline'.
51315
51316 * normal/completion.c: Include <grub/parser.h>.
51317 (cmdline_state): New variable.
51318 (iterate_dir): End the filename with a quote depending on the
51319 command line state.
51320 (get_state): new function.
51321 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
51322 split the arguments and determine the current argument. When the
51323 argument string is not quoted, escape all spaces.
51324
6d8f4b0e 513252005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51326
51327 * normal/sparc64/setjmp.S: New file.
51328
15cf03ed 513292005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51330
51331 * include/grub/sparc64/libgcc.h: New file.
51332 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
51333 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
51334 normal/sparc64/setjmp.c.
51335
03e8661a 513362005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51337
51338 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
51339 * kern/sparc64/cache.S: New file.
51340 * kern/sparc64/cache.c: Removed.
51341 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
51342 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
51343 -mtune=ultrasparc.
51344 (COMMON_LDFLAGS): Add -melf64_sparc.
51345 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
51346 (grubof_SOURCES): Use cache.S instead of cache.c.
51347 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
51348 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
51349 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
51350 commented though.
51351 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
51352 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
51353 (linux_mod_CFLAGS): Commented out.
51354 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
51355 out because module isn't built.
51356 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
51357 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
51358 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
51359 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
51360 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
51361 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51362 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51363 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
51364 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
51365 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
51366 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51367 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51368 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
51369 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
51370
34eeec8a 513712005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
51372
51373 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
51374 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
51375 longer, because HFS should not be used on PC.
51376
708367a3 513772005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51378
51379 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
51380 consistently within the loop.
51381
6fa1251a 513822005-10-15 Marco Gerards <mgerards@xs4all.nl>
51383
51384 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
51385 directory can not be read.
51386
4801580b 513872005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51388
51389 * configure.ac (AC_INIT): Increase the version number to 1.91.
51390
51391 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
51392 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
51393 term/i386/pc/serial.c.
51394
219ad426 513952005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51396
51397 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
51398 file size must be permitted.
51399
51400 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
51401 between %ah and %al.
51402
688e5699 514032005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51404
51405 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
51406 grub_uint64_t.
51407 Call the hook with a NUL-terminated filename.
51408 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
51409 grub_cpu_to_be32.
51410
51411 * kern/term.c (cursor_state): New variable.
51412 (grub_term_set_current): Reset the cursor state on a new
51413 terminal.
51414 (grub_setcursor): Rewritten to use CURSOR_STATE.
51415 (grub_getcursor): New function.
51416
51417 * include/grub/term.h (grub_getcursor): New prototype.
51418
51419 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
51420 integers on ARM. Reported by Timothy Baldwin
51421 <T.E.Baldwin99@members.leeds.ac.uk>.
51422
bb34586c 514232005-10-11 Marco Gerards <mgerards@xs4all.nl>
51424
51425 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
51426 allocated.
51427 (grub_sfs_dir): Likewise.
51428
9a909877 514292005-10-09 Marco Gerards <mgerards@xs4all.nl>
51430
51431 Add support for the SFS filesystem.
51432
51433 * fs/sfs.c: New file.
51434
51435 * DISTLIST: Added `fs/sfs.c'.
51436
51437 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
51438 (grub_probefs_SOURCES): Likewise.
51439 (grub_emu_SOURCES): Likewise.
51440 (pkgdata_MODULES): Add `sfs.mod'.
51441 (sfs_mod_SOURCES): New variable.
51442 (sfs_mod_CFLAGS): Likewise.
51443 (sfs_mod_LDFLAGS): Likewise.
51444
51445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
51446 (pkgdata_MODULES): Add `sfs.mod'.
51447 (sfs_mod_SOURCES): New variable.
51448 (sfs_mod_CFLAGS): Likewise.
51449
51450 * util/grub-emu.c (main): Call `grub_sfs_init' and
51451 `grub_sfs_fini'.
51452
51453 * include/grub/fs.h (grub_sfs_init): New prototype.
51454 (grub_sfs_fini): Likewise.
51455
57bdbde3 514562005-10-07 Marco Gerards <mgerards@xs4all.nl>
51457
51458 Add support for the AFFS filesystem.
51459
51460 * fs/affs.c: New file.
51461
51462 * DISTLIST: Added `fs/affs.c'.
51463
51464 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
51465 (grub_probefs_SOURCES): Likewise.
51466 (grub_emu_SOURCES): Likewise.
51467 (pkgdata_MODULES): Add `affs.mod'.
51468 (affs_mod_SOURCES): New variable.
51469 (affs_mod_CFLAGS): Likewise.
51470 (affs_mod_LDFLAGS): Likewise.
51471
51472 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
51473 (pkgdata_MODULES): Add `affs.mod'.
51474 (affs_mod_SOURCES): New variable.
51475 (affs_mod_CFLAGS): Likewise.
51476
51477 * util/grub-emu.c (main): Call `grub_affs_init' and
51478 `grub_affs_fini'.
51479
51480 * include/grub/fs.h (grub_affs_init): New prototype.
51481 (grub_affs_fini): Likewise.
51482
047b67e0 514832005-10-01 Marco Gerards <mgerards@xs4all.nl>
51484
51485 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
51486
59b8208a 514872005-10-01 Marco Gerards <mgerards@xs4all.nl>
51488
51489 * configure.ac: Accept `x86_64' as host_cpu. In that case add
51490 `-m32' to CFLAGS.
51491
51492 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
51493 linking.
f19dbdb7 51494
59b8208a 51495 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
51496 (COMMON_LDFLAGS): New variable.
51497 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
51498 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
51499 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
51500 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
51501 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
51502 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
51503 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
51504 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
51505 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
51506 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
51507 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51508 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51509 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
51510 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
51511 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
51512 variables.
51513 (normal_mod_ASFLAGS): Add `-m32'.
51514
51515 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
51516 (grub_host_size_t, grub_host_ssize_t): New types.
51517 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 51518 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 51519 `GRUB_HOST_SIZEOF_VOID_P'.
51520
51521 * include/grub/kernel.h (struct grub_module_header): Type of
51522 member offset changed to `grub_host_off_t'. Type of member size
51523 changed to `grub_host_size_t'.
51524 (struct grub_module_info): Type of member offset changed to
51525 `grub_host_off_t'. Type of member size changed to
51526 `grub_host_size_t'.
51527
b4093103 515282005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
51529
51530 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 51531
b4093103 51532 * kern/i386/pc/startup.S (multiboot_header): New label.
51533 (multiboot_entry): Likewise.
51534 (multiboot_trampoline): Likewise.
51535
51536 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51537 Increased to 0x4A0.
51538
51539 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
51540 put parentheses after a question mark.
51541 [!GRUB_UTIL] (my_mod): New variable.
51542
51543 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
51544
b2499b29 515452005-09-28 Marco Gerards <mgerards@xs4all.nl>
51546
51547 Adds support for the XFS filesystem. Btrees are not supported
51548 yet.
51549
51550 * fs/xfs.c: New file.
51551
51552 * DISTLIST: Added `fs/xfs.c'.
51553
51554 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
51555 (grub_probefs_SOURCES): Likewise.
51556 (grub_emu_SOURCES): Likewise.
51557 (pkgdata_MODULES): Add `xfs.mod'.
51558 (xfs_mod_SOURCES): New variable.
51559 (xfs_mod_CFLAGS): Likewise.
51560
51561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
51562 (pkgdata_MODULES): Add `xfs.mod'.
51563 (xfs_mod_SOURCES): New variable.
51564 (xfs_mod_CFLAGS): Likewise.
51565
51566 * util/grub-emu.c (main): Call `grub_xfs_init' and
51567 `grub_xfs_fini'.
51568
51569 * include/grub/fs.h (grub_xfs_init): New prototype.
51570 (grub_xfs_fini): Likewise.
51571
f19dbdb7 51572
83d37a62 515732005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
51574
51575 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
51576 color modes, allow greater than 16 colors to be configured as
51577 a default palette.
51578
47d2d65e 515792005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
51580
51581 * normal/completion.c (complete_arguments): Add the qualifier
51582 const into OPTIONS.
51583
51584 From Omniflux <omniflux+lists@omniflux.com>:
51585 * include/grub/terminfo.h: New file.
51586 * include/grub/tparm.h: Likewise.
51587 * include/grub/i386/pc/serial.h: Likewise.
51588 * term/terminfo.c: Likewise.
51589 * term/tparm.c: Likewise.
51590 * term/i386/pc/serial.c: Likewise.
51591 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
51592 serial.mod.
51593 (terminfo_mod_SOURCES): New variable.
51594 (terminfo_mod_CFLAGS): Likewise.
51595 (serial_mod_SOURCES): Likewise.
51596 (serial_mod_CFLAGS): Likewise.
51597
48b671ff 515982005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
51599
51600 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
51601 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
51602 and kern/powerpc/ieee1275/cmain.c, respectively.
51603
51604 * boot/powerpc/ieee1275/crt0.S: Moved to ...
51605 * kern/powerpc/ieee1275/crt0.S: ... here.
51606
51607 * boot/powerpc/ieee1275/cmain.c: Moved to ...
51608 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 51609
48b671ff 51610 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
51611 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
51612 instead of boot/powerpc/ieee1275/crt0.S and
51613 boot/powerpc/ieee1275/cmain.c, respectively.
51614
51615 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
51616 sectors. It was not used anyway.
51617
09fc77a7 516182005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51619
51620 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
51621 `unused parameter' warning.
51622
003789c7 516232005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51624
51625 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
51626 function.
51627 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
51628 getcharwidth.
51629
67f44c86 516302005-08-28 Marco Gerards <metgerards@student.han.nl>
51631
51632 * include/grub/normal.h (enum grub_completion_type): Added
51633 `GRUB_COMPLETION_TYPE_ARGUMENT'.
51634
51635 * normal/cmdline.c (print_completion): Handle
51636 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
51637 * normal/menu_entry.c (store_completion): Likewise.
51638
51639 * normal/completion.c (complete_arguments): New function.
51640 (grub_normal_do_completion): Call `complete_arguments' when the
51641 current words start with a dash.
51642
0b5abe02 516432005-08-27 Marco Gerards <metgerards@student.han.nl>
51644
51645 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
51646 `gzio.mod' instead of `io.mod').
51647
d9864ee1 516482005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
51649
51650 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
51651 (DISTDIRS): Added io and video.
51652 Rewrite the search routine to make an output consistently.
51653
51654 * DISTLIST: Added conf/sparc64-ieee1275.mk,
51655 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
51656 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
51657 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
51658 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
51659 util/powerpc/ieee1275/misc.c.
f19dbdb7 51660
d9864ee1 51661 * include/grub/gzio.h: New file.
51662 * io/gzio.c: Likewise.
f19dbdb7 51663
d9864ee1 51664 * kern/file.c (grub_file_close): Call grub_device_close only if
51665 FILE->DEVICE is not NULL.
51666
51667 * include/grub/mm.h [!NULL] (NULL): New macro.
51668
51669 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
51670
51671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
51672 (pkgdata_MODULES): Added gzio.mod.
51673 (gzio_mod_SOURCES): New variable.
51674 (gzio_mod_CFLAGS): Likewise.
51675
51676 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
51677 (pkgdata_MODULES): Added gzio.mod.
51678 (gzio_mod_SOURCES): New variable.
51679 (gzio_mod_CFLAGS): Likewise.
51680
51681 * commands/cat.c: Include grub/gzio.h.
51682 (grub_cmd_cat): Use grub_gzfile_open instead of
51683 grub_file_open.
f19dbdb7 51684
d9864ee1 51685 * commands/cmp.c: Include grub/gzio.h.
51686 (grub_cmd_cmp): Use grub_gzfile_open instead of
51687 grub_file_open.
51688
51689 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
51690 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
51691 grub_file_open.
51692 (grub_rescue_cmd_module): Likewise.
51693
fa46f4b5 516942005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51695
51696 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
51697 kern/sparc64/ieee1275/init.c because it contains _start.
51698 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
51699
e9211b5d 517002005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51701
51702 * configure.ac: Add support for sparc64 host with ieee1275
51703 firmware.
51704 * configure: Generated from configure.ac.
51705 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
51706 instead of int.
51707 (grub_ofdisk_read): Likewise.
51708 (grub_ofdisk_open): Use %p to print pointer values, and cast the
51709 pointers as (void *) to remove a warning.
51710 (grub_ofdisk_close): Likewise.
51711 (grub_ofdisk_read): Likewise.
51712 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
51713 returns, so make it return void to remove a warning.
51714 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
51715 Corresponding prototype change.
51716 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
51717 values, and cast the pointers as (void *) to remove a warning.
51718 (grub_mm_dump): Likewise.
51719 * conf/sparc64-ieee1275.mk: New file.
51720 * conf/sparc64-ieee1275.rmk: Likewise.
51721 * include/grub/sparc64/setjmp.h: Likewise.
51722 * include/grub/sparc64/types.h: Likewise.
51723 * include/grub/sparc64/ieee1275/console.h: Likewise.
51724 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
51725 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
51726 * include/grub/sparc64/ieee1275/time.h: Likewise.
51727 * kern/sparc64/cache.c: Likewise.
51728 * kern/sparc64/dl.c: Likewise.
51729 * kern/sparc64/ieee1275/init.c: Likewise.
51730 * kern/sparc64/ieee1275/openfw.c: Likewise.
51731
385c6a92 517322005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51733
51734 * util/console.c (grub_ncurses_putchar): If C is greater than
51735 0x7f, set C to a question mark.
51736 (grub_ncurses_getcharwidth): New function.
51737 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
51738 getcharwidth.
51739
51740 * normal/menu.c (print_entry): Made aware of Unicode. First,
51741 convert TITLE to UCS-4, and predict the cursor position by
51742 grub_getcharwidth.
51743
51744 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
51745 const to SRC.
51746 * kern/misc.c (grub_utf16_to_utf8): Likewise.
51747
16ccb8b1 517482005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51749
51750 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
51751 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51752 grub_strcat.
51753
51754 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
51755 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51756 grub_strcpy and grub_strlen. Take it into account that a space
51757 character is inserted as a delimiter.
51758
6a85ce79 517592005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51760
51761 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 51762 invalid magic in the error.
6a85ce79 51763
51764 * commands/search.c: New file.
f19dbdb7 51765
6a85ce79 51766 * util/grub-emu.c (main): Call grub_search_init and
51767 grub_search_fini.
51768
51769 * kern/rescue.c (grub_rescue_print_disks): Removed.
51770 (grub_rescue_print_devices): New function.
51771 (grub_rescue_cmd_ls): Use grub_device_iterate with
51772 grub_rescue_print_devices instead of grub_disk_dev_iterate with
51773 grub_rescue_print_disks.
51774
51775 * kern/partition.c (grub_partition_iterate): Return the result of
51776 PARTMAP->ITERATE instead of GRUB_ERRNO.
51777
51778 * kern/device.c: Include grub/partition.h.
51779 (grub_device_iterate): New function.
51780
51781 * include/grub/partition.h (grub_partition_iterate): Return int
51782 instead of grub_err_t.
51783
51784 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
51785 prototype.
51786 [GRUB_UTIL] (grub_search_fini): Likewise.
51787
51788 * include/grub/device.h (grub_device_iterate): New prototype.
51789
51790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51791 commands/search.c.
51792 (pkgdata_MODULES): Added search.mod.
51793 (search_mod_SOURCES): New variable.
51794 (search_mod_CFLAGS): Likewise.
51795
51796 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
51797 (pkgdata_MODULES): Added search.mod.
51798 (search_mod_SOURCES): New variable.
51799 (search_mod_CFLAGS): Likewise.
51800
51801 * commands/ls.c (grub_ls_list_disks): Renamed to ...
51802 (grub_ls_list_devices): ... this, and use grub_device_iterate.
51803 All callers changed.
51804
51805 * DISTLIST: Added commands/search.c.
51806
ef095434 518072005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51808
51809 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
51810 conversion.
51811 (grub_getcharwidth): New function.
51812
51813 * kern/misc.c (grub_utf8_to_ucs4): New function.
51814
51815 * include/grub/term.h (struct grub_term): Added a new member
51816 "getcharwidth".
51817 (grub_getcharwidth): New prototype.
51818
51819 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
51820
51821 * term/i386/pc/console.c (map_char): New function. Segregated from
51822 grub_console_putchar.
51823 (grub_console_putchar): Use map_char.
51824 (grub_console_getcharwidth): New function.
51825 (grub_console_term): Specified grub_console_getcharwidth as
51826 getcharwidth.
51827
51828 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
51829 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
51830
51831 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
51832 GRUB_ERRNO.
51833 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
51834 on grub_strtoul completely.
51835 (write_char): Declare local variables in the beginning of the
51836 function.
51837 (grub_vesafb_getcharwidth): New function.
51838 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
51839 getcharwidth.
51840
1f0a95e4 518412005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
51842
51843 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
51844 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
51845 commands/i386/pc/vbetest.c.
51846
51847 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
51848 call grub_vbe_get_controller_info again, because the returned
51849 information is volatile.
51850 (grub_vbe_set_video_mode): Mostly rewritten.
51851 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
51852 grub_vbe_status_t correctly.
51853 (grub_vbe_get_video_mode_info): Likewise.
51854 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
51855 several if statements.
51856
51857 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
51858 * commands/i386/pc/vbeinfo.c: ... this.
51859
51860 * commands/i386/pc/vbe_test.c: Renamed to ...
51861 * commands/i386/pc/vbetest.c: ... this.
51862
51863 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
51864 ...
51865 (grub_cmd_vbeinfo): ... this. Save video modes before
51866 iterating. Skip a video mode, if it is not available, not enough
51867 information is given or it is monochrome. Show the memory
51868 model. Leave the interpretation of MODEVAR to grub_strtoul
51869 completely.
51870 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
51871 (GRUB_MOD_FINI): Likewise.
51872
51873 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
51874 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
51875 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
51876 duplicated grub_env_get. Leave the interpretation of MODEVAR to
51877 grub_strtoul completely.
51878 (real2pm): Removed.
51879 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
51880 (GRUB_MOD_FINI): Likewise.
51881
51882 * normal/misc.c: Include grub/mm.h.
51883
51884 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
51885 vbe_list_modes with vbetest.mod and vbeinfo.mod.
51886 (vbe_list_modes_mod_SOURCES): Removed.
51887 (vbe_list_modes_mod_CFLAGS): Likewise.
51888 (vbe_test_mod_SOURCES): Likewise.
51889 (vbe_test_mod_CFLAGS): Likewise.
51890 (vbeinfo_mod_SOURCES): New variable.
51891 (vbeinfo_mod_CFLAGS): Likewise.
51892 (vbetest_mod_SOURCES): Likewise.
51893 (vbetest_mod_CFLAGS): Likewise.
51894
992ffbbe 518952005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
51896
51897 * normal/misc.c: New file.
51898
51899 * DISTLIST: Added normal/misc.c.
f19dbdb7 51900
992ffbbe 51901 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
51902 DISK to HOOK. Call HOOK with DISK.
51903 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51904 * partmap/pc.c (pc_partition_map_iterate): Likewise.
51905 * partmap/sun.c (sun_partition_map_iterate): Likewise.
51906
51907 * normal/menu_entry.c (struct screen): Added a new member
51908 "completion_shown".
51909 (completion_buffer): New global variable.
51910 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
51911 (store_completion): New function.
51912 (complete): Likewise.
51913 (clear_completions): Likewise.
51914 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
51915 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
51916 a tab, call complete.
51917
51918 * normal/completion.c (disk_dev): Removed.
51919 (print_simple_completion): Likewise.
51920 (print_partition_completion): Likewise.
51921 (print_func): New global variable.
51922 (add_completion): Do not take the arguments WHAT or PRINT any
51923 longer. Added a new argument TYPE. Instead of printing directly,
51924 call PRINT_FUNC if not NULL.
51925 All callers changed.
51926 (complete_device): Use a local variable DEV instead of
51927 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
51928 (grub_normal_do_completion): Take a new argument HOOK. Do not
51929 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
51930 empty string, return NULL instead.
51931 All callers changed.
51932
51933 * normal/cmdline.c (print_completion): New function.
51934
51935 * kern/partition.c (grub_partition_iterate): Add an argument DISK
51936 to HOOK.
51937 All callers changed.
51938
51939 * kern/disk.c (grub_print_partinfo): Removed.
51940
51941 * include/grub/partition.h (struct grub_partition_map): Add a new
51942 argument DISK into HOOK of ITERATE.
51943 (grub_partition_iterate): Add a new argument DISK to HOOK.
51944
51945 * include/grub/normal.h (enum grub_completion_type): New enum.
51946 (grub_completion_type_t): New type.
51947 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
51948 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
51949 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
51950 (GRUB_COMPLETION_TYPE_FILE): Likewise.
51951 (grub_normal_do_completion): Added a new argument HOOK.
51952 (grub_normal_print_device_info): New prototype.
51953
51954 * include/grub/disk.h (grub_print_partinfo): Removed.
51955
51956 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
51957 (normal_mod_SOURCES): Likewise.
51958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51959 (normal_mod_SOURCES): Likewise.
51960
51961 * commands/ls.c (grub_ls_list_disks): Use
51962 grub_normal_print_device_info instead of grub_print_partinfo. Free
51963 PNAME.
51964 (grub_ls_list_files): Use grub_normal_print_device_info instead of
51965 duplicating the code.
51966
0bd41162 519672005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51968
51969 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 51970 follow GCS more precisely.
51971 * commands/i386/pc/vbe_test.c: Likewise.
51972 * include/grub/i386/pc/vbe.h: Likewise.
51973 * term/i386/pc/vesafb.c: Likewise.
51974 * video/i386/pc/vbe.c: Likewise.
0bd41162 51975
6323696a 519762005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51977
51978 * DISTLIST: Added term/i386/pc/vesafb.c
51979 DISTLIST: Added video/i386/pc/vbe.c
51980 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
51981 DISTLIST: Added commands/i386/pc/vbe_test.c.
51982 * commands/i386/pc/vbe_list_modes.c: New file.
51983 * commands/i386/pc/vbe_test.c: Likewise.
51984 * term/i386/pc/vesafb.c: Likewise.
51985 * video/i386/pc/vbe.c: Likewise.
51986 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
51987 (grub_vbe_probe) Added prototype.
51988 (grub_vbe_set_video_mode) Likewise.
51989 (grub_vbe_get_video_mode) Likewise.
51990 (grub_vbe_get_video_mode_info) Likewise.
51991 (grub_vbe_set_pixel_rgb) Likewise.
51992 (grub_vbe_set_pixel_index) Likewise.
51993 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
51994 (pkgdata_MODULES): Added vesafb.mod.
51995 (pkgdata_MODULES): Added vbe_list_modes.mod.
51996 (pkgdata_MODULES): Added vbe_test.mod.
51997 (vbe_mod_SOURCES): Added.
51998 (vbe_mod_CFLAGS): Likewise.
51999 (vesafb_mod_SOURCES): Likewise.
52000 (vesafb_mod_CFLAGS): Likewise.
52001 (vbe_list_modes_mod_SOURCES): Likewise.
52002 (vbe_list_modes_mod_CFLAGS): Likewise.
52003 (vbe_test_mod_SOURCES): Likewise.
52004 (vbe_test_mod_CFLAGS): Likewise.
52005
0a74e62f 520062005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
52007
0a74e62f 52008 * normal/command.c (grub_command_execute): If INTERACTIVE is
52009 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
52010 CMDLINE. Disable the pager if INTERACTIVE is true.
52011 All callers are changed.
52012
52013 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
52014 before reading a config file.
52015 * normal/main.c (read_config_file): Even if a command is not
52016 found, register it if it is within an entry.
52017
52018 * util/grub-emu.c: Include sys/types.h and unistd.h.
52019 (options): Added --hold.
52020 (struct arguments): Added a new member "hold".
52021 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
52022 missing.
52023 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
52024 cleared by a debugger, if it is not zero.
52025
52026 * include/grub/normal.h (grub_command_execute): Add an argument
52027 INTERACTIVE.
52028
e51f85ae 520292005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
52030
52031 * DISTLIST: Added include/grub/i386/pc/vbe.h.
52032
e9c6f39b 520332005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
52034
52035 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
52036 program with another one, because the old one didn't detect a bug
52037 in gcc-3.4. Always use regparm 2, because the new test is still
52038 not enough for gcc-4.0. Someone must investigate a simple test
52039 case which detects a bug in gcc-4.0.
52040
8de3495c 520412005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
52042
52043 * DISTLIST: Added normal/completion.c.
52044
52045 * normal/completion.c: New file.
f19dbdb7 52046
8de3495c 52047 * term/i386/pc/console.c (grub_console_getwh): New function.
52048 (grub_console_term): Assign grub_console_getwh to getwh.
52049
52050 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
52051 function is defined in normal/completion.c as
52052 grub_normal_do_completion.
52053 (grub_cmdline_get): Use grub_normal_do_completion instead of
52054 grub_tab_complete.
52055
52056 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
52057 returns non-zero, otherwise return 0.
52058 (grub_partition_iterate): First, probe the partition map. Then,
52059 call ITERATE only for this partition map.
52060
52061 * kern/misc.c (grub_strncmp): Rewritten.
52062
52063 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
52064 returns non-zero. Otherwise return 0.
52065
52066 * include/grub/partition.h (grub_partition_map_iterate): Return
52067 int instead of void.
52068
52069 * include/grub/normal.h (grub_normal_do_completion): New prototype.
52070
52071 * include/grub/misc.h (grub_strncmp): Change the type of N to
52072 grub_size_t.
52073
52074 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
52075 of void.
52076
52077 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 52078 unsigned explicitly before comparing it with I.
8de3495c 52079
52080 * kern/main.c (grub_env_write_root): Add the attribute unused into
52081 VAR.
52082
52083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52084 normal/completion.c.
52085 (normal_mod_SOURCES): Likewise.
52086 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
52087 (normal_mod_SOURCES): Likewise.
52088
52089 * normal/command.c (grub_iterate_commands): If ITERATE returns
52090 non-zero, return one immediately.
52091
e85e144b 520922005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
52093
52094 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
52095 * kern/i386/pc/startup.S: Updated Global Descriptor table's
52096 descriptions.
52097 (grub_vbe_get_controller_info): New function.
52098 (grub_vbe_get_mode_info): Likewise.
52099 (grub_vbe_set_mode): Likewise.
52100 (grub_vbe_get_mode): Likewise.
52101 (grub_vbe_set_memory_window): Likewise.
52102 (grub_vbe_get_memory_window): Likewise.
52103 (grub_vbe_set_scanline_length): Likewise.
52104 (grub_vbe_get_scanline_length): Likewise.
52105 (grub_vbe_set_display_start): Likewise.
52106 (grub_vbe_get_display_start): Likewise.
52107 (grub_vbe_set_palette_data): Likewise.
52108 * include/grub/i386/pc/vbe.h: New file.
52109
c46153d2 521102005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52111
52112 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52113 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
52114 * DISTLIST: Likewise.
52115 * kern/ieee1275/of.c: Moved to ...
52116 * kern/ieee1275/ieee1275.c: ... here.
52117
0cb90c45 521182005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52119
52120 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
52121 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
52122 Pass 0 as `end' parameter to grub_strtoul().
52123
a19fb360 521242005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52125
52126 * include/grub/powerpc/ieee1275/console.h: Do not include
52127 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
52128 ifdef.
52129 (grub_console_cur_color): Remove i386-specific prototype.
52130 (grub_console_real_putchar): Likewise.
52131 (grub_console_checkkey): Likewise.
52132 (grub_console_getkey): Likewise.
52133 (grub_console_getxy): Likewise.
52134 (grub_console_gotoxy): Likewise.
52135 (grub_console_cls): Likewise.
52136 (grub_console_setcursor): Likewise.
52137 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
52138 Include <grub/machine/console.h>.
52139 * term/ieee1275/ofconsole.c: Likewise.
52140
4ac9bd04 521412005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
52142
52143 * Makefile.in (LIBLZO): New variable.
52144
52145 * configure.ac: Check for LZO version 2.
52146
52147 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
52148 lzo/lzo1x.h instead of lzo1x.h.
52149
52150 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
52151 of -llzo.
52152
52153 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
52154 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
52155
52156 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
52157 copying the data from PARTITION to P.
52158
f4917dfd 521592005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52160
52161 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
52162 negative, unload the module.
52163
52164 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
52165 map is "pc_partition_map" but not "pc".
52166 (usage): Fix the description. The options are --boot-image and
52167 --core-image but not --boot-file or --core-file.
52168 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
52169 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
52170 DEFAULT_DIRECTORY.
52171
52172 * util/i386/pc/grub-install.in: Do not specify --boot-file or
52173 --core-file. Specify INSTALL_DEVICE as an argument.
52174
52175 * util/console.c: Include config.h.
52176 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
52177 [HAVE_NCURSES_H]: Include ncurses.h.
52178 [HAVE_CURSES_H]: Include curses.h.
52179 [!A_NORMAL] (A_NORMAL): Defined as zero.
52180 [!A_STANDOUT] (A_STANDOUT): Likewise.
52181
52182 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
52183 -lncurses.
52184 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
52185
52186 * configure.ac: Check for curses libraries and headers.
52187
52188 * Makefile.in (LIBCURSES): New variable.
52189
52190 * genmk.rb (Script::rule): Set the executable bits.
52191
52192 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
52193 name of the PC partition map is "pc_partition_map" but not "pc".
52194
0e143073 521952005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52196
52197 * util/i386/pc/grub-install.in (grub_probefs): New variable.
52198 (modules): Likewise.
52199 (usage): Added descriptions for --modules and --grub-probefs.
52200 Handle --modules and --grub-probefs. Save the arguments in MODULES
52201 and GRUB_PROBEFS, respectively.
52202 Auto-detect a filesystem module against GRUBDIR. If the result is
52203 empty and modules are not specified explicitly, abort the
52204 installation. Add the result to MODULES.
52205
52206 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
52207 disk/powerpc/ieee1275/ofdisk.c,
52208 include/grub/powerpc/ieee1275/init.h and
52209 term/powerpc/ieee1275/ofconsole.c.
52210 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
52211 term/ieee1275/ofconsole.c.
52212
52213 * include/grub/powerpc/ieee1275/console.h: Resurrected.
52214
52215 * COPYING: Upgraded to the latest version. Only the address of the
52216 FSF office has changed.
f19dbdb7 52217
efd6e6d5 522182005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52219
52220 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52221 kern/ieee1275.c with kern/ieee1275/of.c.
52222
52223 * kern/ieee1275.c: Moved to ...
52224 * kern/ieee1275/of.c: ... here.
52225
8ceafda2 522262005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
52227
52228 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 52229 readability.
8ceafda2 52230
52231 * config.guess: Updated to the latest version from gnulib.
52232 * config.sub: Likewise.
52233 * install.sh: Likewise.
52234 * mkinstalldirs: Likewise.
52235
52236 * include/grub/console.h: Removed. This file is arch-specific. Do
52237 not put this in include/grub.
52238
52239 * include/grub/i386/pc/console.h: Resurrected.
52240
52241 * util/console.c: Include grub/machine/console.h instead of
52242 grub/console.h.
52243 * util/grub-emu.c: Likewise.
52244
267f6cd9 522452005-08-04 Marco Gerards <metgerards@student.han.nl>
52246
52247 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
52248 hardcoded value.
f19dbdb7 52249
267f6cd9 52250 From Vincent Pelletier <subdino2004@yahoo.fr>
52251 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
52252 Redefined to use grub_getwh.
52253 (grub_term): New member named getwh.
52254 (grub_getwh): New prototype.
52255 * kern/term.c (grub_getwh): New function.
52256 * term/i386/pc/console.c (grub_console_getwh): New function.
52257 (grub_console_term): New member `getwh'.
52258 * term/i386/pc/vga.c (grub_vga_getwh): New function.
52259 (grub_vga_term): New member `getwh'.
0b5abe02 52260 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 52261 grub_ssize_t.
52262 (grub_ofconsole_getw): New function.
52263 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
52264 (grub_ofconsole_term): New field named getwh and new initial
52265 value.
52266
3be7266d 522672005-08-03 Hollis Blanchard <hollis@penguinppc.org>
52268
52269 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
52270 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
52271 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
52272 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
52273 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
52274 of <grub/machine/ieee1275.h>.
52275 * commands/ieee1275/reboot.c: Likewise.
52276 * boot/powerpc/ieee1275/ieee1275.c: Move ...
52277 * kern/ieee1275.c: ... to here. All users updated. Change all
52278 parameter structs to use new type `grub_ieee1275_cell_t'.
52279 * term/powerpc/ieee1275/ofconsole.c: Move ...
52280 * term/ieee1275/ofconsole.c: ... to here. All users updated.
52281 * disk/powerpc/ieee1275/ofdisk.c: Move ...
52282 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
52283 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
52284 to return int.
52285 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
52286 Remove unused prototypes. All users updated.
52287 * include/grub/powerpc/ieee1275/console.h: Removed.
52288 * include/grub/powerpc/ieee1275/ieee1275.h: Define
52289 `grub_ieee1275_cell_t'.
52290 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
52291 Cast comparisons with -1 to the correct type.
52292 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
52293 type to match `grub_ieee1275_entry_fn'.
52294
8b5f3938 522952005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
52296
52297 * DISTLIST: Added util/i386/pc/grub-probefs.c.
52298
52299 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
52300 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
52301 partmap/sun.c.
52302 (grub_probefs_SOURCES): New variable.
52303
52304 * util/i386/pc/grub-probefs.c: New file.
52305
52306 * util/i386/pc/grub-setup.c (main): Call
52307 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
52308 grub_hfs_init and grub_jfs_init to initialize the system. Call
52309 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
52310 grub_pc_partition_map_fini to finish the system.
52311
ea409713 523122005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
52313
52314 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
52315 function.
52316 (grub_multiboot_load_elf32): Likewise.
52317 (grub_multiboot_is_elf64): Likewise.
52318 (grub_multiboot_load_elf64): Likewise.
52319 (grub_multiboot_load_elf): Likewise.
52320 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
52321 an ELF32 or ELF64 file.
52322 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
52323
52324 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
52325 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
52326 NULL before calling FS->LABEL.
52327 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
52328 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
52329 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
52330 before calling FS->LABEL.
52331
141a288b 523322005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
52333
52334 * util/i386/pc/grub-install.in (datadir): New variable.
52335 (libdir): Removed.
52336 (pkgdatadir): New variable.
52337 (pkglibdir): Removed.
52338
0d5f8a54 523392005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
52340
52341 * DISTLIST: Added util/i386/pc/grub-install.in.
52342
52343 * util/i386/pc/grub-install.in: New file.
52344
52345 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
52346 (grub_install_SOURCES): Likewise.
52347
52348 * genmk.rb: Added support for scripts.
52349 (Script): New class.
52350 (scripts): New variable.
52351
52352 * Makefile.in (install-local): Install sbin_SCRIPTS by
52353 INSTALL_SCRIPT.
52354 (uninstall): Remove sbin_SCRIPTS.
52355
52356 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
52357 device, try to get a GRUB device by
52358 grub_util_biosdisk_get_grub_dev.
52359 Free DEST_DEV.
52360
52361 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
52362 description for --device-map.
52363
5f968e1e 523642005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52365
52366 Change the semantics of variable hooks. They now return strings
52367 instead of error values.
f19dbdb7 52368
5f968e1e 52369 * util/i386/pc/grub-setup.c: Include grub/env.h.
52370 (setup): Use grub_device_set_root instead of grub_env_set.
52371
52372 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
52373 grub_env_get instead of grub_device_set_root and
52374 grub_device_get_root, respectively.
52375
52376 * kern/main.c (grub_env_write_root): New function.
52377 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
52378 grub_env_set instead of grub_device_set_root.
52379
52380 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
52381 many variables.
52382 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
52383 rather than calling ENV->WRITE_HOOK afterwards.
52384 (grub_env_get): Return the result of ENV->READ_HOOK rather than
52385 passing a pointer of a pointer.
52386 (grub_register_variable_hook): Change the types of "read_hook" and
52387 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
52388 respectively.
52389 Allocate the default empty string on the heap, because this string
52390 may be freed later.
52391
52392 * kern/device.c: Include grub/env.h.
52393 (grub_device_set_root): Removed.
52394 (grub_device_get_root): Likewise.
52395 (grub_device_open): Use grub_env_get instead of
52396 grub_device_get_root.
52397
52398 * include/grub/env.h (grub_env_read_hook_t): New type.
52399 (grub_env_write_hook_t): Likewise.
52400 (grub_env_var): Change the types of "read_hook" and "write_hook"
52401 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
52402 (grub_register_variable_hook): Likewise.
52403
52404 * include/grub/device.h (grub_device_set_root): Removed.
52405 (grub_device_set_root): Likewise.
52406
52407 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
52408 make sure that DIRNAME terminates with '/', so that
52409 grub_fat_find_dir will fail if PATH is not a directory.
52410
52411 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
52412 from DIRNAME.
52413 Use the qualifier auto for print_files and print_files_long.
52414 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
52415 as a regular file.
52416 Put a newline only if there is no error.
52417 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
52418 used.
52419
896f0afd 524202005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52421
52422 * kern/partition.c (grub_partition_probe): Initialize PART to
52423 NULL. Otherwise, when no partition map is registered, this returns
52424 a garbage.
52425
b28b81b2 524262005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
52427
52428 * partmap/apple.c (apple_partition_map_iterate): Check if POS
52429 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
52430 valid.
52431
5f3607e0 524322005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
52433
52434 * commands/ls.c (grub_ls_list_disks): Print the filesystem
52435 information on each device, if it does not have partitions. Print
52436 "Device" instead of "Disk", because this function is not specific
52437 to disk devices.
52438
52439 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
52440 static to ensure that it is put on the memory rather than a
52441 register.
52442
502c87e8 524432005-07-17 Yoshinori Okuji <okuji@enbug.org>
52444
52445 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
52446 (grub_cat_init): Likewise.
52447 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
52448 (options): Likewise.
52449 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
52450 (grub_configfile_init): Likewise.
52451 * font/manager.c (GRUB_MOD_INIT): Likewise.
52452 * commands/help.c (GRUB_MOD_INIT): Likewise.
52453 (grub_help_init): Likewise.
52454 * normal/command.c (grub_command_init): Likewise.
52455 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
52456 * disk/loopback.c (grub_loop_init): Likewise.
52457 (GRUB_MOD_INIT): Likewise.
52458 * commands/ls.c (grub_ls_init): Likewise.
52459 (GRUB_MOD_INIT): Likewise.
52460 (options): Likewise.
52461 * commands/boot.c (grub_boot_init): Likewise.
52462 (GRUB_MOD_INIT): Likewise.
52463 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
52464 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
52465 (GRUB_MOD_INIT): Likewise.
52466 * commands/cmp.c (grub_cmp_init): Likewise.
52467 (GRUB_MOD_INIT): Likewise.
52468
52469 * normal/arg.c: Use <> instead of "" to include header files.
52470 (SHORT_ARG_HELP): New macro.
52471 (SHORT_ARG_USAGE): Likewise.
52472 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
52473 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
52474 descriptions.
52475 (find_short): Check if C is 'h' or 'u' explicitly.
52476 (grub_arg_show_help): Use space characters instead of tabs. Treat
52477 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
52478 are shown with --help and --usage only if they are not used for
52479 the command itself.
52480 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
52481 'h' and 'u'.
52482
52483 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
52484 const into "longarg". Change the type of "shortarg" to int.
52485
f806d18e 524862005-07-17 Yoshinori Okuji <okuji@enbug.org>
52487
52488 * boot/i386/pc/boot.S (boot_drive_check): New label.
52489
52490 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
52491 macro.
52492
52493 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
52494 which do not pass a boot drive correctly. Copied from GRUB Legacy.
52495
e293232b 524962005-07-17 Yoshinori Okuji <okuji@enbug.org>
52497
52498 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
52499 When turning off Gate A20, skip the check and return immediately,
52500 because this is not fatal usually.
52501
ebedfd00 525022005-07-17 Yoshinori Okuji <okuji@enbug.org>
52503
52504 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
52505 be 0x7C00 instead of 0x8000.
52506
52507 * boot/i386/pc/pxeboot.S: Rewritten.
52508
52509 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
52510 EXT_C.
52511 (gate_a20_check_state): Read a byte from 0x108000. Invert the
52512 result.
52513
654fc59f 525142005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
52515
52516 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
52517 robustness. This routine now supports a BIOS call and System
52518 Control Port A to modify the gate A20.
52519
52520 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
52521 Increased to 0x440.
52522
09f9923f 525232005-07-12 Hollis Blanchard <hollis@penguinppc.org>
52524
52525 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
52526 device path and resulting ihandle.
52527 (grub_ofdisk_close): dprintf the ihandle being closed.
52528 (grub_ofdisk_read): dprintf function parameters.
52529 * kern/mm.c (grub_mm_init_region): Likewise.
52530 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
52531 (grub_linux_boot): dprintf the Linux entry point, initrd address and
52532 size, and boot arguments.
52533 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
52534 before loading into memory.
52535 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
52536 before loading into memory.
52537
7ef504d8 525382005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
52539
52540 * kern/mm.c: Added much documentation.
52541 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
52542 8, set to 5 instead of 8.
52543
e0f050c2 525442005-07-10 Yoshinori Okuji <okuji@enbug.org>
52545
52546 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
52547
52548 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
52549 (grub_mkdevicemap_SOURCES): New variable.
52550
52551 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
52552 lib/device.c of GRUB Legacy.
52553
7224189a 525542005-07-10 Yoshinori Okuji <okuji@enbug.org>
52555
52556 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
52557 instead of PATH is NULL.
52558
68c864eb 525592005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
52560
52561 * commands/cmp.c (BUFFER_SIZE): New macro.
52562 (grub_cmd_cmp): Close the right file at the right time. Compare
52563 only data just read. Don't report files of different size as
52564 identical. Dynamically allocate buffers. Move variable
52565 declarations at the beginning of function.
52566
e6f3e614 525672005-07-09 Yoshinori Okuji <okuji@enbug.org>
52568
52569 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
52570 reverse.
52571
f8f1559a 525722004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
52573
52574 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
52575 when backspace is pressed at beginning of line.
52576
39c9d41d 525772005-07-03 Yoshinori Okuji <okuji@enbug.org>
52578
52579 * DISTLIST: Added genfslist.sh.
52580
52581 * normal/main.c (fs_module_list): New variable.
52582 (autoload_fs_module): New function.
52583 (read_fs_list): Likewise.
52584 (grub_normal_execute): Call read_fs_list.
52585
52586 * kern/fs.c (grub_fs_autoload_hook): New variable.
52587 (grub_fs_probe): Added support for auto-loading.
52588
52589 * include/grub/normal.h (struct grub_fs_module_list): New struct.
52590 (grub_fs_module_list_t): New type.
52591
52592 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
52593 (grub_fs_autoload_hook): New prototype.
52594
52595 * genfslist.sh: New file.
f19dbdb7 52596
39c9d41d 52597 * genmk.rb: Added a rule to generate a filesystem list.
52598
121c1d83 525992005-06-30 Marco Gerards <metgerards@student.han.nl>
52600
52601 * configure.ac: Fix the test for cross-compiling.
52602
52603 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
52604 define GRUB_UTIL anymore.
52605
52606 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
52607 so this function works on other systems than just big endian.
52608 (load_modules): Likewise.
52609 (add_segments): Likewise.
52610
e75d76e1 526112005-06-23 Hollis Blanchard <hollis@penguinppc.org>
52612
52613 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
52614 contains `l' modifier, get a long from va_arg().
52615
50b5a0a7 526162005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
52617
52618 * kern/mm.c (grub_free): If the next free block which is being
52619 merged is the first free block, set the first block to the block
52620 being freed.
52621 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
52622
89371b20 526232005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52624
52625 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
52626 `grub_ieee1275_chosen'.
52627
168d6e58 526282005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52629
52630 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
52631 (grub_ieee1275_chosen): New variable.
52632 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
52633 `chosen'.
52634 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
52635 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52636 Rename first argument to `phandle' for consistency.
52637 (grub_ieee1275_get_property_length): Likewise.
52638 (grub_ieee1275_next_property): Likewise. Change type of first argument
52639 to grub_ieee1275_phandle_t.
52640 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
52641 Move export next to declaration.
52642 (grub_ieee1275_chosen): New variable.
52643 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
52644 Correct cosmetic typo.
52645 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
52646 `grub_ieee1275_chosen'.
52647 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
52648 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
52649 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
52650 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
52651 `grub_ieee1275_chosen'.
52652
ca5baa3f 526532005-05-10 Hollis Blanchard <hollis@penguinppc.org>
52654
52655 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
52656 /chosen/bootargs.
52657 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
52658 /chosen/bootargs as "variable=value" pairs.
52659
708b345f 526602005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
52661
52662 * include/grub/misc.h (grub_dprintf): New macro.
52663 (grub_real_dprintf): New prototype.
52664 (grub_strword): Likewise.
52665 (grub_iswordseparator): Likewise.
52666 * kern/misc.c (grub_real_dprintf): New function.
52667 (grub_strword): Likewise.
52668 (grub_iswordseparator): Likewise.
52669
f4c5e67c 526702005-04-30 Hollis Blanchard <hollis@penguinppc.org>
52671
52672 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
52673 (roundup): Remove macro.
52674 (grub_ieee1275_flags): Make static.
52675 (grub_ieee1275_realmode): Remove.
52676 (grub_ieee1275_test_flag): New function.
52677 (grub_ieee1275_set_flag): Likewise.
52678 (find_options): Rename to `grub_ieee1275_find_options'; update
52679 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
52680 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
52681 (cmain): New prototype.
52682 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
52683 `grub_ieee1275_flags' directly.
52684 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
52685 machine/biosdisk.h.
52686 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
52687 Don't include grub/machine/init.h.
52688 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
52689 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52690 Remove prototype.
52691 (grub_ieee1275_realmode): Likewise.
52692 (grub_ieee1275_flag): New enum.
52693 (grub_ieee1275_test_flag): New prototype.
52694 (grub_ieee1275_set_flag): New prototype.
52695 * include/grub/powerpc/ieee1275/init.h: Remove file.
52696 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
52697 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
52698 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
52699 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
52700 comment.
52701 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
52702 `grub_ieee1275_test_flag'.
52703 (grub_ieee1275_encode_devname): Likewise.
52704
ed16607e 527052005-04-21 Hollis Blanchard <hollis@penguinppc.org>
52706
52707 * include/grub/powerpc/ieee1275/ieee1275.h
52708 (grub_ieee1275_encode_devname): New prototype.
52709 (grub_ieee1275_get_filename): Likewise.
52710 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
52711 function.
52712 (grub_set_prefix): Likewise.
52713 (grub_machine_init): Call grub_set_prefix.
52714 * kern/powerpc/ieee1275/openfw.c: Fix typos.
52715 (grub_parse_type): New enum.
52716 (grub_ieee1275_get_devargs): New function.
52717 (grub_ieee1275_get_devname): Likewise.
52718 (grub_ieee1275_parse_args): Likewise.
52719 (grub_ieee1275_get_filename): Likewise.
52720 (grub_ieee1275_encode_devname): Likewise.
52721
be369920 527222005-03-30 Marco Gerards <metgerards@student.han.nl>
52723
52724 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
52725 `grub_loader_unset'.
52726
a5ce3a4a 527272005-03-26 Hollis Blanchard <hollis@penguinppc.org>
52728
52729 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
52730 instead of grub_ieee1275_interpret.
52731 (grub_halt_init): New function.
52732 (grub_halt_fini): Likewise.
52733 (GRUB_MOD_INIT): Correct message grammar.
52734 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
52735 instead of grub_ieee1275_interpret.
52736 (grub_reboot_init): New function.
52737 (grub_reboot_fini): Likewise.
52738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
52739 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
52740 util/i386/pc/misc.c with commands/ieee1275/halt.c,
52741 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
52742 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
52743 function.
52744 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
52745 Add prototype.
52746 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
52747 prototype.
52748 (grub_halt): Likewise.
52749 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
52750 (cmain): Remove __attribute__((unused)).
52751 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
52752 (grub_heap_len): Likewise.
52753 (grub_machine_fini): New function.
52754 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
52755 (grub_halt): Likewise.
52756 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
52757 function.
52758 * util/powerpc/ieee1275/misc.c: New file.
52759
0058f771 527602005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
52761
52762 * DISTLIST: New file.
52763 * gendistlist.sh: Likewise.
f19dbdb7 52764
0058f771 52765 * Makefile.in (COMMON_DISTFILES): Removed.
52766 (BOOT_DISTFILES): Likewise.
52767 (CONF_DISTFILES): Likewise.
52768 (DISK_DISTFILES): Likewise.
52769 (FS_DISTFILES): Likewise.
52770 (INCLUDE_DISTFILES): Likewise.
52771 (KERN_DISTFILES): Likewise.
52772 (LOADER_DISTFILES): Likewise.
52773 (TERM_DISTFILES): Likewise.
52774 (UTIL_DISTFILES): Likewise.
52775 (DISTFILES): Likewise.
52776 (uninstall): Uninstall files in $(pkgdata_DATA).
52777 (DISTLIST): New target.
52778 (distdir): Use the contents of the file DISTLIST to get a list of
52779 distributed files.
52780
46b3b8a5 527812005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
52782
52783 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
52784 descriptor. This is ported from GRUB Legacy.
52785
52786 * gencmdlist.sh: Added an extra semicolon to make it work with
52787 old sed versions. Reported by Robert Bihlmeyer
52788 <robbe@orcus.priv.at>.
52789
5822ff87 527902005-03-08 Yoshinori Okuji <okuji@enbug.org>
52791
52792 Automatic loading of commands is supported.
f19dbdb7 52793
5822ff87 52794 * normal/main.c (read_command_list): New function.
52795 (grub_normal_execute): Call read_command_list.
52796
52797 * normal/command.c (grub_register_command): Return zero or CMD.
52798 Allocate CMD->NAME from the heap.
52799 Initialize CMD->MODULE_NAME to zero.
52800 Find the same name as well. If the same command is found and it is
52801 a dummy command, overwrite members. If it is not a dummy command,
52802 return zero.
52803 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
52804 (grub_command_find): If a dummy command is found, load a module
52805 and retry to find a command only once.
52806
52807 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
52808 make sure that each command is loaded.
52809
52810 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
52811 macro.
52812 (struct grub_command): Remove const from the member `name'.
52813 Add a new member `module_name'.
52814 (grub_register_command): Return grub_command_t.
52815
52816 * commands/help.c (grub_cmd_help): Call grub_command_find to make
52817 sure that each command is loaded.
52818
52819 * genmk.rb (PModule::rule): Specify a module name without the
52820 suffix ".mod" to gencmdlist.sh.
52821
7b1f4b57 528222005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52823
52824 * gencmdlist.sh: New file.
f19dbdb7 52825
7b1f4b57 52826 * genmk.rb (PModule::rule): Generate a rule for a command list.
52827 Clean command.lst.
52828 Generate command.lst from $(COMMANDFILES).
52829
52830 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
52831 (DATA): Added $(pkgdata_DATA).
52832 (install-local): Install files in $(pkgdata_DATA).
52833
062aaf39 528342005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52835
52836 * term/i386/pc/vga.c (debug_command): Removed.
52837 (GRUB_MOD_INIT): Do not register the command "debug".
52838
52839 From Hollis Blanchard:
52840 * commands/configfile.c: New file.
52841 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52842 commands/configfile.c.
52843 (pkgdata_MODULES): Added configfile.mod.
52844 (configfile_mod_SOURCES): New variable.
52845 (configfile_mod_CFLAGS): Likewise.
52846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52847 commands/configfile.c.
52848 (pkgdata_MODULES): Added configfile.mod.
52849 (configfile_mod_SOURCES): New variable.
52850 (configfile_mod_CFLAGS): Likewise.
52851 * util/grub-emu.c (main): Call grub_configfile_init and
52852 grub_configfile_fini.
52853 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
52854 prototype.
52855 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 52856
cee01aa6 528572005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52858
52859 * normal/arg.c (grub_arg_show_help): Do not show the bug report
52860 address.
52861
52862 * commands/help.c (grub_cmd_help): Do not print newlines after
52863 the last command in print_command_help.
52864
93f3a1d8 528652005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52866
52867 * commands/default.h: New file.
52868 * commands/timeout.h: Likewise.
52869 * normal/context.c: Likewise.
f19dbdb7 52870
93f3a1d8 52871 * util/misc.c: Do not include sys/times.h.
52872 Include sys/time.h and grub/machine/time.h.
52873 (grub_get_rtc): Rewritten with gettimeofday.
52874
52875 * util/grub-emu.c (main): Call grub_default_init and
52876 grub_timeout_init before grub_normal_init, and call
52877 grub_timeout_fini and grub_default_fini after grub_main.
52878
52879 * util/console.c (grub_ncurses_checkkey): Return the read
52880 character or -1.
52881
52882 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
52883 timeouts.
52884
52885 * normal/main.c (read_config_file): Push MENU. If this fails,
52886 print an error and wait for a user input.
52887 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
52888 If a menu is empty or an error occurs, pop MENU.
52889 (grub_normal_execute): Pop and free MENU after grub_menu_run
52890 returns.
52891
52892 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
52893
52894 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
52895 include time.h.
52896 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52897 without GRUB_UTIL.
52898 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
52899 time.h.
52900 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52901 without GRUB_UTIL.
52902
52903 * include/grub/normal.h (struct grub_menu_list): New struct.
52904 (grub_menu_list_t): New type.
52905 (struct grub_context): New struct.
52906 (grub_context_t): New type.
52907 (grub_register_command): Got rid of EXPORT_FUNC.
52908 (grub_unregister_command): Likewise.
52909 (grub_context_get): New prototype.
52910 (grub_context_get_current_menu): Likewise.
52911 (grub_context_push_menu): Likewise.
52912 (grub_context_pop_menu): Likewise.
52913 [GRUB_UTIL] (grub_default_init): Likewise.
52914 [GRUB_UTIL] (grub_default_fini): Likewise.
52915 [GRUB_UTIL] (grub_timeout_init): Likewise.
52916 [GRUB_UTIL] (grub_timeout_fini): Likewise.
52917
52918 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
52919 commands/timeout.c and normal/context.c.
52920 (pkgdata_MODULES): Added default.mod and timeout.mod.
52921 (normal_mod_SOURCES): Added normal/context.c.
52922 (default_mod_SOURCES): New variable.
52923 (default_mod_CFLAGS): Likewise.
52924 (timeout_mod_SOURCES): Likewise.
52925 (timeout_mod_CFLAGS): Likewise.
52926 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
52927 conf/i386-pc.rmk.
52928 (pkgdata_MODULES): Added default.mod and timeout.mod.
52929 (normal_mod_SOURCES): Added normal/context.c.
52930 (default_mod_SOURCES): New variable.
52931 (default_mod_CFLAGS): Likewise.
52932 (timeout_mod_SOURCES): Likewise.
52933 (timeout_mod_CFLAGS): Likewise.
52934
52935 * Makefile.in (all-local): Added $(MKFILES).
52936
4ed2e1dd 529372005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
52938
52939 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
52940 (grub_emu_SOURCES): Likewise.
52941 (pkgdata_MODULES): Add `sun.mod'.
52942 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52944 `partmap/sun.c'.
52945 (pkgdata_MODULES): Add `sun.mod'.
52946 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52947 * include/grub/partition.h (grub_sun_partition_map_init): New
52948 prototype.
52949 (grub_sun_partition_map_fini): Likewise.
52950 * partmap/sun.c: New file.
52951 * util/grub-emu.c (main): Initialize and de-initialize the sun
52952 partitionmap support.
52953
4d4e372e 529542005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
52955
52956 This implements an Emacs-like menu entry editor.
f19dbdb7 52957
4d4e372e 52958 * normal/menu_entry.c: New file.
f19dbdb7 52959
4d4e372e 52960 * util/console.c (grub_ncurses_putchar): Translate some Unicode
52961 characters to ASCII.
52962 (saved_char): New variable.
52963 (grub_ncurses_checkkey): Rewritten completely.
52964 (grub_ncurses_getkey): Likewise.
52965 (grub_ncurses_init): Call raw instead of cbreak.
52966
52967 * normal/menu.c (print_entry): Do not put a space.
52968 (init_page): Renamed to ...
52969 (grub_menu_init_page): ... this. All callers changed.
52970 (edit_menu_entry): Removed.
52971 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
52972
52973 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
52974
52975 * kern/misc.c (grub_vprintf): Call grub_refresh.
52976
52977 * normal/menu.c (DISP_LEFT): Renamed to ...
52978 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
52979 * normal/menu.c (DISP_UP): Renamed to ...
52980 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
52981 * normal/menu.c (DISP_RIGHT): Renamed to ...
52982 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
52983 * normal/menu.c (DISP_DOWN): Renamed to ...
52984 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
52985 * normal/menu.c (DISP_HLINE): Renamed to ...
52986 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
52987 * normal/menu.c (DISP_VLINE): Renamed to ...
52988 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
52989 * normal/menu.c (DISP_UL): Renamed to ...
52990 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
52991 * normal/menu.c (DISP_UR): Renamed to ...
52992 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
52993 * normal/menu.c (DISP_LL): Renamed to ...
52994 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
52995 * normal/menu.c (DISP_LR): Renamed to ...
52996 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
52997 * normal/menu.c (TERM_WIDTH): Renamed to ...
52998 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
52999 * normal/menu.c (TERM_HEIGHT): Renamed to ...
53000 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
53001 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
53002 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
53003 * normal/menu.c (TERM_MARGIN): Renamed to ...
53004 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
53005 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
53006 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
53007 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
53008 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
53009 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
53010 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
53011 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
53012 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
53013 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
53014 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
53015 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
53016 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
53017 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
53018 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
53019 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
53020 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
53021 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
53022 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
53023 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
53024 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
53025 All callers changed.
53026
53027 * include/grub/normal.h: New prototype.
53028
53029 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53030 normal/menu_entry.c.
53031 (normal_mod_SOURCES): Likewise.
53032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
53033 (normal_mod_SOURCES): Likewise.
53034
e6b92c8a 530352005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
53036
53037 * include/grub/normal.h (grub_halt_init): New prototype.
53038 (grub_halt_fini): Likewise.
53039 (grub_reboot_init): Likewise.
53040 (grub_reboot_fini): Likewise.
53041
53042 * util/grub-emu.c: Include signal.h.
53043 (main_env): New global variable.
53044 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
53045 catch C-c.
53046 (grub_machine_fini): New function.
53047 (main): Call grub_halt_init and grub_reboot_init before
53048 grub_main, and grub_reboot_fini and grub_halt_fini after it.
53049 Call setjmp with MAIN_ENV to go back afterwards.
53050 Call grub_machine_fini right before return.
53051
53052 * include/grub/util/misc.h: Include setjmp.h.
53053 (main_env): New prototype.
53054
53055 * include/grub/kernel.h (grub_machine_fini): New prototype.
53056 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
53057 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
53058
53059 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
53060 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
53061 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 53062
e6b92c8a 53063 * util/i386/pc/misc.c: New file.
f19dbdb7 53064
e6b92c8a 53065 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53066 util/i386/pc/misc.c, commands/i386/pc/halt.c and
53067 commands/i386/pc/reboot.c.
53068
c642636f 530692005-02-14 Guillem Jover <guillem@hadrons.org>
53070
53071 * include/grub/dl.h (grub_dl_check_header): New prototype.
53072 (grub_arch_dl_check_header): Change return type to grub_err_t,
53073 remove size parameter and export function. Update all callers.
53074 * kern/dl.c (grub_dl_check_header): New function.
53075 (grub_dl_load_core): Use `grub_dl_check_header' instead of
53076 `grub_arch_dl_check_header'. Check ELF type. Check if sections
53077 are inside the core.
53078 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
53079 independent ELF header checks.
53080 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53081 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
53082 `grub_dl_check_header' instead of explicit checks. Check for the
53083 ELF type.
53084 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
53085 `grub_dl_check_header' instead of explicit checks. Remove arch
53086 specific ELF header checks.
53087
e6b92c8a 53088 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
53089 argument SIZE.
53090
5eabe94b 530912005-02-13 Hollis Blanchard <hollis@penguinppc.org>
53092
53093 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
53094 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
53095
1b14a681 530962005-02-12 Hollis Blanchard <hollis@penguinppc.org>
53097
53098 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 53099 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 53100 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 53101 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 53102 * partmap/amiga.c (amiga_partition_map_iterate): Return
53103 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
53104 * partmap/apple.c (apple_partition_map_iterate): Likewise.
53105
aca108aa 531062005-02-01 Guillem Jover <guillem@hadrons.org>
53107
53108 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
53109 help info.
53110
c9f9c556 531112005-01-31 Marco Gerards <metgerards@student.han.nl>
53112
53113 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
53114 Removed prototype.
53115 (grub_rescue_cmd_linux): New prototype.
53116 (grub_rescue_cmd_initrd): Likewise.
53117 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
53118 `bi_rec'.
53119 (grub_linux_release_mem): Release the memory for the initrd.
53120 (grub_load_linux): Renamed from this...
53121 (grub_rescue_cmd_linux): ...To this. Changed all callers.
53122 Changed `entry' not to be static. Loop over memory regions to
53123 find another one when the default fails.
53124 (grub_rescue_cmd_initrd): New function.
53125 (grub_linux_init): Remove function.
53126 (grub_linux_fini): Likewise.
53127 (GRUB_MOD_INIT): Register `initrd'.
53128 (GRUB_MOD_FINI): Unregister `initrd'.
53129 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
53130 Function removed.
53131 (grub_linux_normal_fini): Likewise.
53132 (GRUB_MOD_INIT): Register `initrd'.
53133 (GRUB_MOD_FINI): Unregister `initrd'.
53134
990cf3aa 531352005-01-31 Marco Gerards <metgerards@student.han.nl>
53136
53137 * commands/help.c: New file.
53138 * normal/arg.c (show_help): Renamed to...
53139 (grub_arg_show_help): ... this.
53140 * commands/i386/pc/halt.c: New file.
53141 * commands/i386/pc/reboot.c: Likewise.
53142 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
53143 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
53144 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
53145 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
53146 variables.
53147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53148 `commands/help.c'.
53149 (pkgdata_MODULES): Add `help.mod'.
53150 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
53151 * grub/i386/pc/init.h (grub_reboot): New prototype.
53152 (grub_halt): Likewise.
53153 * include/grub/normal.h (grub_arg_show_help): New prototype.
53154 (grub_help_init): Likewise.
53155 (grub_help_fini): Likewise.
53156 * util/grub-emu.c (main): Initialize and deinitialize the help
53157 command.
53158
53159 * normal/cmdline.c (grub_cmdline_get): Doc fix.
53160
53161 * normal/command.c (grub_command_init): Fixed the description of
53162 the `set' and `unset' commands.
53163
531642005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 53165
53166 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
53167 function.
53168 * commands/ieee1275/halt.c: New file.
53169 * commands/ieee1275/reboot.c: Likewise.
53170 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
53171 `__attribute__ ((unused))'. Some GCS related fixed.
53172 (grub_suspend_init) [GRUB_UTIL]: Function removed.
53173 (grub_suspend_fini): Likewise.
53174 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
53175 and `halt.mod'.
53176 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
53177 (halt_mod_CFLAGS): New variables.
53178 * include/grub/powerpc/ieee1275/ieee1275.h
53179 (grub_ieee1275_interpret): New prototype.
53180
1ab09cc7 531812005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
53182
53183 * include/grub/misc.h (memmove): New prototype.
53184 (memcpy): Likewise.
53185
8b8cbdb2 531862005-01-22 Hollis Blanchard <hollis@penguinppc.org>
53187
53188 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
53189 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
53190
e3741a27 531912005-01-22 Marco Gerards <metgerards@student.han.nl>
53192
53193 * kern/misc.c (grub_strndup): Function rewritten.
53194
776bd780 531952005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
53196
53197 * normal/menu.c (TERM_WIDTH): Macro redefined.
53198 (TERM_TOP_BORDER_Y): Likewise.
53199 (draw_border): Replaced while-loop by a for-loop. Make the number
53200 of lines consistent with the number of lines displayed in
53201 print_entries. Added a margin below the rectangle.
53202 (print_entry): Make the entry fit in the rectangle.
53203 (print_entries): Display the scroll arrows next to the right
53204 border.
53205
78026bce 532062005-01-21 Marco Gerards <metgerards@student.han.nl>
53207
53208 * fs/minix.c (grub_minix_find_file): Reserve more space for
53209 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
53210 `grub_strncpy' to copy `path' into it.
53211
67bbaf0f 532122005-01-21 Marco Gerards <metgerards@student.han.nl>
53213
53214 Add the loopback device, a device via which files can be accessed
53215 as devices.
f19dbdb7 53216
67bbaf0f 53217 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
53218 (pkgdata_MODULES): Add loopback.mod.
53219 (loopback_mod_SOURCES): New variable.
53220 (loopback_mod_CFLAGS): Likewise.
53221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53222 `disk/loopback.c'.
53223 (pkgdata_MODULES): Add loopback.mod.
53224 (loopback_mod_SOURCES): New variable.
53225 (loopback_mod_CFLAGS): Likewise.
53226 * disk/loopback.c: new file.
53227 * include/grub/normal.h (grub_loop_init): New prototype.
53228 (grub_loop_fini): New prototype.
53229 * util/grub-emu.c (main): Initialize and de-initialize loopback
53230 support.
53231 * include/grub/disk.h (grub_disk_dev_id): Add
53232 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
53233
6f1c18bd 532342005-01-20 Hollis Blanchard <hollis@penguinppc.org>
53235
53236 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
53237 function.
53238 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
53239 (suspend_mod_SOURCES): New variable.
53240 (suspend_mod_CFLAGS): Likewise.
53241 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
53242 New prototype.
53243 * commands/ieee1275/suspend.c: New file.
53244
b38551da 532452005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
53246
53247 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 53248 ((unused))' to `__attribute__ ((used))'.
b38551da 53249 (GRUB_MOD_FINI): Likewise.
53250 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
53251 * genmk.rb (PModule): Assign space to common symbols when linking
53252 modules.
53253
777aff39 532542005-01-20 Marco Gerards <metgerards@student.han.nl>
53255
53256 * include/grub/mm.h (grub_mm_init_region): Change the type of the
53257 `unsigned' arguments to `grub_size_t'.
53258 (grub_malloc): Likewise.
53259 (grub_realloc): Likewise.
53260 (grub_memalign): Likewise.
53261 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
53262 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53263 * util/misc.c (grub_malloc): Likewise.
53264 (grub_realloc): Likewise.
53265 * kern/mm.c (get_header_from_pointer): Change the casts to
53266 `unsigned' into a cast to `grub_size_t'.
53267
53268 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
53269 point to `currnode' when `currnode' is changed.
53270
53271 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
53272 Schottelius <nico-linux@schottelius.org>.
53273
d0ff18e1 532742005-01-09 Hollis Blanchard <hollis@penguinppc.org>
53275
53276 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
53277 (note_path): Remove variable.
53278 (GRUB_IEEE1275_NOTE_NAME): New macro.
53279 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
53280 (grub_ieee1275_note_hdr): New structure.
53281 (grub_ieee1275_note_desc): Likewise.
53282 (grub_ieee1275_note): Likewise.
53283 (load_note): Remove `dir' argument. All callers updated. Remove
53284 `note_img' and `path'. Do not load a file from `note_path'.
53285 Initialize a struct grub_ieee1275_note and write that to `out'.
53286 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
53287
4ca7004c 532882005-01-05 Marco Gerards <metgerards@student.han.nl>
53289
53290 * util/misc.c (grub_util_read_image): Revert last change. It
53291 called `grub_util_read_at', which seeks from the beginning of the
53292 file.
53293
0b412211 532942005-01-04 Hollis Blanchard <hollis@penguinppc.org>
53295
53296 * TODO: Add note about endianness in grub-mkimage.
53297 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
53298 section.
53299 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
53300 (grub_mkimage_SOURCES): New target.
53301 * include/grub/kernel.h (grub_start_addr): Remove variable.
53302 (grub_end_addr): Likewise.
53303 (grub_total_module_size): Likewise.
53304 (grub_kernel_image_size): Likewise.
53305 (GRUB_MODULE_MAGIC): New constant.
53306 (grub_module_info): New structure.
53307 (grub_arch_modules_addr): New prototype.
53308 (grub_get_end_addr): Remove prototype.
53309 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
53310 * include/grub/powerpc/ieee1275/kernel.h: New file.
53311 * include/grub/util/misc.h (grub_util_get_fp_size): New
53312 prototype.
53313 (grub_util_read_at): Likewise.
53314 (grub_util_write_image_at): Likewise.
53315 * kern/main.c (grub_get_end_addr): Remove function.
53316 (grub_load_modules): Call grub_arch_modules_addr instead of using
53317 grub_end_addr. Look for a grub_module_info struct in memory. Use
53318 the grub_module_info fields instead of calling grub_get_end_addr
53319 as loop conditions. Move grub_add_unused_region code here.
53320 (grub_add_unused_region): Remove function.
53321 * kern/i386/pc/init.c: Include grub/cache.h.
53322 (grub_machine_init): Remove call to grub_get_end_addr. Remove
53323 one call to add_mem_region.
53324 (grub_arch_modules_addr): New function.
53325 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
53326 (grub_total_module_size): Likewise.
53327 Include grub/machine/kernel.h.
53328 (grub_arch_modules_addr): New function.
53329 * util/grub-emu.c (grub_end_addr): Remove variable.
53330 (grub_total_module_size): Likewise.
53331 (grub_arch_modules_addr): New function.
53332 * util/misc.c: Include unistd.h.
53333 (grub_util_get_fp_size): New function.
53334 (grub_util_read_at): Likewise.
53335 (grub_util_write_image_at): Likewise.
53336 (grub_util_read_image): Call grub_util_read_at.
53337 (grub_util_write_image): Call grub_util_write_image_at.
53338 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
53339 additional memory in kernel_img for a struct grub_module_info.
53340 Fill in that grub_module_info.
53341 * util/powerpc/ieee1275/grub-mkimage.c: New file.
53342
458786f8 533432005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53344
53345 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
53346 New function.
53347 * include/grub/powerpc/ieee1275/ieee1275.h
53348 (grub_ieee1275_milliseconds): New prototype.
53349 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
53350 Change to 1000.
53351 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
53352 grub_ieee1275_milliseconds.
53353
ac507d1b 533542005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53355
53356 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
53357 variable.
53358 (find_options): New function.
53359 (cmain): Call find_options.
53360 * include/grub/powerpc/ieee1275/ieee1275.h
53361 (grub_ieee1275_realmode): New extern variable.
53362 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
53363 grub_map if grub_ieee1275_realmode is false.
53364
6b8fd1c4 533652004-12-29 Marco Gerards <metgerards@student.han.nl>
53366
53367 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
53368 lines are inserted and make it work like readline. Reported by
53369 Vincent Pelletier <subdino2004@yahoo.fr>.
53370
8514a1e0 533712004-12-28 Marco Gerards <metgerards@student.han.nl>
53372
53373 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
53374
53375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
53376 `kern/powerpc/cache.S'.
53377
924b6140 533782004-12-27 Marco Gerards <metgerards@student.han.nl>
53379
53380 * genmk.rb: Handle the `Program' class in the main loop. Written
53381 by Johan Rydberg <jrydberg@gnu.org>.
53382 (Program): New class.
53383 (programs): New variable.
53384 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
53385 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
53386 instead of "grub/kernel.h". Include <grub/machine/init.h>.
53387 (help_arch): Function removed.
53388 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
53389 `powerpc/libgcc.h' and `loader.h'.
53390 (pkgdata_PROGRAMS): New variable.
53391 (sbin_UTILITIES): Variable removed.
53392 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
53393 (grubof_SOURCES): Variable re-defined so it only includes the
53394 core functionality.
53395 (grubof_CFLAGS): Remove `-DGRUBOF'.
53396 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
53397 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
53398 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
53399 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
53400 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
53401 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
53402 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
53403 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
53404 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
53405 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
53406 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
53407 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
53408 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
53409 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
53410 (pc_mod_CFLAGS): New variables.
53411 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
53412 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
53413 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
53414 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
53415 Moved from here...
53416 * include/grub/i386/pc/init.h (grub_os_area_addr)
53417 (rub_os_area_size): ... to here.
53418 * include/grub/powerpc/ieee1275/ieee1275.h
53419 (grub_ieee1275_entry_fn): Export symbol.
53420 * include/grub/powerpc/ieee1275/init.h: New file.
53421 * include/grub/powerpc/libgcc.h: Likewise.
53422 * include/grub/cache.h: Likewise.
53423 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
53424 <hollis@penguinppc.org>.
53425 * kern/dl.c: Include <grub/cache.h>.
53426 (grub_dl_flush_cache): New function.
53427 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
53428 for this module.
53429 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
53430 (grub_console_init): Removed prototypes.
53431 (grub_machine_init): Don't initialize the modules anymore.
53432 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
53433 static.
53434 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
53435 Macro undef removed.
53436 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
53437 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
53438 relocation `R_PPC_REL32'. Return an error when the relocation is
53439 unknown.
53440 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
53441 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
53442 * util/misc.c (grub_arch_sync_caches): Likewise.
53443
e4b47e0c 534442004-12-19 Marco Gerards <metgerards@student.han.nl>
53445
53446 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
53447 `symlist.c', add `grubof_symlist.c'.
53448 (symlist.c): Variable removed.
53449 (grubof_HEADERS): Variable added.
53450 (grubof_symlist.c): New target.
53451 (kernel_syms.lst): Use `grubof_HEADERS' instead of
53452 `kernel_img_HEADERS'.
53453 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
53454 * kern/powerpc/dl.c: New file.
53455 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
53456 Function removed.
53457 (grub_arch_dl_relocate_symbols): Likewise.
53458 (grub_register_exported_symbols): Likewise.
53459
4ceb3636 534602004-12-13 Marco Gerards <metgerards@student.han.nl>
53461
53462 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
53463 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
53464 to fail instead. Reported by Vincent Pelletier
53465 <subdino2004@yahoo.fr>.
53466
53467 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
53468 it is not allocated. Reported by Vincent Pelletier
53469 <subdino2004@yahoo.fr>.
53470
53471 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
53472 output so the output looks better.
f19dbdb7 53473
3f1578fe 534742004-12-04 Marco Gerards <metgerards@student.han.nl>
53475
53476 Modulize the partition map support and add support for the amiga
53477 partition map.
f19dbdb7 53478
3f1578fe 53479 * commands/ls.c: Include <grub/partition.h> instead of
53480 <grub/machine/partition.h>.
53481 * kern/disk.c: Likewise.
53482 * kern/rescue.c: Likewise.
53483 * loader/i386/pc/chainloader.c: Likewise.
53484 * normal/cmdline.c: Likewise.
53485 * kern/powerpc/ieee1275/init.c: Likewise.
53486 (grub_machine_init): Call `grub_pc_partition_map_init',
53487 `grub_amiga_partition_map_init' and
53488 `grub_apple_partition_map_init'.
53489 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
53490 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
53491 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
53492 `partition.h' and `pc_partition.h'.
53493 (grub_setup_SOURCES): Remove
53494 `disk/i386/pc/partition.c'. Add `kern/partition.c',
53495 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53496 (grub_emu_SOURCES): Likewise.
53497 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
53498 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
53499 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
53500 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53501 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
53502 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53503 (grubof_SOURCES): Likewise.
53504 * disk/i386/pc/partition.c: File removed.
53505 * disk/powerpc/ieee1275/partition.c: Likewise.
53506 * include/grub/powerpc/ieee1275/partition.h: Likewise.
53507 * include/grub/i386/pc/partition.h: Likewise.
53508 * kern/partition.c: New file.
53509 * partmap/amiga.c: Likewise.
53510 * partmap/apple.c: Likewise.
53511 * partmap/pc.c: Likewise.
53512 * include/grub/partition.h: Likewise..
53513 * include/grub/pc_partition.h: Likewise.
53514 * util/grub-emu.c: Include <grub/partition.h> instead of
53515 <grub/machine/partition.h>.
53516 (main): Call `grub_pc_partition_map_init',
53517 `grub_amiga_partition_map_init' and
53518 `grub_apple_partition_map_init' and deinitialize afterwards.
53519 * util/i386/pc/biosdisk.c: Include `#include
53520 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53521 `<grub/machine/partition.h>'.
53522 * util/i386/pc/grub-setup.c: Likewise.
53523 * util/i386/pc/biosdisk.c: Likewise.
53524 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
53525 partition information in case of a PC partition.
53526 * util/i386/pc/grub-setup.c: Include `#include
53527 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53528 `<grub/machine/partition.h>'.
53529 (setup): Only access the PC specific partition information in case
53530 of a PC partition.
53531
0ef4ced9 535322004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 53533
0ef4ced9 53534 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
53535 (grub_longjmp): Likewise.
53536 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
53537 20.
53538 * normal/powerpc/setjmp.S: New file.
53539 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53540 `normal/powerpc/setjmp.S'.
53541 (grubof_CFLAGS): Add `-DGRUBOF'.
53542 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
53543 [GRUB_UTIL && !GRUBOF].
f19dbdb7 53544
19950e29 535452004-11-16 Marco Gerards <metgerards@student.han.nl>
53546
53547 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
53548 property named `name'. Correctly handle the error returned by
53549 `grub_ieee1275_finddevice' if a device can not be opened.
53550
a2fea427 535512004-11-02 Hollis Blanchard <hollis@penguinppc.org>
53552
53553 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
53554 `actual' for negativity.
53555 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53556 kern/fshelp.c.
53557
41ea0ea3 535582004-11-01 Marco Gerards <metgerards@student.han.nl>
53559
53560 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
53561 (PAGE_OFFSET): New macro.
53562 (CRTC_ADDR_PORT): Likewise.
53563 (CRTC_DATA_PORT): Likewise.
53564 (START_ADDR_HIGH_REGISTER): Likewise.
53565 (START_ADDR_LOW_REGISTER): Likewise.
53566 (GRAPHICS_ADDR_PORT): Likewise.
53567 (GRAPHICS_DATA_PORT): Likewise.
53568 (READ_MAP_REGISTER): Likewise.
53569 (INPUT_STATUS1_REGISTER): Likewise.
53570 (INPUT_STATUS1_VERTR_BIT): Likewise.
53571 (page): New variable.
53572 (wait_vretrace): New function.
53573 (set_read_map): Likewise.
53574 (set_start_address): Likewise.
53575 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
53576 the right page.
53577 (check_vga_mem): Take the page into account.
53578 (write_char): Likewise.
53579 (write_cursor): Likewise.
53580 (scroll_up): Likewise. Copy the page to the page that is not
53581 shown and switch between both pages.
53582 (grub_vga_putchar): Fix off by one error.
53583 (grub_vga_cls): Wait for the vertical retrace. Take the page into
53584 account.
53585
ad0bd20b 535862004-11-01 Marco Gerards <metgerards@student.han.nl>
53587
53588 Add support for iso9660 (including rockridge).
f19dbdb7 53589
ad0bd20b 53590 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53591 (iso9660_mod_SOURCES): New variable.
53592 (iso9660_mod_CFLAGS): Likewise.
53593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53594 * include/grub/fs.h (grub_iso9660_init): New prototype.
53595 * util/grub-emu.c (main): Call `grub_iso9660_init'.
53596 * fs/iso9660.c: New file.
53597
53598 * include/grub/misc.h (grub_strncat): New prototype.
53599 * kern/misc.c (grub_strncat): New function.
f19dbdb7 53600
ad0bd20b 53601 * fs/hfs.c (grub_hfs_mount): Translate the error
53602 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
53603 * fs/jfs.c (grub_jfs_mount): Likewise.
53604 * fs/ufs.c (grub_ufs_mount): Likewise.
53605
a5477a59 536062004-10-28 Hollis Blanchard <hollis@penguinppc.org>
53607
53608 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
53609 which initialized BAT registers.
53610 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
53611 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53612 Move from here...
53613 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
53614 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53615 ... to here.
53616 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
53617 (grub_mapclaim): Likewise.
53618 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
53619 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
53620 hand.
53621
9304c1f8 536222004-10-19 Hollis Blanchard <hollis@penguinppc.org>
53623
53624 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
53625 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
53626 -ffreestanding and -msoft-float.
53627
86f4ae25 536282004-10-15 Hollis Blanchard <hollis@penguinppc.org>
53629
53630 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
53631 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
53632 set in grub_ieee1275_flags.
53633
38912228 536342004-10-14 Hollis Blanchard <hollis@penguinppc.org>
53635
53636 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
53637 prototype.
53638 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
53639 grub_console_init first.
53640 Change the memory range used for grub_ieee1275_claim and
53641 grub_mm_init_region.
53642 Print an error message if the claim fails.
53643 Include <grub/misc.h>.
53644
d1923dc8 536452004-10-13 Hollis Blanchard <hollis@penguinppc.org>
53646
53647 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
53648 Call grub_children_iterate for device nodes of type `scsi',
53649 `ide', or `ata'.
53650 (grub_ofdisk_open): Remove manual device alias resolution.
53651 Fix memory leak when device cannot be opened.
f19dbdb7 53652 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 53653 (grub_children_iterate): New prototype.
53654 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
53655 New function.
53656 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53657 Return -1 if args.size was -1.
53658
4512e4f3 536592004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53660
53661 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
53662 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
53663 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
53664 Open Firmware's memory for it; claim memory from _start to _end.
53665 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
53666 (_end): New extern.
53667 (_start): Zero BSS from __bss_start to _end.
53668 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53669 New extern.
53670 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
53671
4d61feb0 536722004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53673
ad0bd20b 53674 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
53675 -1 if args.base was -1.
4d61feb0 53676
026fa2f9 536772004-10-08 Hollis Blanchard <hollis@penguinppc.org>
53678
53679 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
53680 escape sequence instead of a literal ^L. Also call
53681 grub_ofconsole_gotoxy.
53682
9f2220ef 536832004-10-03 Hollis Blanchard <hollis@penguinppc.org>
53684
53685 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
53686 void * arguments to grub_addr_t. All callers updated. Also make
53687 the `result' argument optional.
53688 (grub_ieee1275_release): change void * arguments to grub_addr_t.
53689 All callers updated.
53690
8a572cd7 536912004-09-22 Hollis Blanchard <hollis@penguinppc.org>
53692
53693 * commands/ls.c (grub_ls_list_files): Use the string following the
53694 initial ')', if present, as the filesystem path.
53695 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
53696
53697 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
53698
18aa81f2 536992004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
53700
53701 Make the source code of the menu interface more readable.
f19dbdb7 53702
18aa81f2 53703 * normal/menu.c: Include grub/mm.h.
53704 (TERM_WIDTH): New macro.
53705 (TERM_HEIGHT): Likewise.
53706 (TERM_INFO_HEIGHT): Likewise.
53707 (TERM_MARGIN): Likewise.
53708 (TERM_SCROLL_WIDTH): Likewise.
53709 (TERM_TOP_BORDER_Y): Likewise.
53710 (TERM_LEFT_BORDER_X): Likewise.
53711 (TERM_BORDER_WIDTH): Likewise.
53712 (TERM_MESSAGE_HEIGHT): Likewise.
53713 (TERM_BORDER_HEIGHT): Likewise.
53714 (TERM_NUM_ENTRIES): Likewise.
53715 (TERM_FIRST_ENTRY_Y): Likewise.
53716 (TERM_ENTRY_WIDTH): Likewise.
53717 (TERM_CURSOR_X): Likewise.
53718 (draw_border): Use macros instead of magic numbers.
53719 (print_entry): Likewise.
53720 (print_entries): Likewise.
53721 (run_menu): Likewise. Also, handle the key 'e'.
53722 (run_menu_entry): Ignore empty command lines.
53723 (print_message): Added a new argument EDIT. If EDIT is true,
53724 print a different message.
53725 (init_page): Likewise.
53726 (edit_menu_entry): New function. Not implemented yet.
53727
b47efe30 537282004-09-17 Marco Gerards <metgerards@student.han.nl>
53729
53730 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
53731 can be loaded from normal mode.
f19dbdb7 53732
b47efe30 53733 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
53734 `multiboot.mod'.
53735 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
53736 (multiboot_mod_CFLAGS): New variables.
53737 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 53738 * loader/i386/pc/multiboot_normal.c: Likewise.
53739
b47efe30 53740 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
53741 attribute `unused'.
f19dbdb7 53742
b47efe30 53743 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
53744 `fdiro' to read the mode information from instead of `diro'.
53745
53746 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
53747 looking up a symlink.
53748
53749 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
53750 macro.
53751 * normal/command.c (grub_command_execute): Don't parse the
53752 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
53753 flags of the command.
53754
53755 * normal/menu.c (grub_menu_run): Fix typo.
53756
da75ac71 537572004-09-14 Hollis Blanchard <hollis@penguinppc.org>
53758
53759 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
53760
53761 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
53762 `y + 1' instead of `y - 1'.
53763
53764 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 53765
062b24c2 537662004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
53767
53768 From Hollis Blanchard <hollis@penguinppc.org>:
53769 * kern/misc.c (memmove): New alias for grub_memmove.
53770 (memcmp): New alias for grub_memcmp.
53771 (memset): New alias for grub_memset.
f19dbdb7 53772 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 53773 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 53774 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 53775 (grub_ieee1275_get_property): Likewise.
f19dbdb7 53776
8ddad845 537772004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
53778
53779 Added normal mode command `chainloader' as module chain.mod, which
53780 depends on normal.mod and _chain.mod.
f19dbdb7 53781
8ddad845 53782 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
53783 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
53784 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
53785 Deleted prototype.
53786 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
53787 but arguments parsing moved to ...
53788 (grub_chainloader_cmd): ... here. New function.
53789 * include/grub/i386/pc/chainloader.h: New file.
53790 * loader/i386/pc/chainloader_normal.c: Likewise.
53791
2c1f4ce3 537922004-09-11 Marco Gerards <metgerards@student.han.nl>
53793
53794 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
53795 (grub_mkimage_LDFLAGS): Likewise.
53796 (grub_emu_SOURCES): Likewise.
53797 (kernel_img_HEADERS): Added fshelp.h.
53798 * fs/ext2.c: Include <grub/fshelp.h>.
53799 (FILETYPE_REG): New macro.
53800 (FILETYPE_INO_REG): Likewise.
53801 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
53802 Changed all users.
53803 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
53804 all users.
53805 (grub_fshelp_node): New struct.
53806 (grub_ext2_data): Added member `diropen'. Changed member `inode'
53807 to a pointer.
53808 (grub_ext2_get_file_block): Removed function.
53809 (grub_ext2_read_block): New function.
53810 (grub_ext2_read_file): Replaced parameter `data' by `node'.
53811 This function was written.
53812 (grub_ext2_mount): Read the root inode. Create a diropen struct.
53813 (grub_ext2_find_file): Removed function.
53814 (grub_ext2_read_symlink): New function.
53815 (grub_ext2_iterate_dir): Likewise.
53816 (grub_ext2_open): Rewritten.
53817 (grub_ext2_dir): Rewritten.
53818 * include/grub/fshelp.h: New file.
53819 * fs/fshelp.c: Likewise.
53820
3c52136a 538212004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
53822
53823 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
53824 (print_message): Add a missing newline.
53825 (run_menu): Added timeout support.
53826 (run_menu_entry): New local function.
53827 (grub_menu_run): Added support for booting.
53828
53829 * kern/loader.c (grub_loader_is_loaded): New function.
53830
53831 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
53832 (grub_get_rtc): Exported.
53833
53834 * include/grub/i386/pc/time.h: Include grub/symbol.h.
53835 (grub_get_rtc): Exported.
53836
53837 * include/grub/normal.h (struct grub_command_list): Remove
53838 constant from the member `command'.
53839
53840 * include/grub/loader.h (grub_loader_is_loaded): Declared.
53841
53842 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
53843
53844 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
53845
aa033560 538462004-08-28 Marco Gerards <metgerards@student.han.nl>
53847
53848 Add support for the JFS filesystem.
53849
53850 * fs/jfs.c: New file.
53851 * include/grub/fs.h (grub_jfs_init): New prototype.
53852 (grub_jfs_fini): New prototype.
53853 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
53854 (grub_emu_SOURCES): Likewise.
53855 (pkgdata_MODULES): Add jfs.mod.
53856 (jfs_mod_SOURCES): New variable.
53857 (jfs_mod_CFLAGS): Likewise.
53858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
53859 (grubof_SOURCES): Likewise.
53860 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
53861
53862 * fs/fat.c (grub_fat_find_dir): Convert the filename little
53863 endian to the host endian.
53864 (grub_fat_utf16_to_utf8): Move function from there...
53865 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 53866 the endianness of the source string anymore.
aa033560 53867 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
53868
94bc45af 538692004-08-24 Marco Gerards <metgerards@student.han.nl>
53870
53871 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
53872 (grub_boot_fini) [GRUB_UTIL]: Likewise.
53873 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
53874 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 53875
94bc45af 53876 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
53877 (grub_hfs_iterate_dir): Make the function static. Add prototypes
53878 for `node_found' and `it_dir'.
53879 (grub_hfs_dir): Add prototype for `dir_hook'.
53880
53881 * fs/minix.c (grub_minix_get_file_block): Add prototype for
53882 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
53883 and `indir32' to silence a gcc warning.
53884
53885 * include/grub/fs.h (grub_hfs_init): New prototype.
53886 (grub_hfs_fini): Likewise.
f19dbdb7 53887
53888
97543f08 538892004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
53890
53891 Each disk device has its own id now. This is useful to make use
53892 of multiple disk devices.
f19dbdb7 53893
97543f08 53894 * include/grub/disk.h (grub_disk_dev_id): New enum.
53895 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
53896 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
53897
53898 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
53899 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53900
53901 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
53902 GRUB_DISK_DEVICE_OFDISK_ID as an id.
53903
53904 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
53905 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53906
53907 * include/grub/disk.h (struct grub_disk_dev): Added a new member
53908 "id" which is used by the cache manager.
53909
53910 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
53911 of just "GRUB".
53912
64372eb4 539132004-08-18 Marco Gerards <metgerards@student.han.nl>
53914
53915 * fs/hfs.c: New file.
53916 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
53917 (grub_emu_SOURCES): Likewise.
53918 (pkgdata_MODULES): Add hfs.mod.
53919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
53920 (grubof_SOURCES): Likewise.
53921 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
53922
53923 * include/grub/misc.h (grub_strncasecmp): Add prototype.
53924 * kern/misc.c (grub_strncasecmp): Add function.
53925
cc61b58f 539262004-08-14 Marco Gerards <metgerards@student.han.nl>
53927
53928 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
53929 with parentheses.
53930
53931 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
53932 (grub_ext2_dir): In case the directory entry type is unknown, read
53933 it from the inode.
53934
0ef123f6 539352004-08-02 Peter Bruin <pjbruin@dds.nl>
53936
53937 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
53938 grub_load_linux instead of grub_rescue_cmd_linux as second
53939 argument of grub_rescue_register_command.
53940
53941 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
53942
a447c5df 539432004-07-27 Marco Gerards <metgerards@student.han.nl>
53944
53945 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
53946 function.
53947 * commands/boot.c: Remove the check for `GRUB_UTIL'.
53948 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53949 `loader/powerpc/ieee1275/linux.c',
53950 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
53951 * include/grub/powerpc/ieee1275/ieee1275.h
53952 (grub_ieee1275_release): New prototype.
53953 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
53954 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
53955 normal, boot, linux and linux_normal.
53956 * loader/powerpc/ieee1275/linux.c: New file.
53957 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
53958
5a9e3546 539592004-07-12 Marco Gerards <metgerards@student.han.nl>
53960
53961 * normal/arg.c (grub_arg_parse): Correct error handling after
53962 reallocating the argumentlist (check if `argl' is not null instead
53963 of checking if `args' is not null).
53964 * kern/mm.c (grub_realloc): Return the same pointer when using the
53965 same region, instead of returning the header address.
53966
e15199cb 539672004-07-11 Marco Gerards <metgerards@student.han.nl>
53968
53969 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
53970 one block instead of two when looking for the initial partition.
53971 (grub_partition_probe): Initialize the local variable `p' with 0.
53972 Use base 10 for the grub_strtoul call.
53973 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
53974 need for one local variable.
53975 (grub_strtoul): Don't add the new value to `num', instead of that
53976 just assign it.
53977
020616c2 539782004-07-11 Marco Gerards <metgerards@student.han.nl>
53979
53980 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
53981 (pxeboot_img_SOURCES): New variable.
53982 (pxeboot_img_ASFLAGS): Likewise.
53983 (pxeboot_img_LDFLAGS): Likewise.
53984 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
53985 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
53986 <lode_leroy@hotmail.com>.
53987
6c51eb64 539882004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53989
53990 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
53991 there was no input.
53992
cfb12aff 539932004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53994
53995 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
53996 the history buffer logic.
53997
6eabba74 539982004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53999
54000 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
54001 (FILETYPE_INO_SYMLINK): New macros.
54002 (grub_ext2_find_file): Check if the node is a directory using the
54003 inode stat information instead of using the filetype in the
54004 dirent. Exclude the first character of an absolute symlink.
54005 (grub_ext2_dir): Mask out the filetype part of the mode member of
54006 the inode.
54007
66e19ef8 540082004-05-24 Marco Gerards <metgerards@student.han.nl>
54009
54010 Add support for UFS version 1 and 2. Add support for the minix
54011 filesystem version 1 and 2, both the variants with 14 and 30 long
54012 filenames.
f19dbdb7 54013
66e19ef8 54014 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
54015 fs/minix.c.
54016 (grub_emu_SOURCES): Likewise.
54017 (pkgdata_MODULES): Add ufs.mod and minix.mod.
54018 (ufs_mod_SOURCES): New variable.
54019 (ufs_mod_CFLAGS): Likewise.
54020 (minix_mod_SOURCES): Likewise.
54021 (minix_mod_CFLAGS): Likewise.
54022 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
54023 fs/minix.c.
54024 (grubof_SOURCES): Likewise.
54025 * fs/ufs.c: New file.
54026 * fs/minix.c: New file.
54027 * include/grub/fs.h (grub_ufs_init): New prototype.
54028 (grub_ufs_fini): Likewise.
54029 (grub_minix_init): Likewise.
54030 (grub_minix_fini): Likewise.
54031 * util/grub-emu.c (main): Initialize and deinitialize UFS and
54032 minix fs.
54033
cc2e748a 540342004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
54035
54036 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
54037 commands/ls.c, commands/terminal.c, commands/boot.c,
54038 commands/cmp.c and commands/cat.c.
54039 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
54040
54041 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
54042 "env.h"
54043
4b13b216 540442004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54045
54046 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
54047 and grub_, respectively. Because the conversion is trivial and
54048 mechanical, I omit the details here. Please refer to the CVS
54049 if you need more information.
54050
6a142551 540512004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54052
54053 * include/pupa: Renamed to ...
54054 * include/grub: ... this.
54055 * util/i386/pc/pupa-mkimage.c: Renamed to ...
54056 * util/i386/pc/grub-mkimage.c: ... this.
54057 * util/i386/pc/pupa-setup.c: Renamed to ...
54058 * util/i386/pc/grub-setup.c: ... this.
54059 * util/pupa-emu.c: Renamed to ...
54060 * util/grub-emu.c: ... this.
54061
e56cdf21 540622004-03-29 Marco Gerards <metgerards@student.han.nl>
54063
54064 Add support for the newworld apple macintosh (PPC). This has been
54065 tested on the powerbook 2000 only. It only adds support for
54066 generic ieee1275 functions, console and disk support. This should
54067 be easy to port to other architectures with support for Open
54068 Firmware.
f19dbdb7 54069
e56cdf21 54070 * configure.ac: Accept the powerpc as host_cpu. In the case of
54071 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
54072 specific tests are only executed while building for the i386.
54073 Inverse test for crosscompile.
54074 * genmk.rb (Utility): Allow assembler files.
54075 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
54076 * conf/powerpc-ieee1275.rmk: New file.
54077 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
54078 * disk/powerpc/ieee1275/partition.c: Likewise.
54079 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
54080 * include/pupa/powerpc/ieee1275/console.h: Likewise.
54081 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
54082 * include/pupa/powerpc/ieee1275/time.h: Likewise.
54083 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
54084 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
54085 * include/pupa/powerpc/ieee1275/loader.h
54086 * include/pupa/powerpc/setjmp.h: Likewise.
54087 * include/pupa/powerpc/types.h: Likewise.
54088 * kern/powerpc/ieee1275/init.c: Likewise.
54089 * kern/powerpc/ieee1275/openfw.c: Likewise.
54090 * term/powerpc/ieee1275/ofconsole.c: Likewise.
54091
54092 These files were written by Johan Rydberg
54093 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 54094
e56cdf21 54095 * boot/powerpc/ieee1275/cmain.c: New file.
54096 * boot/powerpc/ieee1275/crt0.S: Likewise.
54097 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
54098 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
54099
8c8cc205 541002004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
54101
54102 * Makefile.in: Update copyright.
54103 * genmodsrc.sh: Likewise.
54104 * gensymlist.sh: Likewise.
54105 * term/i386/pc/vga.c: Indent correctly.
54106
54107 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
54108 bugreporting address.
54109 * util/i386/pc/pupa-setup.c (usage): Likewise,
54110 (main): Call pupa_ext2_init and pupa_ext2_fini.
54111
f19dbdb7 54112 * fs/fat.c (log2): Renamed to ...
8c8cc205 54113 (fat_log2): ... this.
54114 All callers changed.
54115 * kern/misc.c (memcpy): Alias to pupa_memmove.
54116 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
54117 lvalue cast.
54118 * util/console.c (pupa_ncurses_fini): Return 0.
54119
54120 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
54121 Move fail label here.
54122 [__GNU__]: Don't warn when using stat.
54123 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
54124 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
54125 long int. Use strtol instead of strtoul.
f19dbdb7 54126
db1771cf 541272004-03-14 Marco Gerards <metgerards@student.han.nl>
54128
54129 * commands/boot.c: New file.
54130 * commands/cat.c: Likewise.
54131 * commands/cmp.c: Likewise.
54132 * commands/ls.c: Likewise.
54133 * commands/terminal.c: Likewise.
54134 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
54135 (pupa_register_command): Changed interface to match the new
54136 argument parser.
54137 (pupa_command_execute): Changed (almost rewritten) so it uses
54138 pupa_split_command. Added support for setting variables using the
54139 syntax `foo=bar'.
54140 (rescue_command): Changed to work with the new argument parser.
54141 (terminal_command): Moved from here to commands/terminal.c.
54142 (set_command): New function.
54143 (unset_command): New function.
54144 (insmod_command): New function.
54145 (rmmod_command): New function.
54146 (lsmod_command): New function.
54147 (pupa_command_init): Don't initialize the command terminal
54148 anymore. Initialize the commands set, unset, insmod, rmmod and
54149 lsmod.
54150 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
54151 (kernel_img_HEADERS): Add arg.h and env.h.
54152 (pupa_mkimage_LDFLAGS): Add kern/env.c.
54153 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
54154 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
54155 normal/arg.c.
54156 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
54157 terminal.mod.
54158 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
54159 (boot_mod_SOURCES): New variable.
54160 (terminal_mod_SOURCES): Likewise.
54161 (ls_mod_SOURCES): Likewise.
54162 (cmp_mod_SOURCES): Likewise.
54163 (cat_mod_SOURCES): Likewise.
54164
54165 * normal/arg.c: New file.
54166 * kern/env.c: Likewise.
54167 * include/pupa/arg.h: Likewise.
54168 * include/pupa/env.h: Likewise.
54169 * font/manager.c (font_command): Changed to match argument parsing
54170 interface changes.
54171 (PUPA_MOD_INIT): Likewise.
54172 * hello/hello.c (pupa_cmd_hello): Likewise.
54173 (PUPA_MOD_INIT): Likewise.
54174 * include/pupa/disk.h: Include <pupa/device.h>.
54175 (pupa_print_partinfo): New prototype.
54176 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
54177 (pupa_dl_get_prefix): Likewise.
54178 * include/pupa/misc.h: Include <pupa/err.h>.
54179 (pupa_isgraph): New prototype.
54180 (pupa_isdigit): Likewise.
54181 (pupa_split_cmdline): Likewise.
54182 * include/pupa/normal.h: Include <pupa/arg.h>.
54183 (pupa_command): Changed the prototype of the member `func' to
54184 match the argument parsing interface. Added member `options'.
54185 (pupa_register_command): Updated to match function.
54186 (pupa_arg_parse): New prototype.
54187 (pupa_hello_init) [PUPA_UTIL]: New prototype.
54188 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
54189 (pupa_ls_init) [PUPA_UTIL]: Likewise.
54190 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
54191 (pupa_cat_init) [PUPA_UTIL]: Likewise.
54192 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
54193 (pupa_boot_init) [PUPA_UTIL]: Likewise.
54194 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
54195 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
54196 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
54197 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
54198 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
54199 * kern/disk.c: Include <pupa/file.h>.
54200 (pupa_print_partinfo): New function.
54201 * kern/dl.c: Include <pupa/env.h>.
54202 (pupa_dl_dir): Variable removed.
54203 (pupa_dl_load): Use the environment variable `prefix' instead of
54204 the variable pupa_dl_dir.
54205 (pupa_dl_set_prefix): Function removed.
54206 (pupa_dl_get_prefix): Likewise.
54207 * kern/i386/pc/init.c: Include <pupa/env.h>.
54208 (pupa_machine_init): Use the environment variable `prefix' instead of
54209 using pupa_dl_set_prefix to set the prefix.
54210 * kern/main.c: Include <pupa/env.h>.
54211 (pupa_set_root_dev): Use the environment variable `prefix' instead of
54212 using pupa_dl_get_prefix to get the prefix.
54213 * kern/misc.c: Include <pupa/env.h>.
54214 (pupa_isdigit): New function.
54215 (pupa_isgraph): Likewise.
54216 (pupa_ftoa): Likewise.
54217 (pupa_vsprintf): Added support for printing values of the type
54218 `double'. Make it possible to format variable output when using
54219 formatting like `%1.2%f'.
54220 (pupa_split_cmdline): New function.
54221 * kern/rescue.c: Include <pupa/env.h>.
54222 (next_word): Removed function.
54223 (pupa_rescue_cmd_prefix): Likewise.
54224 (pupa_rescue_cmd_set): New function.
54225 (pupa_rescue_cmd_unset): New function.
54226 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
54227 split the command line instead of splitting it here. Added
54228 support for setting variables using the syntax `foo=bar'. Don't
54229 initialize the prefix command anymore. Initialized the set and
54230 unset commands.
54231 * normal/cmdline.c: Include <pupa/env.h>.
54232 (pupa_tab_complete): Added prototypes for print_simple_completion,
54233 print_partition_completion, add_completion, iterate_commands,
54234 iterate_dev, iterate_part and iterate_dir. Moved code to print
54235 partition information from here to kern/disk.c.
fe6b695a 54236 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 54237 * normal/main.c: Include <pupa/env.h>.
54238 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
54239 instead of using pupa_dl_get_prefix to get the prefix.
54240 * term/i386/pc/vga.c: Include <pupa/arg.h>.
54241 (check_vga_mem): Cast pointers to `void *' to silence a gcc
54242 warning.
54243 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
54244 (pupa_vga_setcolor): Declare unused variables with `__attribute__
54245 ((unused))' to silence a gcc warning.
54246 (pupa_vga_setcolor): Likewise.
54247 (debug_command): Changed to match argument parsing
54248 interface changes.
54249 * util/pupa-emu.c: Include <pupa/env.h>.
54250 (options): Added 0's for unused fields to silence a gcc warning.
54251 (argp): Likewise.
54252 (main): Use the environment variable `prefix' instead of using
54253 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
54254 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
54255 and terminal.
54256
54257 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
54258 * util/misc.c: Include <malloc.h>.
54259 (pupa_malloc): Rewritten so errors are correctly reported.
54260 (pupa_realloc): Likewise.
54261 (pupa_memalign): Likewise.
54262 (pupa_mm_init_region): Declare unused variables with
54263 `__attribute__ ((unused))' to silence a gcc warning.
54264 * normal/i386/setjmp.S: Remove tab at the end of the file to
54265 silence a gcc warning.
54266 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
54267 variables with `__attribute__ ((unused))' to silence a gcc
54268 warning.
54269 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
54270 local variable i unsigned to silence a gcc warning.
54271
54272 * kern/term.c: Include <pupa/misc.h>.
54273 (pupa_more_lines): New variable.
54274 (pupa_more): Likewise.
54275 (pupa_putcode): When the pager is active pause at the end of every
54276 screen.
54277 (pupa_set_more): New function.
54278 * include/pupa/term.h (pupa_set_more): New prototype.
54279
54280
3b1139cb 542812004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
54282
54283 Now this project is GRUB 2 rather than PUPA. The location of
54284 the CVS repository was moved to GRUB's.
f19dbdb7 54285
3b1139cb 54286 * configure.ac: Use bug-grub as the reporting address.
54287 Use GRUB instead of PUPA.
54288 Change the version number to 1.90.
54289
8367695c 542902004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
54291
54292 * genkernsyms.sh: Updated copyright information.
54293 * genmk.rb: Likewise.
54294 * genmodsrc.sh: Likewise.
54295 * gensymlist.sh: Likewise.
54296 * boot/i386/pc/boot.S: Likewise.
54297 * boot/i386/pc/diskboot.S: Likewise.
54298 * disk/i386/pc/biosdisk.c: Likewise.
54299 * disk/i386/pc/partition.c: Likewise.
54300 * font/manager.c: Likewise.
54301 * fs/ext2.c: Likewise.
54302 * fs/fat.c: Likewise.
54303 * include/pupa/boot.h: Likewise.
54304 * include/pupa/device.h: Likewise.
54305 * include/pupa/disk.h: Likewise.
54306 * include/pupa/dl.h: Likewise.
54307 * include/pupa/elf.h: Likewise.
54308 * include/pupa/err.h: Likewise.
54309 * include/pupa/file.h: Likewise.
54310 * include/pupa/font.h: Likewise.
54311 * include/pupa/fs.h: Likewise.
54312 * include/pupa/kernel.h: Likewise.
54313 * include/pupa/loader.h: Likewise.
54314 * include/pupa/misc.h: Likewise.
54315 * include/pupa/mm.h: Likewise.
54316 * include/pupa/net.h: Likewise.
54317 * include/pupa/normal.h: Likewise.
54318 * include/pupa/rescue.h: Likewise.
54319 * include/pupa/setjmp.h: Likewise.
54320 * include/pupa/symbol.h: Likewise.
54321 * include/pupa/term.h: Likewise.
54322 * include/pupa/types.h: Likewise.
54323 * include/pupa/i386/setjmp.h: Likewise.
54324 * include/pupa/i386/types.h: Likewise.
54325 * include/pupa/i386/pc/biosdisk.h: Likewise.
54326 * include/pupa/i386/pc/boot.h: Likewise.
54327 * include/pupa/i386/pc/console.h: Likewise.
54328 * include/pupa/i386/pc/init.h: Likewise.
54329 * include/pupa/i386/pc/kernel.h: Likewise.
54330 * include/pupa/i386/pc/linux.h: Likewise.
54331 * include/pupa/i386/pc/loader.h: Likewise.
54332 * include/pupa/i386/pc/memory.h: Likewise.
54333 * include/pupa/i386/pc/multiboot.h: Likewise.
54334 * include/pupa/i386/pc/partition.h: Likewise.
54335 * include/pupa/i386/pc/time.h: Likewise.
54336 * include/pupa/i386/pc/vga.h: Likewise.
54337 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
54338 * include/pupa/util/getroot.h: Likewise.
54339 * include/pupa/util/misc.h: Likewise.
54340 * include/pupa/util/resolve.h: Likewise.
54341 * kern/device.c: Likewise.
54342 * kern/disk.c: Likewise.
54343 * kern/dl.c: Likewise.
54344 * kern/err.c: Likewise.
54345 * kern/file.c: Likewise.
54346 * kern/fs.c: Likewise.
54347 * kern/loader.c: Likewise.
54348 * kern/main.c: Likewise.
54349 * kern/misc.c: Likewise.
54350 * kern/mm.c: Likewise.
54351 * kern/rescue.c: Likewise.
54352 * kern/term.c: Likewise.
54353 * kern/i386/dl.c: Likewise.
54354 * kern/i386/pc/init.c: Likewise.
54355 * kern/i386/pc/lzo1x.S: Likewise.
54356 * kern/i386/pc/startup.S: Likewise.
54357 * loader/i386/pc/chainloader.c: Likewise.
54358 * loader/i386/pc/linux.c: Likewise.
54359 * loader/i386/pc/multiboot.c: Likewise.
54360 * normal/cmdline.c: Likewise.
54361 * normal/command.c: Likewise.
54362 * normal/main.c: Likewise.
54363 * normal/menu.c: Likewise.
54364 * normal/i386/setjmp.S: Likewise.
54365 * term/i386/pc/console.c: Likewise.
54366 * term/i386/pc/vga.c: Likewise.
54367 * util/console.c: Likewise.
54368 * util/genmoddep.c: Likewise.
54369 * util/misc.c: Likewise.
54370 * util/pupa-emu.c: Likewise.
54371 * util/resolve.c: Likewise.
54372 * util/unifont2pff.rb: Likewise.
54373 * util/i386/pc/biosdisk.c: Likewise.
54374 * util/i386/pc/getroot.c: Likewise.
54375 * util/i386/pc/pupa-mkimage.c: Likewise.
54376 * util/i386/pc/pupa-setup.c: Likewise.
54377
e6eced71 543782004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
54379
54380 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
54381 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
54382 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
54383 reading and reset it after reading.
54384 (pupa_ext2_close): Return PUPA_ERR_NONE.
54385
54386 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
54387 Correct value.
54388 (struct linux_kernel_header): Add kernel_version and
54389 initrd_addr_max.
54390 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
54391 pupa_file_read succeeds.
54392 (pupa_rescue_cmd_initrd): Implement.
54393
5aded270 543942003-12-03 Marco Gerards <metgerards@student.han.nl>
54395
54396 * fs/ext2.c (pupa_ext2_label): New function.
54397 (pupa_ext2_fs): Added label.
54398 * fs/fat.c (pupa_fat_label): New function.
54399 (pupa_fat_fs): Added label.
54400 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
54401
54402 * kern/misc.c (pupa_strndup): New function.
54403 * include/pupa/misc.h (pupa_strndup): New prototype.
54404
54405 * include/pupa/normal.h: Include <pupa/err.h>.
54406 (pupa_set_history): New prototype.
54407 (pupa_iterate_commands): New prototype.
54408 * normal/cmdline.c: Include <pupa/machine/partition.h>,
54409 <pupa/disk.h>, <pupa/file.h>.
54410 (hist_size): New variable.
54411 (hist_lines): Likewise.
54412 (hist_end): Likewise.
54413 (hist_used): Likewise.
54414 (pupa_set_history): New function.
54415 (pupa_history_get): Likewise.
54416 (pupa_history_add): Likewise.
54417 (pupa_history_replace): Likewise.
54418 (pupa_tab_complete): Likewise.
54419 (pupa_cmdline_run): Added tab completion and history buffer. Tab
54420 completion shows partitionnames while completing partitions, this
54421 feature was suggested by Jeff Bailey.
54422 * normal/command.c (pupa_iterate_commands): New function.
54423 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
54424 (pupa_normal_init): Initialize history buffer.
54425 (PUPA_MOD_INIT): Likewise.
54426 (pupa_normal_fini): Free the history buffer.
54427 (PUPA_MOD_FINI): Likewise.
54428
54429 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
54430 key.
54431
54432 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
54433 * configure.ac [i386]: Check for regparam bug.
54434 (NESTED_FUNC_ATTR) [! i386]: Defined.
54435
1f7315a3 544362003-11-17 Marco Gerards <metgerards@student.han.nl>
54437
54438 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
54439 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
54440 (pupa_emu_SOURCES): New variable.
54441 (pupa_emu_LDFLAGS): Likewise.
54442 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
54443 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
54444 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
54445 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54446 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
54447 (pupa_jmp_buf): New typedef.
54448 (pupa_setjmp) [PUPA_UTIL]: New macro.
54449 (pupa_longjmp) [PUPA_UTIL]: Likewise.
54450 * include/pupa/term.h (struct pupa_term): New member `refresh'.
54451 (pupa_refresh): New prototype.
54452 * include/pupa/util/getroot.h: New file.
54453 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
54454 it.
54455 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
54456 (pupa_rescue_cmd_cat): Likewise.
54457 (pupa_rescue_cmd_ls): Likewise.
54458 (pupa_rescue_cmd_testload): Likewise.
54459 (pupa_rescue_cmd_lsmod): Likewise.
54460 * normal/cmdline.c (pupa_cmdline_get): Likewise.
54461 * normal/menu.c (run_menu): Likewise.
54462 * kern/term.c (pupa_cls): Likewise.
54463 (pupa_refresh): New function.
54464 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
54465 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54466 * util/console.c: New file.
f19dbdb7 54467
1f7315a3 54468 * util/i386/pc/getroot.c: New file.
54469 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
54470 (pupa_putchar): New function.
54471 (pupa_refresh): Likewise.
54472 (xgetcwd): Function moved to ...
54473 (strip_extra_slashes): Likewise.
54474 (get_prefix): Likewise.
f19dbdb7 54475 * util/i386/pc/getroot.c: ... here.
1f7315a3 54476 (find_root_device): Function moved and renamed to...
54477 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
54478 Changed all callers.
54479 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
54480 and renamed to...
54481 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
54482 Changed all callers.
54483 * util/misc.c (pupa_memalign): New function.
54484 (pupa_mm_init_region): Likewise.
54485 (pupa_register_exported_symbols): Likewise.
54486 (pupa_putchar): Function removed.
54487 * util/pupa-emu.c: New file.
54488
9a5c1ade 544892003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
54490
54491 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
54492 (_multiboot_mod_SOURCES): New variable.
54493 (_multiboot_mod_CFLAGS): Likewise.
54494 * loader/i386/pc/multiboot.c: New file.
54495 * include/pupa/i386/pc/multiboot.h: Likewise.
54496 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
54497 (pupa_multiboot_real_boot): New function.
54498 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
54499 (pupa_multiboot_real_boot): New prototype.
54500 (pupa_rescue_cmd_multiboot): Likewise
54501 (pupa_rescue_cmd_module): Likewise.
54502
54503 * kern/loader.c (pupa_loader_set): Continue when
54504 pupa_loader_unload_func() fails.
54505 (pupa_loader_unset): New function.
54506 * include/pupa/loader.h (pupa_loader_unset): New prototype.
54507
54508 * kern/misc.c (pupa_stpcpy): New function.
54509 * include/pupa/misc.h (pupa_stpcpy): New prototype.
54510
8e72a9c0 545112003-11-12 Marco Gerards <metgerards@student.han.nl>
54512
54513 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
54514 for available extensions.
54515
54516 * include/pupa/i386/pc/time.h: New file.
54517 * kern/disk.c: Include <pupa/machine/time.h>.
54518 (PUPA_CACHE_TIMEOUT): New macro.
54519 (pupa_last_time): New variable.
54520 (pupa_disk_open): Flush the cache when there was a timeout.
54521 (pupa_disk_close): Reset the timer.
54522 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
54523 pupa_currticks.
54524 * util/misc.c: Include <sys/times.h>
54525 (pupa_get_rtc): New function.
54526
c4adbd32 545272003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
54528
54529 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
54530 as blocks.
54531 (pupa_ext2_get_file_block): Use blocks member.
54532
54533 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
54534 first block. Return -1 instead of pupa_errno on error.
54535
bfd30f06 545362003-10-27 Marco Gerards <metgerards@student.han.nl>
54537
54538 * README: In the pupa-mkimage example use _chain instead of chain
54539 and ext2 instead of fat.
54540 * TODO: Replace ext2fs with jfs as an example. Add an item for
54541 adding journal playback for ext2fs.
54542 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
54543 (pkgdata_MODULES): Added ext2.mod.
54544 (ext2_mod_SOURCES): New variable.
54545 (ext2_mod_CFLAGS): Likewise.
54546 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
54547 * include/pupa/misc.h (pupa_strncpy): New prototype.
54548 (pupa_strcat): Likewise.
54549 (pupa_strncmp): Likewise.
54550 * kern/misc.c (pupa_strcat): Enable function.
54551 (pupa_strncpy): New function.
54552 (pupa_strncmp): Likewise.
54553 * fs/ext2.c: New file.
f19dbdb7 54554
bfd30f06 54555 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
54556 when the read failed before retrying.
54557 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
54558 (_FILE_OFFSET_BITS): Likewise.
54559 * configure.ac: Added AC_SYS_LARGEFILE.
54560
98d15063 545612003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54562
54563 * genmk.rb (PModule#rule): Make sure to get only symbol names
54564 from the output of nm.
59cad637 54565 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 54566
18d9c7cd 545672003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54568
54569 I forgot to check in these changes for a long time. This adds
54570 incomplete support for VGA console, and this is still very
54571 buggy. Also, a lot of consideration is required for I18N,
54572 UNICODE, and VGA font issues. Therefore, assume that this is
54573 such that "better than nothing".
f19dbdb7 54574
18d9c7cd 54575 * font/manager.c: New file.
54576 * include/pupa/font.h: Likewise.
54577 * include/pupa/i386/pc/vga.h: Likewise.
54578 * term/i386/pc/vga.c: Likewise.
54579 * util/unifont2pff.rb: Likewise.
54580
54581 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
54582 (pkgdata_MODULES): Added vga.mod and font.mod.
54583 (vga_mod_SOURCES): New variables.
54584 (vga_mod_CFLAGS): Likewise.
54585 (font_mod_SOURCES): Likewise.
54586 (font_mod_CFLAGS): Likewise.
54587
54588 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
54589
54590 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 54591 (struct pupa_term): Added init and fini.
18d9c7cd 54592 Changed the argument of putchar to pupa_uint32_t.
54593
54594 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
54595 (pupa_console_real_putchar): New prototype.
54596 (pupa_console_putchar): Removed.
54597 (pupa_console_checkkey): Exported.
54598 (pupa_console_getkey): Likewise.
54599
54600 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
54601 characters.
54602
54603 * kern/term.c (pupa_term_set_current): Rewritten.
54604 (pupa_putchar): Likewise.
54605 (pupa_putcode): New function.
54606
54607 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
54608 (pupa_console_real_putchar): ... this.
54609 (pupa_vga_set_mode): New function.
54610 (pupa_vga_get_font): Likewise.
54611
54612 * normal/command.c: Include pupa/term.h.
54613 (terminal_command): New function.
54614 (pupa_command_init): Register the command "terminal".
54615
54616 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
54617 (DISP_UP): Likewise.
54618 (DISP_RIGHT): Likewise.
54619 (DISP_DOWN): Likewise.
54620 (DISP_HLINE): Likewise.
54621 (DISP_VLINE): Likewise.
54622 (DISP_UL): Likewise.
54623 (DISP_UR): Likewise.
54624 (DISP_LL): Likewise.
54625 (DISP_LR): Likewise.
54626
54627 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 54628
977329f5 546292003-02-08 NIIBE Yutaka <gniibe@m17n.org>
54630
54631 * util/resolve.c (pupa_util_resolve_dependencies): BUG
54632 FIX. Reverse the path_list.
54633
54634 * include/pupa/normal.h: Export pupa_register_command and
54635 pupa_unregister_command.
54636
54637 * hello/hello.c (pupa_cmd_hello): New module.
54638 * conf/i386-pc.rmk: Added hello.mod.
54639
1f5ab428 546402003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
54641
54642 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 54643
1f5ab428 54644 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
54645 (compress_kernel): New variable.
54646 (generate_image): Heavily modified to support compressing a
54647 large part of the core image.
54648
54649 * util/misc.c (pupa_util_read_image): Fix a file descriptor
54650 leak.
54651 (pupa_util_load_image): New function.
54652
54653 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
54654 (pupa_compressed_size): New variable.
54655 (codestart): Enable Gate A20 here.
54656 Decompress the compressed part of the core image.
54657 Rearrange the code to put functions and variables which are
54658 required for initialization in the non-compressed part.
54659 Include lzo1x.S.
54660
54661 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
54662 here.
54663
54664 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
54665
f19dbdb7 54666 * include/pupa/i386/pc/kernel.h
1f5ab428 54667 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
54668 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
54669 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54670 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54671 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
54672
54673 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
54674
54675 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
54676 (Utility#rule): Likewise.
54677
54678 * configure.ac: Check if LZO is available.
54679
ce5bf700 546802003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
54681
54682 * include/pupa/normal.h: New file.
54683 * include/pupa/setjmp.h: Likewise.
54684 * include/pupa/i386/setjmp.h: Likewise.
54685 * normal/cmdline.c: Likewise.
54686 * normal/command.c: Likewise.
54687 * normal/main.c: Likewise.
54688 * normal/menu.c: Likewise.
54689 * normal/i386/setjmp.S: Likewise.
f19dbdb7 54690
ce5bf700 54691 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
54692 (pupa_rescue_cmd_initrd): Likewise.
54693
54694 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
54695 Likewise.
54696
54697 * kern/i386/pc/startup.S (translation_table): New variable.
54698 (translate_keycode): New function.
54699 (pupa_console_getkey): Call translate_keycode.
54700
54701 * kern/rescue.c (attempt_normal_mode): New function.
54702 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
54703 it failed, print a message.
54704
54705 * kern/mm.c (pupa_real_malloc): Print more information when a
54706 free magic is broken.
54707 (pupa_free): If the first free header is not free actually, set
54708 it to P.
54709
54710 * kern/main.c (pupa_load_normal_mode): Just load the module
54711 "normal".
54712 (pupa_main): Don't print the message
54713 "Entering into rescue mode..." here.
54714
54715 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
54716 Declared.
54717 (pupa_rescue_cmd_initrd): Likewise.
54718 (pupa_rescue_cmd_initrd): Likewise.
54719
54720 * include/pupa/symbol.h (FUNCTION): Specify the type.
54721 (VARIABLE): Likewise.
54722
54723 * include/pupa/err.h (pupa_err_t): Added
54724 PUPA_ERR_UNKNOWN_COMMAND.
54725
54726 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
54727 (pupa_dl_get_prefix): Likewise.
54728
54729 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
54730 Added _chain.mod and _linux.mod instead of chain.mod and
54731 linux.mod.
54732 (chain_mod_SOURCES): Renamed to ...
54733 (_chain_mod_SOURCES): ... this.
54734 (chain_mod_CFLAGS): Renamed to ...
54735 (_chain_mod_CFLAGS): ... this.
54736 (linux_mod_SOURCES): Renamed to ...
54737 (_linux_mod_SOURCES): ... this.
54738 (linux_mod_CFLAGS): Renamed to ...
54739 (_linux_mod_CFLAGS): ... this.
54740 (normal_mod_SOURCES): New variable.
54741 (normal_mod_CFLAGS): Likewise.
54742 (normal_mod_ASFLAGS): Likewise.
54743
547442003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
54745
54746 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
54747 possible.
54748
fe6b695a 54749 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 54750 recursively.
54751 (pupa_dl_unref): Unrefer depending modules recursively.
54752 Don't call pupa_dl_unload implicitly, because PUPA can crash if
54753 a module is unloaded before one depending on that module is
54754 unloaded.
54755 (pupa_dl_unload): Unload depending modules explicitly,
54756 if possible.
54757
c04da074 547582003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
54759
54760 * include/pupa/i386/pc/linux.h: New file.
54761 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 54762
c04da074 54763 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
54764 Removed.
54765 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
54766 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
54767 of PUPA_CHAINLOADER_BOOT_SECTOR.
54768
54769 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
54770 (pupa_linux_prot_size): New variable.
54771 (pupa_linux_tmp_addr): Likewise.
54772 (pupa_linux_real_addr): Likewise.
54773 (pupa_linux_boot_zimage): New function.
54774 (pupa_linux_boot_bzimage): Likewise.
54775
54776 * kern/i386/pc/init.c (struct mem_region): New structure.
54777 (MAX_REGIONS): New macro.
54778 (mem_regions): New variable.
54779 (num_regions): Likewise.
54780 (pupa_os_area_addr): Likewise.
54781 (pupa_os_area_size): Likewise.
54782 (pupa_lower_mem): Likewise.
54783 (pupa_upper_mem): Likewise.
54784 (add_mem_region): New function.
54785 (compact_mem_regions): Likewise.
54786 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
54787 the size of the conventional memory and that of so-called upper
54788 memory (before the first memory hole).
54789 Instead of adding each found region to free memory, use
54790 add_mem_region and add them after removing overlaps.
54791 Also, add only 1/4 of the upper memory to free memory. The rest
54792 is used for loading OS images. Maybe this is ad hoc, but this
54793 makes it much easier to relocate OS images when booting.
54794
54795 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
54796 (pupa_enter_rescue_mode): Don't register initrd and module.
54797
54798 * kern/mm.c: Include pupa/dl.h.
54799
54800 * kern/main.c: Include pupa/file.h and pupa/device.h.
54801
54802 * kern/loader.c (pupa_loader_load_module_func): Removed.
54803 (pupa_loader_load_module): Likewise.
54804
54805 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
54806 ``.o''.
54807
54808 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
54809 (pupa_linux_tmp_addr): Likewise.
54810 (pupa_linux_real_addr): Likewise.
54811 (pupa_linux_boot_zimage): Likewise.
54812 (pupa_linux_boot_bzimage): Likewise.
54813
54814 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
54815 (pupa_upper_mem): Likewise.
54816 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
54817 module is too dangerous.
54818
54819 * include/pupa/loader.h (pupa_os_area_addr): Declared.
54820 (pupa_os_area_size): Likewise.
54821 (pupa_loader_set): Remove the first argument. Loader doesn't
54822 manage modules or initrd any longer.
54823 (pupa_loader_load_module): Removed.
54824
54825 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
54826 (linux_mod_SOURCES): New variable.
54827 (linux_mod_CFLAGS): Likewise.
54828
a13f9237 548292003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
54830
54831 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
54832 the length of a blocklist correctly.
54833
54834 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
54835 Use ioctl only if the OS file is a block device.
54836 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
54837 not very useful for normal files.
54838
54839 * kern/main.c (pupa_set_root_dev): New function.
54840 (pupa_load_normal_mode): Likewise.
54841 (pupa_main): Call those above.
54842
54843 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
54844 pupa_uint16_t.
54845
54846 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
54847
a5ffe966 548482003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
54849
54850 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
54851 (setup): Configure the installed partition information and the
54852 dl prefix.
54853
54854 * loader/i386/pc/chainloader.c (my_mod): New variable.
54855 (pupa_chainloader_unload): New function.
54856 (pupa_rescue_cmd_chainloader): Refer itself.
54857 (PUPA_MOD_INIT): Save its own module in MY_MOD.
54858
54859 * kern/i386/pc/startup.S (install_partition): Removed.
54860 (version_string): Likewise.
54861 (config_file): Likewise.
54862 (pupa_install_dos_part): New variable.
54863 (pupa_install_bsd_part): Likewise.
54864 (pupa_prefix): Likewise.
54865 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
54866
54867 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
54868 and pupa/misc.h.
54869 (make_install_device): New function.
54870 (pupa_machine_init): Set the dl prefix.
54871
54872 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
54873 (buf): Renamed to ...
54874 (linebuf): ... this.
54875 (pupa_rescue_cmd_prefix): New function.
54876 (pupa_rescue_cmd_insmod): Likewise.
54877 (pupa_rescue_cmd_rmmod): Likewise.
54878 (pupa_rescue_cmd_lsmod): Likewise.
54879 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
54880 rmmod and lsmod.
54881
54882 * kern/mm.c (pupa_memalign): If failed even after invalidating
54883 disk caches, unload unneeded modules and retry.
54884
54885 * kern/misc.c (pupa_memmove): New function.
54886 (pupa_memcpy): Removed.
54887 (pupa_strcpy): New function.
54888 (pupa_itoa): Made static.
54889
54890 * kern/dl.c (pupa_dl_iterate): New function.
54891 (pupa_dl_ref): Likewise.
54892 (pupa_dl_unref): Likewise.
54893 (pupa_dl_unload): Return if succeeded or not.
54894 (pupa_dl_unload_unneeded): New function.
54895 (pupa_dl_unload_all): Likewise.
54896 (pupa_dl_init): Renamed to ...
54897 (pupa_dl_set_prefix): ... this.
54898 (pupa_dl_get_prefix): New function.
54899
54900 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
54901 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
54902 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54903 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54904 (pupa_install_dos_part): Declared.
54905 (pupa_install_bsd_part): Likewise.
54906 (pupa_prefix): Likewise.
54907 (pupa_boot_drive): Likewise.
54908
54909 * include/pupa/types.h: Fix a typo.
54910
54911 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
54912 pupa_memmove.
54913 (pupa_memmove): Declared.
54914 (pupa_strcpy): Likewise.
54915
54916 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
54917 pupa_mod_init takes one argument, its own module.
54918 (pupa_dl_unload_unneeded): Declared.
54919 (pupa_dl_unload_all): Likewise.
54920 (pupa_dl_ref): Likewise.
54921 (pupa_dl_unref): Likewise.
54922 (pupa_dl_iterate): Likewise.
54923 (pupa_dl_init): Renamed to ...
54924 (pupa_dl_set_prefix): ... this.
54925 (pupa_dl_get_prefix): Declared.
54926
54927 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 54928 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 54929 unloaded.
54930 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
54931 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
54932
54933 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
54934 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
54935
012d7999 549362003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54937
54938 * util/i386/pc/pupa-setup.c (setup): Define the internal
54939 function find_first_partition_start at the top level, because GCC
54940 3.0.x cannot compile internal functions in deeper scopes
54941 correctly.
54942 (find_root_device): Use lstat instead of stat.
54943 Don't follow symbolic links.
54944 Fix the path-constructing code.
54945
54946 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
54947 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
54948 by a BLKGETSIZE ioctl first, because block devices don't fill
54949 the member st_mode of the structure stat on Linux.
54950 [__linux__] (linux_find_partition): Use a temporary buffer
54951 REAL_DEV for the working space. Copy it to DEV before returning.
54952 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
54953 buffer cache consistent.
54954 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
54955 strncmp. The previous value was merely wrong.
54956 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
54957
54958 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
54959 FAT size is 12. The previous value was merely wrong.
54960
54961 * kern/main.c (pupa_main): Don't split the starting message from
54962 newlines.
54963
54964 * kern/term.c (pupa_putchar): Put CR after LF instead of before
54965 LF, because BIOS goes crazy about character attributes in this
54966 case.
54967
1cc73a62 549682003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54969
54970 * include/i386/pc/util/biosdisk.h: New file.
54971 * util/i386/pc/biosdisk.c: Likewise.
54972 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 54973
1cc73a62 54974 * Makefile.in (INCLUDE_DISTFILES): Added
54975 include/pupa/i386/pc/util/biosdisk.h.
54976 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
54977 directory util/i386/pc.
54978 (install-local): Added a rule for sbin_UTILITIES.
54979 (uninstall): Likewise.
54980
54981 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
54982
54983 * util/misc.c (xrealloc): New function.
54984 (pupa_malloc): Likewise.
54985 (pupa_free): Likewise.
54986 (pupa_realloc): Likewise.
54987 (pupa_stop): Likewise.
54988 (pupa_putchar): Likewise.
54989
54990 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
54991
54992 * include/pupa/util/misc.h (xrealloc): Declared.
54993
54994 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
54995 macro.
54996 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
54997 (PUPA_BOOT_MACHINE_BPB_END): ... this.
54998
54999 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
55000 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55001
55002 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
55003 way should be implemented.
55004 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55005
55006 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
55007 the size of NAME for safety.
55008 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
55009 0x88.
55010
55011 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
55012 (pupa_setup_SOURCES): Likewise.
55013
55014 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
55015
08b70fe8 550162002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55017
55018 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
55019 bunch of pushl's from pusha, because this destroys the return
55020 value.
55021
62ddcc8f 550222002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55023
55024 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
55025 This means that any missing prototypes could be fatal. Also, you
55026 must take care when writing assembly code. See the comments at
55027 the beginning of startup.S, for more details.
f19dbdb7 55028
62ddcc8f 55029 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
55030 compilation mechanism.
55031 (pupa_chainloader_real_boot): Likewise.
55032 (pupa_biosdisk_rw_int13_extensions): Likewise.
55033 (pupa_biosdisk_rw_standard): Likewise.
55034 (pupa_biosdisk_check_int13_extensions): Likewise.
55035 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
55036 (pupa_biosdisk_get_diskinfo_standard): Likewise.
55037 (pupa_get_memsize): Likewise.
55038 (pupa_get_mmap_entry): Likewise.
55039 (pupa_console_putchar): Likewise.
55040 (pupa_console_setcursor): Likewise.
55041 (pupa_getrtsecs): Use pushl instead of push.
55042
55043 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
55044 memory instead of the stack for a mmap entry, because some
55045 BIOSes may ignore the maximum size and overflow.
55046
55047 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
55048
55049 * genmk.rb (PModule#rule): Compile automatically generated
55050 sources with module-specific CFLAGS as well as other sources.
55051
9962ed99 550522002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55053
55054 * configure.ac: Check ld.
55055 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
55056 respectively, before checking endianness and sizes.
55057
55058 * Makefile.in (LD): New variable.
f19dbdb7 55059
abdfc3c5 550602002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55061
55062 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
55063
6a161fa9 550642002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55065
55066 * Changelog: New file.
55067